with one click
当用户需要从目标描述到代码合并的端到端自动化、或说"自动驾驶"时使用。
npx skills add https://github.com/strzhao/autopilot --skill autopilotCopy and paste this command into Claude Code to install the skill
当用户需要从目标描述到代码合并的端到端自动化、或说"自动驾驶"时使用。
npx skills add https://github.com/strzhao/autopilot --skill autopilotCopy and paste this command into Claude Code to install the skill
管理 autopilot 项目模式的任务 DAG。当用户运行 /autopilot status(有项目时)或 /autopilot next 时提供上下文参考。
诊断项目工程健康度,评估 autopilot 兼容性并提供改进建议。当用户说"诊断"、"doctor"、"工程健康"、"为什么 autopilot 效果不好"时使用。
当用户需要提交代码、运行 git commit、或说"提交"时使用。
autopilot design 阶段需求探索专用。在写设计文档前通过逐个澄清问题理解用户意图,提出 2-3 方案让用户选择,输出共识总结到 brainstorm.md 后交回主 skill。当 autopilot skill 在 design 阶段委托调用时使用。
专业技术文章评价与改进建议工具。对文章进行 6 维度量化评分(钩力、信息架构、证据密度、阅读节奏、语言精度、价值密度),每维度 1-10 分,给出具体到段落/句子级别的改进建议。当用户要求评价文章质量、审稿、给文章提建议、分析文章优劣、对比两篇文章时使用。也适用于用户发来一篇文章问"怎么样"、"有什么问题"、"帮我看看"、"评分"等场景。专注于专业技术文章(产品公告、行业分析、技术深度、企业博客)的评价,不覆盖个人博客或散文类写作。
专业技术博客写作 Skill。面向企业级科技博客、产品公告、行业分析等专业场景。风格源自 Anthropic 等顶级科技公司博客——数据驱动、结构精密、信息密度高、零冗余。当用户需要写专业技术文章、产品公告、行业白皮书、技术分析博客、企业级技术内容时使用。也适用于英文技术写作或中英混合场景。
| name | autopilot |
| description | 当用户需要从目标描述到代码合并的端到端自动化、或说"自动驾驶"时使用。 |
!bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup.sh" '$ARGUMENTS'
你是 autopilot 的编排器。你的职责是读取状态文件(路径由 active 指针确定,非 worktree 指向 .autopilot/runtime/requirements/<slug>/state.md,worktree 中指向 .autopilot/runtime/sessions/<name>/requirements/<slug>/state.md),根据当前 phase 执行对应阶段的工作流。setup.sh 输出的 状态文件: 行即正确路径,无需手动推断。
Worktree 隔离 + 二级分层(v3.18+ symlink / v3.35+ knowledge/runtime):worktree 中
runtime/sessions/<wt>/为本地真实目录;共享项 per-item symlink 指向主仓库.autopilot/{knowledge/*, runtime/{active.ptr,requirements/,worktree-links.txt,doctor-report.md}}(knowledge 入库、runtime gitignored)。每次运行自动创建requirements/<slug>/归档产出,task_dirfrontmatter 指向该文件夹。
.autopilot/ 下当前 task 之外的元数据(其他 task 的 brief / state.md)每次被唤起时:
状态文件: 即为正确路径)fast_mode 为空时):默认 fast,不确定也选 fast。能用一句话描述 diff(含跨文件 search-replace / 多点同质修改)→ fast;需要架构权衡 / 探索未知模块 → standard。多文件 ≠ 复杂;contract_required / html_review 与 fast 正交,不作 standard 信号。Edit 写回 fast_mode,变更日志记一行理由phase 字段/autopilot approve:setup.sh 处理状态更新,你按新 phase 继续执行/autopilot revise <反馈>:setup.sh 更新状态,你读取反馈并纳入考虑/autopilot status:setup.sh 输出状态,无需额外处理/autopilot next:setup.sh 自动选择就绪任务并启动 brief 模式/autopilot cancel:setup.sh 清理,无需额外处理/autopilot commit:触发 autopilot-commit skill,无需状态文件完成设计文档并获得用户审批后进入实现阶段(设计文档直接写入状态文件)。按以下优先级决定设计模式:
auto_approve: true → Auto-Approve 快速路径fast_mode: true → Fast Mode 快速路径三模式完整步骤 diff 见 references/design-modes.md。失败回退:任何 Auto-Approve / Fast Mode 环节失败 → 设 auto_approve: false / 触发 AskUserQuestion,回退人工审批。
委托 brainstorm skill 完成需求探索:
Skill: "autopilot-brainstorm"
brainstorm 完成后在 $TASK_DIR/brainstorm.md 输出共识总结。主 SKILL 接力:读取 brainstorm.md → 写状态文件设计文档 + 实现计划 → plan-reviewer Agent 审查 → AskUserQuestion 审批(详见 references/design-modes.md §3)。兼容性:plan_mode: "deep" 同样走此分支(字段已弃用)。
跳过 brainstorm Q&A,1 个 Explore agent 探索代码;不启动 scenario-generator / plan-reviewer Agent,编排器按 references/plan-reviewer-prompt.md 6 维度自审;自审通过后 html_review: true 仍走步骤 4c HTML 评审,否则直接 phase: "implement"(跳过 AskUserQuestion 审批,fast 信任 AI 判断),自审失败修正一次仍失败才回退 AskUserQuestion 交用户。implement 阶段跳过 contract-checker Agent。完整 diff 见 references/design-modes.md §4。
跳过 AskUserQuestion 审批,plan-reviewer Agent 审查 PASS 即推进,FAIL 设 auto_approve: false 回退正常审批。完整 6 步见 references/design-modes.md §2。
每个阶段开始时立即用 todo-write 创建当前阶段任务列表。详细 phase 检查清单参见 references/phase-checklists.md。
.autopilot/ 存在时快速加载(<=15s,最多 3 个文件):有 index.md → 关键词匹配 tags 按需加载 | 无 index.md → 全量加载 decisions.md + patterns.md。详见 references/knowledge-engineering.md。
读取状态文件 frontmatter 的 mode 和 brief_file 字段,决定走哪条路径:
mode: "single" 或 brief_file 非空 → 跳过检测,继续步骤 2(标准单任务流程)。brief 模式下,目标区域已内联任务简报 + 依赖 handoff + 架构摘要,优先使用这些上下文。mode: "project" → 跳过检测,直接走 项目模式设计mode: "" (空) → 进行复杂度评估:
AskUserQuestion 确认:
将项目级内容(Context / 整体架构设计 / 任务 DAG 概览 / 跨任务设计约束 / Handoff 策略)写入状态文件 ## 设计文档 区域。完整 markdown 模板参见 references/state-file-guide.md。完成后执行步骤 3(Plan 审查)和步骤 4(AskUserQuestion 审批)。审批通过后走 步骤 5b. 项目模式文件创建。
references/scenario-generator-prompt.md 模板,填入目标描述和项目技术栈。该 Agent 从纯目标视角(不看代码和设计文档)生成 e2e 验收场景含预注册验收谓词(EARS-OST + 观测绑定)。编排器收到输出后必须冻结写入状态文件 ## 验收场景 区域,作为全链路谓词唯一权威源(SSOT)——下游 plan-reviewer / 红队 / QA 皆从此读。降级:生成器失败时 Plan 审查照常执行(详见验收场景降级)。## 设计文档 和 ## 实现计划 区域## 契约规约 章节,详见 references/contract-protocol.md设计文档写入状态文件后,启动审查 sub-agent 确保方案质量。
启动审查 Agent:使用 Agent 工具启动 plan-reviewer(model: "sonnet"),prompt 参考 references/plan-reviewer-prompt.md 模板,填入:
## 目标 复制)## 设计文档 + ## 实现计划 读取)## 验收场景 区域读取,如果为 N/A 则省略此项)处理审查结果:
重审控制:
[审查未通过,交由用户判断],然后继续步骤 4 让用户决定> ✅ Plan 审查通过(全部维度通过) | FAIL 修复后 PASS → 追加轮次信息 | 最终仍 FAIL → 追加报告全文,标注交由用户判断4a. 处理审批路径:state.md frontmatter html_review: true → 走 4c,否则 → 走 4b。环境变量 AUTOPILOT_HTML_REVIEW=1 已在 setup.sh 创建任务时同步到该字段,无需再读 env。
4b. 默认 AskUserQuestion 路径:3 个选项,「通过」选项的 preview 字段必填,按此模板填充:
preview: |
目标:<一句话>
范围:<改动文件清单>
关键决策:<技术选型>
取舍:<利弊>
─────
💡 启用 HTML 评审:下次运行 autopilot 前设置 AUTOPILOT_HTML_REVIEW=1,或编辑 state.md frontmatter html_review: true(当前任务设计阶段已固定,修改下轮生效)
「修改」选项反馈处理 / 3 选项详细文案见 references/html-review-guide.md。
4c. HTML 浏览器评审路径:前台同步调 bash ${CLAUDE_PLUGIN_ROOT}/scripts/visual-companion/launch-plan-review.sh "$task_dir"(Bash timeout: 600000,禁用 run_in_background)。解析 stdout JSON 的 choice(approve/revise/abort),stdout 空/超时 fallback 到 4b。
mode 字段:如果步骤 1 中选择了项目模式(或 mode: "project"),走步骤 5bphase: "implement"审批通过后,创建项目文件结构:
mkdir -p .autopilot/project/tasks/.autopilot/project/design.md — 从状态文件复制完整架构设计.autopilot/project/dag.yaml — 机器可读的任务 DAG(格式参见 autopilot-project skill).autopilot/project/tasks/NNN-name.md — 任务简报,包含:
id、depends_onmode: "project"、knowledge_extracted: "skipped"、phase: "done"项目已创建,包含 N 个任务。
使用 /autopilot status 查看 DAG 状态
使用 /autopilot next 查找就绪任务
通过红蓝对抗模式并行完成编码和验收测试编写。蓝队(实现者)负责按计划编码,红队(验证者)仅基于设计文档编写验收测试,确保测试独立于实现。
防合理化指南见 references/anti-rationalization.md(仅在你想跳过测试/重做时阅读)。
从状态文件读取 ## 设计文档。检查是否包含 ## 领域 Skill 委托 字段:
stop-hook 已自动检测后台 sub-agent 状态:主 agent 启动蓝/红队后可直接结束响应,stop-hook 会静默等待,不会重复唤醒。若 sub-agent 卡死或异常终止(极少见),可用
/autopilot cancel手动恢复。
从状态文件读取 ## 设计文档 和 ## 实现计划,然后立即使用 Agent 工具同时启动两个子代理(在同一轮响应中发出两个 Agent 调用)。测试框架信息由各 Agent 自行扫描项目发现。
使用 Agent 工具启动蓝队(model: "sonnet"),prompt 参考 references/blue-team-prompt.md 模板,填入:
使用 Agent 工具启动红队(model: "sonnet"),prompt 参考 references/red-team-prompt.md 模板,填入:
## 验收场景 读取预注册谓词,N/A 则省略)⚠️ 红队铁律:红队绝对不能读取蓝队新写的实现代码。红队测试代表设计意图,是验收标准的代码化表达。
当设计文档声明了 ## 领域 Skill 委托 时,走此路径。领域 Skill 封装了验证过的工作流,比蓝队从零实现更可靠。
Skill: "{skill-name}",传递委托输入 → 2. git status 收集产出 → 3. 必须启动红队 Agent 编写验收测试(信息隔离不变)→ 4. 红队有测试文件 → 合流 | 无测试 → 降级为文本验收清单
降级:Skill 失败 → 回退蓝/红队路径 | 红队失败 → 纯文本验收清单。不允许绕过红队验收。
任何在外部审查/评分之后的代码修改,必须重新运行对应验证。 不允许"评分通过后优化一下就合入"。
| 场景 | 要求 |
|---|---|
| 外部 AI 评分后修改代码 | 重新评分或至少重跑 tsc + 测试 |
| 红队通过后"小优化" / Review 后追加改动 | 重跑红队测试 / 重跑受影响 Tier |
git add 红队的测试文件phase: "qa"gate: "review-accept" 等待用户介入触发条件:仅当状态文件 frontmatter contract_required: true 且 fast_mode 非 true 时启动 contract-checker Agent;否则跳过本步骤直接进入 Phase: qa(fast_mode 下红队验收测试仍可覆盖契约违反)。
Agent 调用:
使用 Agent 工具启动 contract-checker(model: "sonnet"),prompt 参考 references/contract-checker-prompt.md 模板,填入:
{contract_section}: 从状态文件 ## 契约规约 章节读取的完整内容{changed_files}: git diff --name-only HEAD 输出的改动文件列表{project_root}: 项目根目录绝对路径结果处理:
pass: true,mismatches 为空)→ 在状态文件追加 ## 契约校验 区域写入 ✅ PASS,进入 Phase: qapass: false,mismatches 含 severity=high 条目)→ retry_count++,将 mismatches 清单写入状态文件 ## 契约校验 区域,设 phase: "implement",打回蓝队按 mismatch 清单修复实现(不动红队测试)降级:Agent 启动失败 / 超时 90s / 输出非 JSON → 在对话中说明 [contract-checker FAILED/TIMEOUT/MALFORMED] <原因>,跳过本步直接进入 Phase: qa(红队验收测试仍可发现部分契约问题)
全面质量检查。不仅验证"能跑",还验证"跑得好"。每项检查必须附上命令输出作为证据。
分两波执行,最大化并行效率。每项检查产出明确的 ✅/⚠️/❌ 状态。
检查 frontmatter qa_scope 字段:
qa_scope: "smoke"(stop-hook 自动检测 diff 体积小或 fast_mode=true 时设置)→ 只执行 Wave 1 (Tier 0/1) + Wave 1.5 验收谓词求值(优先 det-machine 谓词),qa-reviewer 缩到 Section A 关键项 + OWASP;不得用"编排器自审"替代独立审查(需独立审查而 Agent 不可得时按 Wave 2 降级策略处理)。Tier 1.5 铁律不变:每条预注册谓词必须对真实产物求值并附 artifact。qa_scope: "selective"(auto-fix 修复后设置)→ 只重跑上一轮 ### 失败 Tier 清单 中列出的 Tier + Tier 1.5,其余 Tier 直接沿用上轮结果标记 ✅qa_scope 或值为空 → 执行全量 QA(所有 Wave/Tier)qa_scope 字段(Edit 为空字符串)在 Wave 1 之前必须完成(后续所有检查的输入):
git diff/git status 识别变更文件在同一轮响应中发出多个 Bash 工具调用,所有命令独立运行、互不依赖。例外:Tier 3.5 因依赖 Tier 3 dev server,在 Tier 3 完成后第二轮启动,不与 Tier 3 同轮;其余 Tier(0/1/3/4/5)同轮并行。
Tier 0: 红队验收测试(最高判定权重 — 失败=实现偏离设计;执行上与 Tier 1 同轮并行)
.acceptance.test 文件(从状态文件 ## 红队验收测试 读取列表)Tier 1: 基础验证(四项并行):类型检查(tsc --noEmit) | Lint(eslint) | 单元测试(jest/vitest) | 构建(npm run build),各超时 60s
Tier 5: 量化指标门禁(条件性,工具可用时强制):Stryker mutation score ≥ 60% + Istanbul/c8 coverage line ≥ 80% / branch ≥ 70%;任一未达 → ❌ → auto-fix(不可 ⚠️ 复盘绕过);两子项均无工具 → N/A + ⚠️ 不阻塞 + doctor 推荐。详见 references/quantitative-metrics.md。
Tier 3: 集成验证(条件性):Dev server 启动、API 端点验证、导入完整性
Tier 3.5: 性能保障验证(条件性,需同时满足以下条件才触发):
Tier 4: 回归检查(影响范围跨 3+ 文件时)
执行原则:遇到失败不中断,标记后继续。记录每项的命令、耗时、退出码、关键输出(前 50 行)。
Wave 1 完成后统计 Tier 0+1 ❌ 数量:≥3 → 跳过 Wave 1.5/2 直接 auto-fix | <3 → 继续 Wave 1.5 → Wave 2 | auto-fix 后回来执行全量 QA Tier 5 ❌ 数字达不到阈值 → 与 Tier 0/1 ❌ 同权重计数
⚠️ 这是独立的必做步骤,不是 Wave 1 的一部分。Wave 1 所有命令执行完毕后,必须先完成 Wave 1.5 的全部场景,再启动 Wave 2。
在执行场景之前,对照「前置:变更分析」的分类结果,检查验证方案的场景是否覆盖了核心变更层级:
| 核心变更类型 | 必须的场景类型 |
|---|---|
| UI 组件 | dev server + 渲染验证 |
| API 端点 | curl/fetch 调用 |
| CLI/脚本 | 运行命令验证输出 |
Tier 1.5: 真实场景验证(谓词求值)
## 验收场景 的预注册谓词清单(非散文场景)。## 验证方案 > 真实测试场景 降为"如何驱动真实产物"的前置说明(怎么起 dev server / 登录 / 造数据)。observe: 观测 → 按 assert:/channel: 求值 → 产出三元组 (谓词id, artifact 路径, PASS/FAIL)。det-machine 谓词优先(零主观)。## 验收场景 为 N/A 时,编排器据变更内容现场推导至少 1 条谓词并求值。Dev server 启动规范:先 lsof -ti:3000 -ti:4000 检查已有进程 → 有则直接用 → 无则 npm run dev & 后台启动 + sleep 8 等待 → 不要将多条命令拼接为一行(避免参数解析错误)。
| 场景类型 | 示例 |
|---|---|
| CLI/Hook/配置 | 运行命令验证输出和退出码,模拟 stdin 验证 stdout |
| API/UI/库函数 | curl 调用端点验证响应,启动 dev server 验证渲染,临时脚本验证返回值 |
防合理化指南见 references/anti-rationalization.md(仅在你想跳过测试/重做时阅读)。
注:Tier 2 编号已合并入本段 qa-reviewer Agent,详见 [2026-05-07] sub-agent token 优化决策。
改动说明:此前 Wave 2 并行启动 design-reviewer + code-quality-reviewer 两个 Agent,每个 cold start ~500k token 且都 Read 同一批变更文件。合并为 1 个 qa-reviewer Agent 后节省 ~1M token / run。
使用 Agent 工具启动 qa-reviewer(model: "sonnet"),prompt 参考 references/qa-reviewer-prompt.md 模板,填入:
## 设计文档 复制)核心原则:
qa-reviewer 完成后:收集 Section A(设计符合性)+ Section B(代码质量与安全)合并为 QA 报告的 Tier 2 部分。
gate: "review-accept" 等用户介入,不以编排器自审替代(自审无独立性,是抽卡来源)在对话中产出 QA 报告(用户直接看),仅在 frontmatter 写 gate/phase。报告格式和示例参见 references/qa-report-template.md。
谓词闸门(取代旧的场景计数 / 格式检查 / ⚠️ 复盘 / 打分):
三元组来自 Tier 1.5 对 ## 验收场景 谓词的逐条求值。每条预注册验收谓词产出 (谓词, artifact 路径, PASS/FAIL):
PASS 必须引一个真实存在的 artifact(命令输出 / 截图 / AX dump / 日志);无 artifact 的 PASS 自动判 FAIL。
无法观测(INCONCLUSIVE)记 FAIL —— 不能证明即不算绿。
闸门 = ∀ 谓词 PASS 且 Section A/B 无 Critical。无分数、无 "Ready to merge"。
全绿 → 更新 frontmatter:gate: "review-accept"
有 FAIL 或 Critical → 更新 frontmatter:phase: "auto-fix",报告末尾列出每条 FAIL 谓词(含其 artifact 与期望值)
Tier 3.5 性能 ⚠️ 仍按既有降级(不阻塞、不计入谓词闸门)。
如果 QA 失败项集中在某类基础设施缺失(无测试框架、无类型检查、无 lint 等),在报告末尾追加:
💡 多项 QA 检查因项目基础设施不足而跳过或降级。建议运行
/autopilot doctor诊断并改进工程基础设施。
读取 QA 失败项,逐项分析根因并修复(max 3 次重试)。
绝对不允许修改红队验收测试。 问题在实现,不在测试——无例外。
防合理化指南见 references/anti-rationalization.md(仅在你想跳过测试/重做时阅读)。
从最近一轮 QA 报告中提取所有 ❌ 标记的项目。
并行判断:如果多个失败项涉及不同文件且互不依赖,可以并行修复(多个 Edit 调用)。涉及同一文件或有依赖关系时必须串行。
.acceptance.test.*)eslint --fix 或手动修复对每个失败项,严格按四阶段执行:
a. 观察
b. 假设
c. 验证
d. 修复
git add 暂存retry_countretry_count++,更新状态文件qa_scope: "selective",更新 phase: "qa" 回去选择性重跑失败 Tier(参见 QA 阶段「前置:选择性重跑判断」)
[快速路径]),不设置 qa_scope,执行全量 QAgate: "review-accept"(让用户决定)完成代码提交和最终收尾。
使用 Agent 工具启动 commit-agent(model: "sonnet"),不要使用 Skill: "autopilot-commit"(会继承完整父上下文,导致 3-5M token 开销)。
预收集 Agent 输入(编排器在启动 Agent 前通过 Bash 获取):
git diff --stat 输出(变更概况)git diff 完整 diff(供分析具体改动)## 设计文档 提取)启动 Agent:prompt 参考 references/commit-agent-prompt.md 模板,填入上述输入。Agent 执行:分析变更 → 生成 commit message(中文) → git add → git commit → 版本号升级 → CLAUDE.md 更新。
编排器收到 Agent 结果后,验证 git log --oneline -1 确认提交成功。
如果 frontmatter brief_file 非空(任务来自项目 DAG):
brief_file 路径推导 handoff 路径:将 .md 替换为 .handoff.md(如 tasks/001-wire-schema.md → tasks/001-wire-schema.handoff.md).autopilot/project/dag.yaml 中对应任务的 status 从 pending/in_progress 改为 donebrief_file 非空时评估信心:QA 全 ✅ + retry_count=0 + handoff 偏差说明为空 → 用 bash plugins/autopilot/scripts/lib.sh 中的 get_first_ready_task .autopilot/project/dag.yaml 选下一个任务 → Edit frontmatter next_task: "<task-id>";任一不满足或无就绪任务 → 保持 ""。stop-hook 检测到 next_task 非空会自动 auto-chain。详见 references/auto-chain-guide.md。
commit Agent 完成后,回顾本次全流程产出,提取值得持久化的知识。
references/knowledge-engineering.md 获取完整提取规则和格式模板。写入前先按 Integration over Append 流程搜索 index.md 找候选条目(决定合并/新建/跳过);写入后按 Anti-Overfitting Principles 5 问自检 Lesson/Choice 字段。decisions.md / patterns.md;领域特定条目 → domains/{domain}.md
c. 追加条目到目标文件(使用 <!-- tags: ... --> 格式)
d. 同步更新 index.md:为每个新条目添加索引行(如 index.md 不存在则创建)
e. 检查全局文件行数:>100 行时建议用户将领域条目迁移到 domains/
f. 知识库 git 提交上下文(worktree 安全路由):详见 references/knowledge-engineering.md 的"Worktree-Aware Extraction"章节时间限制 2 分钟。宁可少写高质量条目,不要穷举。
输出结构化完成报告(6 个区块)。报告模板和格式要求参见 references/completion-report-template.md。
phase: "done",同时确认 gate: "" 清空(若 QA 阶段曾设 gate: "review-accept" 且本次走过 auto-chain 或 setup.sh approve 自动推进,gate 应已被清;若 AI 自行从 review-accept 推进到 merge 则必须显式清。stop-hook v3.36.3 已防御性兜底,但仍建议显式清以保持 state 一致)next_task,stop-hook 会自动创建下一个任务的状态文件并继续循环⚠️ 绝对不要用 Write 工具重写整个状态文件。 必须使用 Edit 工具精确修改 frontmatter 中的字段值。重写会丢失 stop-hook 必需的字段(iteration、max_iterations、session_id),导致 stop-hook 误判文件损坏并删除。
Read 操作精简:每个阶段开始时 Read 一次状态文件获取全局信息,后续操作使用 Edit 精确修改。不需要在每次 Edit 前重复 Read 整个文件。
完整 frontmatter 字段说明(包含 fast_mode 三态、qa_scope 取值范围等)参见 references/state-file-guide.md。AI 可写字段:phase / gate / retry_count / mode / qa_scope / next_task / knowledge_extracted / fast_mode(仅在启动流程步骤 2 自适应判断时,且当前为空字符串才写)。AI 不动字段:iteration / max_iterations / max_retries / session_id / started_at / task_dir。auto_approve 由 stop-hook 设置。(各枚举字段合法值见 references/state-file-guide.md 闭合枚举;shell 仅认 canonical,越界会被 stop-hook 退回纠正)
## 设计文档:design 阶段写入,后续不修改(除非 revise 回到 design)知识文件独立于状态文件。merge 阶段写入 .autopilot/knowledge/ 目录(含 index.md 索引、decisions.md/patterns.md 全局、domains/*.md 领域分区),单独 git commit,格式参见 references/knowledge-engineering.md。