Agent skill
time-boxing
马斯克时间盒管理法:时间固定,范围可变。用 MVU 驱动 AI 在限定时间内最大化交付完成度,而非完美主义。触发词:时间盒、启动任务、mvu、限时完成。
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/deep-work-tracker
SKILL.md
Time Boxing - 马斯克时间盒管理法
核心理念:AI 不需要休息,需要的是完成欲与进度的配合
公式:时间固定 × 范围可变 = MVU 最大化交付
问题诊断
| 传统工作模式 | 时间盒模式 |
|---|---|
| 目标:"把这个功能做完美" | 目标:"在 30 分钟内交付最高完成度的 MVU" |
| 在小问题上纠缠 20 分钟 | 小问题标记为 TODO,先完成核心 |
| 2 小时后核心功能还没跑通 | 30 分钟后 MVU 可演示 |
| 完美主义导致进度阻塞 | 完成主义驱动快速迭代 |
根本解法:用时间盒强制 AI 做价值优先级判断
核心概念
MVU (Minimum Viable Unity)
定义:在限定时间内,能独立运行、可演示、有用户价值的最小功能单元
| 项目类型 | MVU 示例 |
|---|---|
| 登录功能 | 能登录成功,错误提示可以暂时简陋 |
| 数据看板 | 核心指标能显示,样式可以后续优化 |
| API 接口 | 主流程能调通,边界 case 可以后置 |
| 文档系统 | 核心章节完成,格式可以后续美化 |
关键判断:
- ✅ 没有它,功能无法运行 → MVU 必须做
- ⚠️ 没有它,功能能跑但不够好 → MVU 完成后优化
- ❌ 有了更好,没有也行 → 直接砍掉
时间盒工作机制
0. 时间感知系统(核心,必须)
问题:AI 无法感知时间流逝,会话中没有"时钟"概念
解法:用系统命令 + 定时提醒形成时间感知
# 获取当前时间
date +"%H:%M:%S"
# 获取时间戳(秒)
date +%s
# 计算剩余时间(示例:deadline - now)
echo $((deadline_ts - $(date +%s)))
实现方式:
| 方式 | 频率 | 说明 |
|---|---|---|
| 启动时记录 deadline | 1 次 | deadline=$(date -d "+30 minutes" +%s) |
| 每次工具调用前检查 | 每次 | 在输出工具调用前,先用 date 命令 |
| 每完成一个任务报告 | 触发式 | "P0 项完成,现在时间 HH:MM,剩余 XX 分钟" |
| 用户问时间时 | 触发式 | 立即用 date 命令回答 |
**强制规则**:
- ❌ 禁止凭空说"大概过了 10 分钟"
- ✅ 必须用 `date` 命令获取当前时间
- ✅ 每次报告进度时必须附带当前时间和剩余时间
---
### 1. 任务启动时必须定义
```markdown
## 时间盒定义
| 要素 | 内容 |
|------|------|
| **任务目标** | [一句话描述要做什么] |
| **时间盒长度** | 10min / 20min / 30min(默认 10min) |
| **结束时间** | HH:MM(绝对时间) |
| **MVU 定义** | [什么是可演示的最小功能] |
| **MVU 完成标准** | [怎样算 MVU 完成] |
2. MVU 优先级分层
P0 - MVU 核心(必须完成)
├── 没有它功能无法运行
├── 没有它用户无法理解
└── 占时间盒 60-70% 时间
P1 - MVU 增强(时间允许再做)
├── 让功能更好用
├── 让界面更美观
└── 占时间盒 20-30% 时间
P2 - 锦上添花(有剩余时间)
├── 动效优化
├── 边界 case 处理
└── 占时间盒 0-10% 时间
3. 时间盒执行规则
| 规则 | 说明 |
|---|---|
| 时间一到必须停止 | 不管完成度如何,到点就停 |
| 先交付再优化 | MVU 完成后才能做 P1/P2 |
| 小问题不纠缠 | 单个问题>5 分钟→标记 TODO 继续 |
| 进度透明化 | 每 10 分钟报告 MVU 完成度% |
时间盒决策树
遇到问题/卡点
│
├── 影响 MVU 核心功能吗?
│ │
│ ├── 是 → 有现成方案吗?
│ │ │
│ │ ├── 有 → 立即应用 (限时 3min)
│ │ └── 没有 → 用 Workaround 绕过 (限时 5min)
│ │ │
│ │ └── 还是搞不定?→ 降级 MVU 范围
│ │
│ └── 否 → 标记 TODO,继续
│
└── 时间剩余多少?
│
├── >50% → 可以继续打磨
├── 20-50% → 收缩范围,保 MVU
└── <20% → 停止新功能,收尾交付
进度追踪
进度文件格式:.agent/time-box.json
{
"box_id": "tb-20260318-001",
"task": "用户登录功能",
"started": "2026-03-18T10:00:00+08:00",
"deadline": "2026-03-18T10:30:00+08:00",
"duration_minutes": 30,
"mvu": {
"definition": "用户输入账号密码能登录成功,错误有基本提示",
"completion_criteria": [
"登录表单能提交",
"正确密码能跳转",
"错误密码有提示"
]
},
"priority_layers": {
"P0": [
{"item": "登录表单 UI", "status": "done", "time_spent": 8},
{"item": "API 调用逻辑", "status": "done", "time_spent": 10},
{"item": "错误处理", "status": "in_progress", "time_spent": 5}
],
"P1": [
{"item": "表单验证", "status": "pending"},
{"item": "记住我功能", "status": "pending"}
],
"P2": [
{"item": "动效优化", "status": "pending"},
{"item": "UI 美化", "status": "pending"}
]
},
"time_checkpoints": [
{"elapsed": 10, "mvu_progress": 40, "note": "表单完成", "clock": "10:10:23"},
{"elapsed": 20, "mvu_progress": 75, "note": "API 调通", "clock": "10:20:15"}
],
"clock": {
"start_ts": 1710732600,
"deadline_ts": 1710734400,
"last_check": "10:20:15",
"remaining_minutes": 10
},
"todos": [
{"desc": "密码强度验证", "reason": "不影响核心登录"},
{"desc": "第三方登录", "reason": "MVU 不需要"}
],
"status": "in_progress"
}
时间盒协议
启动阶段
用户说"开始时间盒"或类似触发词
↓
1. 确认任务目标
2. 确认时间盒长度(默认 30min)
3. 执行 `date` 命令:
- 记录开始时间:start_time=$(date +"%H:%M:%S")
- 计算 deadline:deadline_ts=$(date -d "+30 minutes" +%s)
4. 定义 MVU 和完成标准
5. 创建 .agent/time-box.json
6. 报告:"时间盒启动,当前时间 HH:MM,结束时间 HH:MM"
执行阶段
每 10 分钟或完成一个 P0 项后:
↓
1. 执行 date +"%H:%M:%S" 获取当前时间
2. 计算剩余时间:deadline - now
3. 更新 time-box.json
4. 报告:当前时间 / 已用时间 / MVU 完成度% / 剩余 P0 项
5. 判断:按当前速度能按时完成 MVU 吗?
│
├── 能 → 继续
└── 不能 → 收缩范围,砍掉低优先 P0 项
时间检查点命令:
# 快速检查时间(每次工具调用前执行)
now=$(date +%s); deadline=1710734400; echo "当前:$(date +%H:%M), 剩余:$(( (deadline-now)/60 )) 分钟"
结束阶段
时间盒到期(提前 5 分钟提醒):
↓
1. 执行 `date` 命令确认时间
2. 停止新功能开发
3. 确保 MVU 能跑起来
4. 清理临时代码
5. 输出交付报告
6. 记录 TODO 清单(给下个时间盒)
7. 执行 `date` 命令记录结束时间
提前 5 分钟提醒:
# 检查是否剩余<5 分钟
now=$(date +%s)
if [ $((deadline_ts - now)) -lt 300 ]; then
echo "⚠️ 剩余时间 <5 分钟,停止新功能,准备收尾"
fi
交付报告模板
## 时间盒交付报告
**任务**: [任务名称]
**时间盒**: XX 分钟 (HH:MM - HH:MM)
**实际使用**: XX 分钟
### MVU 完成度
| P0 项 | 状态 | 说明 |
|-------|------|------|
| 项 1 | ✅ | |
| 项 2 | ✅ | |
| 项 3 | ⚠️ 部分 | 降级方案:xxx |
### P1/P2 完成情况
- P1 完成:X/Y 项
- P2 完成:0/0 项(正常,时间不够)
### 遗留 TODO
| 内容 | 优先级 | 建议放入下个时间盒 |
|------|--------|-------------------|
| xxx | 高 | 是 |
| yyy | 中 | 看时间 |
### 时间分配分析
- MVU 核心:XX%(目标 60-70%)
- 增强功能:XX%(目标 20-30%)
- 调试/卡点:XX%(目标<10%)
### 下一步建议
[给下个时间盒的建议]
与其他 Skill 协作
| Skill | 协作方式 |
|---|---|
| product-builder | 时间盒用于 Phase 2-3 的快速实现,MVU 定义来自 PRD |
| task-list | 每个时间盒对应 1-3 个 TaskList 任务 |
| git-commit | 时间盒结束时自动 commit,message 包含 MVU 完成度 |
触发词
| 优先级 | 触发词 | 动作 |
|---|---|---|
| 高 | 启动时间盒、限时 XX 分钟、做个 mvu | 启动时间盒 |
| 高 | 时间盒状态、mvu 进度、还剩多久 | 报告进度 |
| 高 | 结束时间盒、交付 | 输出交付报告 |
| 中 | 先不管 XX 了、这个后面再说 | 标记 TODO,收缩范围 |
时间盒长度建议
| 任务类型 | 建议长度 | 说明 |
|---|---|---|
| 小功能/修复 | 10min | 快速迭代,强制收缩范围 |
| 中等功能 | 20min | 可拆成 2 个小时间盒 |
| 大功能 | 30min | 需要分多个时间盒完成 |
| 复杂模块 | 3×30min | 拆成 3 个独立时间盒 |
| 探索性任务 | 10min | 先探路,再决定 |
原则:
- 时间盒越短,MVU 定义越要保守
- 默认从 10 分钟开始,不够再加
- 30 分钟是上限,超过必须拆分
核心原则
完成比完美重要,迭代比一步到位现实
- 时间固定 - 到点就停,不延长
- MVU 优先 - P0 不完不成,绝不做 P1
- 完成欲驱动 - 每个时间盒必须有可交付成果
- 问题不纠缠 - 单问题>5 分钟→Workaround 或降级
- 透明化进度 - 每 10 分钟报告 MVU 完成度
- 时间感知 - 每次报告前必须执行
date命令,禁止凭空估计
时间感知协议(新增,必须)
| 时机 | 命令 | 用途 |
|---|---|---|
| 启动时间盒 | date +"%H:%M:%S" |
记录开始时间 |
| 设置 deadline | date -d "+30 minutes" +%s |
计算截止时间戳 |
| 每次进度报告前 | date +"%H:%M:%S" |
获取当前时间 |
| 计算剩余时间 | echo $((deadline_ts - $(date +%s))) |
剩余秒数 |
| 结束时间盒 | date +"%H:%M:%S" |
记录结束时间 |
强制规则:
- ❌ 禁止说"大概过了 X 分钟"
- ✅ 必须用
date命令获取准确时间 - ✅ 进度报告格式:"当前时间 HH:MM,已用 XX 分钟,剩余 XX 分钟,MVU 完成度 XX%"
快速时间检查命令
反模式(禁止行为)
| 行为 | 为什么错 | 正确做法 |
|---|---|---|
| ❌ 为了完美延迟交付 | 时间盒失去意义 | 到点交付,完美放下个盒 |
| ❌ 在一个 bug 上花 30 分钟 | MVU 完成度降低 | 10 分钟搞不定就绕过 |
| ❌ MVU 没完成就做 P1 | 优先级错乱 | P0 全部完成前禁止碰 P1 |
| ❌ 时间盒结束后继续做 | 破坏节奏 | 停,休息或开新盒 |
| ❌ 不定义 MVU 就开始 | 没有完成标准 | 先定义 MVU 再启动 |
快速时间检查命令
# 完整检查(推荐)
now=$(date +%s); clock=$(date +"%H:%M:%S"); remaining=$(( (deadline_ts - now) / 60 ))
echo "当前时间:$clock, 剩余:$remaining 分钟"
# 简单检查
date +"当前时间:%H:%M:%S"
# 剩余时间百分比
now=$(date +%s); elapsed=$(( now - start_ts )); total=$(( deadline_ts - start_ts ))
echo "时间进度:$(( elapsed * 100 / total ))% 已用"
示例:完整时间盒会话(带时间感知)
用户:用 10 分钟做个登录功能
## Claude 响应:
### 时间盒定义
- 任务:用户登录功能
- 时间盒:10 分钟 (10:00-10:10)
- MVU:用户输入账号密码能登录,错误有基本提示
### P0 优先级(必须完成)
1. 登录表单 UI(3min)
2. API 调用逻辑(4min)
3. 错误提示(2min)
4. 登录成功跳转(1min)
### P1(时间允许再做)
- 表单验证
- 记住我
### P2(不做)
- 动效
- UI 美化
---
[启动] 时间盒开始,当前时间 10:00:00,结束时间 10:10:00
[10:03] 进度报告:已用 3min, 剩余 7min, MVU 30%, 表单完成
[10:06] 进度报告:已用 6min, 剩余 4min, MVU 70%, API 调通
[10:08] 提醒:剩余 2 分钟,停止新功能,收尾
[10:10] 交付报告:MVU 完成
---
## 交付报告
**MVU 完成度**: 100%
**P1 完成**: 0/2 项(正常,时间不够)
**实际用时**: 10 分钟 (10:00-10:10)
**遗留 TODO**: 表单验证、记住我、UI 美化
版本:v3.0 (马斯克时间盒版) | 最后更新:2026-03-18
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?