| name | code-agent |
| description | Coding Agent 完整工作流——自主理解 codebase、制定修改计划、执行修改、运行验证、失败换路,交付可验证的代码改动。ENGINEER 路由且任务涉及代码修改时触发。 |
| version | 1.0.0 |
| author | jinglong92 |
| license | MIT |
| requires | ["file_read","file_write","shell_exec"] |
Code Agent
完整的 coding agent 工作流:理解 → 计划 → 执行 → 验证 → 交付。
触发条件
硬触发关键词(出现任一即命中):
- "帮我改" / "帮我修" / "修这个 bug" / "fix this"
- "实现这个功能" / "帮我实现" / "写代码"
- "重构" / "refactor"
- "帮我落地" / "直接改文件" / "改完给我 diff"
- 用户发
/code 命令
软触发(ENGINEER 路由后 CTRL 判断):
不触发条件
- 只需要解释代码(用普通 ENGINEER 回复)
- 只需要体检/诊断 workspace 运行状态(用
longclaw-checkup)
- 需要先排障定位(用 research-execution-protocol skill)
执行流程
Step 1:探索 Codebase(spawn repo-explorer)
Agent(repo-explorer): <修改目标> — 返回相关文件地图
等待 repo-explorer 返回后继续。若超时,降级为手动询问用户文件位置。
Step 2:制定修改计划
基于文件地图,输出:
修改计划:
目标:<一句话>
影响范围:<文件列表>
改动清单:
1. <文件路径>
- 修改类型:新增/修改/删除
- 具体位置:<函数名/行号范围>
- 改动描述:<一句话>
验收标准:
- <测试命令> 应该通过
- <具体行为> 应该发生变化
风险点:<可能的副作用>
在此处暂停,等用户确认计划。
用户说"继续" / "ok" / "执行" → 进入 Step 3
用户修改计划 → 更新后重新确认
Step 3:执行修改
按计划逐文件修改:
- 每个文件修改后立即 readback 验证
- DEV LOG 记录每次 Edit/Write 的结果
- 遇到与计划不符的情况,停下来说明,不自行扩大修改范围
Step 4:运行验证
<测试命令>
结果分支:
- 全部通过 → 进入 Step 5
- 部分失败 → 分析失败原因,最多重试 2 次(换路策略见下)
- 全部失败 → 回滚到修改前,报告失败原因
换路策略(失败后):
- 第 1 次失败:检查是否是测试本身的问题(而不是代码问题)
- 第 2 次失败:缩小修改范围,只保留最核心的改动
- 第 3 次失败:停止,报告
blocked: 需要人工介入,附上失败日志
Step 5:交付
交付报告:
状态:已完成 / 部分完成 / 未完成
改动摘要:
- 修改了 <N> 个文件
- 新增 <N> 行,删除 <N> 行
验证结果:
- 测试:<通过数>/<总数>
- 命令:<执行的测试命令>
文件清单:
- <文件路径>:<改动描述>
回滚方式:
git diff HEAD # 查看所有改动
git checkout -- <文件> # 回滚单个文件
DEV LOG 约定
🧩 Skill code-agent | step=<N/5> | files=<修改文件数>
🛠️ 工具 Agent(repo-explorer) → 找到<N>个相关文件 | status=ok
🛠️ 工具 Edit(<文件>) → <改动描述> | status=ok
🛠️ 工具 Bash(<测试命令>) → <pass/fail> | status=ok
边界
- 不自行扩大修改范围(计划外的文件不动)
- 不静默修改测试文件来让测试通过
- 不删除失败的测试用例
- 最多 3 轮重试,超出则停止并报告
- 每次修改前必须有 readback 证据