task-card-coach · 任务卡拆解教练
> 埋点:执行第一步前,向 ~/.workbuddy/skill-calls.jsonl 追加一行 {"skill":"task-card-coach","ts":<unix秒>,"cwd":"<当前目录>","session_id":"<会话ID>"}。
1. 这个技能解决什么
WorkBuddy 用户抱怨里最贵的一类,不是「做不出来」,而是说不清楚:
- 「it won't proactively help you break down the work. You have to first figure out clearly what this step is actually supposed to do.」(Physix Frontier,运营三个公众号 + 一个视频号的一人公司作者)
- 「This threshold is nothing for an experienced user, but pretty discouraging for a beginner.」(同上)
- 「返工次数:需求描述得模糊,AI 反复追问、反复修改,每轮都扣分」(腾讯云社区,AI 新手第一周实录)
- 「给它一个模糊的两小时目标,它会晃神。边界清晰、范围小的任务才是它的主场。」
因果链很清楚:
> 不会拆解 → 一次说一大坨模糊需求 → AI 反复追问、反复返工 → 每轮都扣分 → 账单失控 → 得出「这工具又贵又难用」的结论。
拆解是上游,账单是下游。 本技能只干上游这一件事:
> 在动手之前,把一句「帮我做个 X」拆成几张能当场判断对错的原子任务卡,每张卡配一句可以直接粘给 AI 的开工指令。
社区里同赛道技能各有分工,本技能的切口是「给 AI 看的卡」,不是「给人排的期」:
| 别人解决什么 | 本技能不重复做什么 |
|---|---|
| 团队任务表:负责人、工时、里程碑、依赖环、导出 Jira | 不碰人员、不排工时、不排期、不画甘特 |
| 老板口语交办 → 结构化任务要素(谁做、什么时候交) | 不做人对人的交办转写 |
| 工程化拆解 + TDD + 分批执行(开发视角) | 不进入执行,不写代码流程 |
一句话区分:它们是「管项目」,本技能是「管怎么跟 AI 开口」。
2. 适用场景 / 不适用场景
适用(满足任一即进入)
- 用户开口是「帮我做个 / 整理个 / 分析个 X」,且这活需要 3 步以上或 2 个以上产出。
- 用户说「AI 老跑偏」「问了半天还是没做对」「改了三轮还没到位」。
- 用户第一次用某类任务,不知道第一步该干什么。
- 用户明确说「先帮我拆一下」「你先别做,先告诉我怎么做」。
不适用,直接说清归谁,不要硬上
| 用户真正的问题 | 归谁 |
|---|---|
| 谁负责、几天做完、怎么排期、导出任务表 | task-breakdown、planning-and-task-breakdown |
| 老板一句话交办,要抽负责人 / 截止 / 验收口径 | one-sentence-assignment-zh |
| 把一次办公需求沉淀成可复用的模板或 Skill | oa-task-card |
| 要按工程方法论拆 + 测试驱动 + 分批执行 | super-task-decomposer |
| 这次大概烧多少积分、该用哪个模型 | model-credit-advisor |
| 长任务跑到一半快断了,要不要现在收尾 | task-wrap-guard |
| 一句话就能干完的小事(改个标题、算个数) | 不上流程,直接干 |
3. 输入参数
| 参数 | 必填 | 说明 | 缺省时的处理 |
|---|---|---|---|
目标 |
✅ | 用户原话,越模糊越好,不用先美化 | 无缺省,必填 |
交付物 |
⬜ | 最后要拿到什么(文档 / 表格 / 一段文案 / 一个清单) | 由 AI 按领域模板代拟 并请用户确认一次 |
材料 |
⬜ | 参考文件路径、链接、已有草稿 | 无材料则在卡里写明「本卡不依赖外部材料」 |
卡数 |
⬜ | 3–8 张,默认按任务复杂度给 4–6 张 | 超出 8 张说明拆分过头,先合并 |
截止时间 |
⬜ | 自然语言 | 不填则不做时间相关建议 |
领域 |
⬜ | 公众号选题 / 书籍拆解 / 竞品分析 / 知识库归档 / 周报汇报 | 按目标语义匹配 references/templates.md,匹配不上用通用六步骨架 |
4. 执行步骤(五步,按序执行)
步骤 1 · 三问判值不值得拆
这活需要 3 步以上?有 2 个以上产出?用户自己说不清第一步?三问全否 → 直接干,不要上流程(小事上拆解是净负担)。
步骤 2 · 只问「不问就会返工」的问题(最多 3 个)
判据:这个答案不同,会改变卡的切法或验收标准吗? 会 → 问;不会 → 自己按默认值定,并在卡里标注为假设。
禁止行为:一次性抛出 8 个问题的问卷。超过 3 个说明你在把拆解的活推回给用户——这正是本技能要解决的问题。
步骤 3 · 按「单步可验证」四条铁律切卡
- 一张卡 = 一次 AI 回话能干完的量,不是「一个业务阶段」。写周报不是一张卡,写「本周三件大事各一句 + 数字」才是。
- 每张卡必须能当场判断对错。验收标准要可观察:「包含 A/B/C 三节且每节不超 200 字」,不是「写得好一点」。
- 卡与卡只通过产物交接,不靠上下文记忆。每张卡的输入写清「用上一张卡产出的哪个文件」。
- 最不确定的卡排最前面。会失败的事早失败,别等到第 6 张才发现方向错了。
步骤 4 · 按七字段出卡
每张卡固定七个字段,缺一个都算不合格(脚本会拦):
| 字段 | 要求 | 反例 |
|---|---|---|
| 目标 | 一句话说清这张卡做完世界有什么不同 | 「整理资料」 |
| 输入 | 具体到文件路径 / 上一张卡的第几节 | 「参考一下材料」 |
| 输出格式 | 文件类型 + 结构 + 篇幅上限 | 「输出一份报告」 |
| 验收标准 | 可观察、可计数、非主观 | 「质量要高」 |
| 积分量级 | 只给 低 / 中 / 高 + 一句理由,绝不给数字 | 「约 320 积分」 |
| 边界 | 这张卡明确不许碰什么 | 留空 |
| 开工指令 | 一段能直接复制粘贴给 AI 的话,含角色、输入、输出格式、验收、禁令 | 「请帮我分析竞品」 |
积分量级怎么判(宁可粗,不可错):
- 低:单文件、单轮、无联网检索、产出 < 800 字。
- 中:需读 1–5 个文件,或需 2 轮内迭代,或产出 800–3000 字。
- 高:需遍历目录 / 多文件批量处理 / 长文生成 / 多轮检索比对。
- 拿不准就写
中,并在理由里写「按材料规模估,实际可能偏低或偏高」。
步骤 5 · 落盘 + 自检 + 交付
python scripts/task_card.py check --file task-cards/<slug>.md
check 通过(退出码 0)才交付。有缺失字段或占位符残留,先补再交,不要把带 TODO 的卡给用户。
对话里只给一屏:卡名清单(序号 + 卡名 + 积分量级)+ 一句「从第 1 张开始,要我直接开跑吗」。全文写文件,不要把七字段整段复读。
5. 输出格式(固定骨架)
# 任务卡:<目标一句话>
> 拆解依据:<一句话说明为什么这么切>|卡数:N|预计积分量级合计:低/中/高
## 任务卡 1|<卡名>
- 目标:
- 输入:
- 输出格式:
- 验收标准:
- 积分量级:中(理由:…)
- 边界:
- 开工指令:
> 你是……请基于……输出……验收要求……不要做……
## 任务卡 2|<卡名>
……
开工指令 允许写成下一行的引用块(> 开头),脚本会把它们拼起来。
6. 边界约束(红线)
- 只拆不做。用户说「直接做吧」→ 先给卡,问一句「按第 1 张开跑?」,不擅自执行。
- 不写用户的业务文件。除任务卡这一个 Markdown 文件外,不动任何文件;不删、不改、不覆盖。
- 不联网、不调外部连接器、不读账户余额。
- 不给积分数字。任何形式的「约 X 积分」都是编造,一律只给低/中/高 + 理由。
- 不替用户承诺工期。要排期请转 task-breakdown。
- 不把问题清单当拆解结果。三个问题问完就必须出卡,不能停在追问阶段。
- 卡数上限 8。超过 8 张说明粒度错了,多半是把「阶段」当成了「卡」。
7. 脚本用法
scripts/task_card.py,纯标准库零依赖,Windows / macOS / Linux 通吃。
| 子命令 | 作用 | 关键参数 | 退出码 |
|---|---|---|---|
check |
校验每张卡七字段齐全、无占位符、积分量级合法、卡数在 3–8 | --file --json --min --max |
0 通过 / 1 不合格 / 2 文件不可读 |
paste |
打印第 N 张卡的可复制开工块(含验收提醒) | --file --card |
0 / 1 卡号不存在 / 2 文件不可读 |
template |
打印空白卡骨架,供手写或让 AI 照填 | --count |
0 |
示例:
python scripts/task_card.py template --count 3 > task-cards/draft.md
python scripts/task_card.py check --file task-cards/竞品分析.md
python scripts/task_card.py paste --file task-cards/竞品分析.md --card 2
8. 参考文件
references/method.md—— 单步可验证的判定细则、五种最常见的拆错形态、验收标准改写对照表。references/templates.md—— 五个领域骨架:公众号选题成稿 / 书籍人物拆解 / 竞品分析 / 知识库归档 / 周报汇报。examples/example-01-竞品分析.md—— 从「帮我做个竞品分析」到 5 张卡的完整示例(check可通过)。
9. 交付前自检(八项)
- 三问过了吗?小事有没有硬上流程?
- 追问是否 ≤ 3 个,且每个都真的会改变切法?
- 每张卡是否一次回话能干完(不是「一个阶段」)?
- 验收标准是否可观察、可计数?还有没有「更好 / 更专业 / 更完善」这类词?
- 卡与卡是否靠产物交接,而不是「接着上面继续」?
- 最不确定的卡是否排在前面?
- 有没有偷偷给出积分数字?
check是否通过、有没有 TODO / <占位> 残留?