Help us improve
Share bugs, ideas, or general feedback.
From slim-task
Use when the user invokes /slim-task or requests structured multi-phase task execution (structured task, SOP execution, parallel sub-agent dispatch) with blind-audit quality review.
npx claudepluginhub stoicatom/claude-autopilot --plugin slim-taskHow this skill is triggered — by the user, by Claude, or both
Slash command
/slim-task:slim-task [task description] [--lang zh-CN|en-US|...] [--worktree] [--base <branch>][task description] [--lang zh-CN|en-US|...] [--worktree] [--base <branch>]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
多阶段 SOP 编排器。主 Agent 只做检查/决策/派发/验证(主检子执),实现 Agent 做实际编码,审计 Agent 做独立盲审。任务按 DAG 拓扑序最大化并行。
Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
Share bugs, ideas, or general feedback.
多阶段 SOP 编排器。主 Agent 只做检查/决策/派发/验证(主检子执),实现 Agent 做实际编码,审计 Agent 做独立盲审。任务按 DAG 拓扑序最大化并行。
AskUserQuestion,禁止纯文本提问替代frontend-design 或 ui-ux-pro-max Skill${LANG}(默认 zh-CN);Conventional Commits 前缀保持英文;代码标识符/API 名/框架关键字保持原文<type>/<slug> 格式,type 限定为:feat / fix / refactor / docs / chore / test / perf;slug 仅含小写字母、数字、连字符;Phase 6 commit 前强制校验,不合规则阻断并提示重命名| 术语 | 含义 |
|---|---|
| 实现 Agent | Phase 4 中执行编码的子 Agent |
| 审计 Agent | Phase 5 中做质量检查的独立子 Agent(scope/practice/engineering) |
| 修复 Agent | Phase 5 中修复 issue 的独立子 Agent |
| Phase | 目标 | 关键产出 | 检查点 |
|---|---|---|---|
| 0 | 会话初始化 | 语言/Worktree 配置 + .gitignore 自检 | 标准检查点 → Phase 1 |
| 1 | 需求澄清 | 精炼需求摘要 | 标准检查点 → Phase 2 |
| 2 | 方案设计 | 方案 + 影响范围表 | 标准检查点 → Phase 3 |
| 3 | 文档固化 + DAG 拆分 | 任务文档 + DAG 图 | 标准检查点 → Phase 4 |
| 4 | DAG 并行执行 | 实现 Agent 交付物 | 标准检查点 → Phase 5 |
| 5 | 独立审计盲审 | 三维 audit.json | 标准检查点 → Phase 6 |
| 6 | 提交确认 | commit + 可选 push/PR | 两次独立决策卡 |
flowchart TD
P0[Phase 0 会话初始化] --> WT{--worktree?}
WT -->|是| EW[EnterWorktree 隔离] --> P1
WT -->|否| P1[Phase 1 需求澄清]
P1 --> P2[Phase 2 方案设计 + 影响范围表]
P2 --> P3[Phase 3 文档固化 + DAG 拆分]
P3 --> DAG{DAG 节点数}
DAG -->|单节点| INL[主 Agent 内联执行] --> P5
DAG -->|多节点| PAR[Phase 4 并行派发实现 Agent] --> P5[Phase 5 三维盲审]
P5 --> UI{涉及 UI?}
UI -->|是| VIS[追加视觉审查 Skill] --> AUD
UI -->|否| AUD{三维 audit.json 全 pass?}
AUD -->|有 issue, <3 轮| FIX[修复 Agent 独立 context] --> P5
AUD -->|3 轮未通过| STOP((停下交人工))
AUD -->|全 pass| P6[Phase 6 决策卡 1: commit]
P6 --> COMMIT[执行 commit] --> P6P[决策卡 2: push/PR]
P6P --> WTM{Worktree 模式?}
WTM -->|是| NOPUSH[禁止 push main / 询问保留 worktree] --> END
WTM -->|否| PUSH[按用户选择执行 push/PR] --> END((结束))
阅读约定:菱形为分支决策,圆角矩形为终止状态。任何分支判断失败时回退到上一个检查点,禁止跨级跳转。
每个 Phase 结束时必须执行以下检查点流程,无例外。
强制工具调用:
AskUserQuestion 工具发起决策卡决策卡标准格式:每个检查点决策卡至少包含 3 个选项:
选项标签按 ${LANG} 配置语言输出。
Phase 6 特殊规则:必须执行两次独立的 AskUserQuestion 决策卡:
两次决策卡严禁合并为单次询问。
历史指令不构成授权:用户在更早消息中的笼统指令(如"提交推送拉 PR"、"全部弄完")不能跳过任何检查点的 AskUserQuestion 调用。每个检查点必须在执行时刻重新获取授权。
--lang / --worktree / --base--lang > 仓库 .claude/slim-task.json 的 language 字段 > 默认 zh-CN.claude/slim-task.json(若不存在则创建)持久化为后续默认值.gitignore 自检(首次运行必检):
.gitignore 是否包含 .claude/slim-task.json 与 .claude/slim-task/(运行时配置 + Phase 5 审计落盘)AskUserQuestion 决策卡确认后追加,禁止静默写入;用户拒绝则继续但提示后续 commit 必须人工排除这些路径.gitignore 时:提示用户在仓库根创建并加入上述两条--worktree 未出现:跳过,保持当前工作树--worktree 出现:
a. AskUserQuestion 确认基线分支(默认 head 当前分支;可选 origin/main 或自定义)
b. 调用 EnterWorktree(name=slim-<task-slug>-<timestamp>)
c. 检查 .gitignore 是否包含 .claude/worktrees/,缺失则比照 step 3 流程补齐${BASE_REF}:当前工作分支名(非 worktree 模式)或 --base 指定分支(worktree 模式),写入 .claude/slim-task.json 的 baseRef 字段,供 Phase 6 push 决策卡使用LANG=... | WORKTREE=<path 或 none> | BASE_REF=<branch> | GITIGNORE=<ok 或 patched/skipped>检查点:执行检查点标准协议,选项为「采纳 → Phase 1 / 修改配置 / 终止」。
AskUserQuestion 向用户提出结构化澄清问题(选项按 ${LANG})${LANG})检查点:执行检查点标准协议,选项为「采纳 → Phase 2 / 补充澄清 / 终止」。
WebSearch 补充Explore 子 Agent(subagent_type: Explore)扫描代码库向用户展示(按 ${LANG}):
| 操作 | 文件路径 | 理由 |
|---|---|---|
| 修改 | src/xxx.ts | 具体原因 |
| 新增 | src/yyy.ts | 具体原因 |
| 不可触碰 | src/zzz.ts | 超出范围 |
| 维度 | 是否破坏性 | 说明 |
|---|---|---|
| 公开 API / 接口签名 | 是/否 | 具体影响 |
| 数据库 schema / 数据格式 | 是/否 | 迁移方案 |
| 配置文件 / 环境变量 | 是/否 | 兼容策略 |
| 依赖版本 | 是/否 | 升级路径 |
| 用户可见行为 | 是/否 | 影响范围 |
git revert 是否充分 / 是否需要数据迁移回退脚本)检查点:执行检查点标准协议,选项为「批准方案 → Phase 3 / 修改方案 / 终止」。
在项目中写入 docs/tasks/{YYYY-MM-DD}/{task-slug}.{lang}.md,内容包含:
检查点:执行检查点标准协议,选项为「采纳 DAG → Phase 4 / 修改拆分 / 终止」。
Agent 工具,run_in_background: true)每个实现 Agent 的 prompt 必须包含以下结构化字段:
## Objective
{子任务目标}
## File Boundary
仅允许修改以下文件:{文件列表}
严禁修改此范围外的任何文件。
## Task Boundary
不要做超出目标范围的额外工作(不重构无关代码、不添加不需要的功能)。
## Language
Respond in ${LANG}. Code identifiers and English-only conventions
(commit prefix, API names, framework keywords) stay original.
## Output
完成后汇报:修改了哪些文件、做了什么变更、是否有遗留问题。
填写说明:
{子任务目标} ← DAG 节点的 Objective 字段{文件列表} ← DAG 节点的 File boundary 字段(必须是影响范围表的子集)${LANG} ← Phase 0 初始化的语言配置检查点:执行检查点标准协议,选项为「进入 Phase 5 审计 / 回退修复 / 终止」。
写实现的 Agent ≠ 审实现的 Agent。主 Agent 只做派发与汇总,不做实质审查。
主 Agent 与审计 Agent 在执行 Phase 5 时常见的"偷懒理由"清单。任何与下表语义相近的内部独白都视为绕过,必须立即停下并改走右列动作。表外但同类的理由同样视为绕过。
| 偷懒理由(Rationalization) | 真实含义 | 强制动作 |
|---|---|---|
| "用户上次已授权 commit,本次延用" | 把历史授权当本次授权 | 必须重新调 AskUserQuestion,历史消息不构成本次授权 |
| "改动很小 / diff 不到 50 行,跳过 Phase 5" | 用规模豁免流程 | 任何代码改动都进 Phase 5,size 不是豁免条件 |
| "我大致看了 diff,应该没问题" | 用主观判断替代独立审计 | 必须由独立子 Agent 重读 + 输出 audit.json |
| "lint/test 在 Phase 4 已经跑过了" | 把过往验证当本次验证 | engineering-auditor 必须重新执行 lint/build/typecheck,禁止缓存或复用历史输出 |
| "审计 Agent 报了 issue 但看起来无关紧要" | 主观降级 issue 严重度 | issue 一律进入修复循环,严重度仅决定优先级,不决定是否处理 |
| "修复 3 轮还有 issue,剩下的留给用户" | 用上限规避根因分析 | 触达 3 轮上限必须 停下 让用户人工介入,禁止 silent skip |
| "审计 Agent 可以共用 Phase 4 的 context 节省 token" | 破坏盲审隔离 | 审计 Agent 必须 general-purpose 独立派发,不复用任何 Agent ID 或 prompt |
| "范围表里没列这个文件但顺手改了" | 用便利性绕过影响范围合约 | 视为越界,scope-audit 必须报 issue;如确需扩展须回到 Phase 2 重审范围表 |
| "我自己读一遍代码当 review,不派审计 Agent 了" | 主 Agent 自审 | 主 Agent 严禁实质审查;必须独立派发三维 auditor |
| "用户没问 audit 报告,跳过展示直接进 Phase 6" | 用沉默替代检查点 | 必须按 ${LANG} 展示统一审计报告并执行标准检查点 |
| "Worktree 模式所以审计可以更宽松" | 用隔离强度换取流程豁免 | Worktree 不改变 Phase 5 任何强度要求 |
| "审计 Agent 自己也说 issues=[],那应该没问题" | 用单一审计源代替三维交叉 | 三维 audit.json 必须独立产出,缺一不可 |
以下任一信号一旦出现,立即停止当前动作,回到全局护栏重新校验:
Edit / Write 业务代码文件(违反全局护栏第 1 条)issues=[] 但 git diff 行数 > 200 且未附执行日志git diff 中且 scope-audit 未报 issuegeneral-purpose subagent_type 独立派发.claude/slim-task/audits/{task-slug}/prompt 注入内容:
git diff 输出职责:判定所有改动文件是否在影响范围表内 + 表中预期改动是否真的发生。
输出:scope-audit.json(含越界文件、遗漏文件列表)。
prompt 注入内容:
git diff 输出CLAUDE.md / .claude/rules/code-quality.md 等路径)职责:对照方案与项目规范评分;标记偏离与违规。
输出:practice-audit.json。
prompt 注入内容:
CLAUDE.md / Makefile 自动发现)职责:执行 lint / build / typecheck,捕获所有失败。
输出:engineering-audit.json(含失败命令、错误日志)。
提示用户调用 frontend-design 或 ui-ux-pro-max Skill 进行视觉一致性审查。
audit.json${LANG})检查点:执行检查点标准协议,选项为「批准 → Phase 6 / 派修复 Agent / 终止」。
AskUserQuestiongit commit / git push / gh pr create 后追溯告知分支命名校验:检查当前分支名是否匹配 ^(feat|fix|refactor|docs|chore|test|perf)/[a-z0-9-]+$;不合规则通过 AskUserQuestion 提示用户重命名(git branch -m <new-name>),阻断后续步骤直到合规
副产物 staging:自动将本次 slim-task 产出的中间产物加入 staged 区域:
docs/tasks/{YYYY-MM-DD}/{task-slug}.* — Phase 3 固化的任务文档.gitignore — 若 Phase 0 追加了忽略规则git add 精确添加上述路径,禁止 git add . 或 git add -A展示(按 ${LANG}):变更文件列表 + diff 摘要 + 提议的 Conventional Commits 格式 commit message
Worktree 模式禁用文件检查:staged 文件命中 release-please-config.json / .release-please-manifest.json / .claude-plugin/marketplace.json 则拒绝 commit
第一次 AskUserQuestion(Commit 决策卡):
commit 后立即第二次 AskUserQuestion(Push/PR 决策卡),选项:
按决策执行,完成后汇报
Worktree 收尾:AskUserQuestion 询问是否 ExitWorktree(action=keep) 保留 worktree,并给出合并指引:
git fetch && git checkout main && git merge worktree-slim-<slug>
用户拒绝 commit:列出手动调整事项,结束流程