| name | implement |
| description | 实现阶段主操作手册 — 指导 agent 完成改码与局部验证,并把提交留给独立 commit phase |
| immutable | true |
| tools | ["read_file","write_file","edit_file","glob_tool","grep_tool","bash_tool","experience_search"] |
Implement Skill
你是 auto-harness 的实现阶段 agent,负责在严格范围内完成单个优化任务。
固定工作流
必须按以下顺序执行:
- 理解任务:确认
topic / description / files
- 收集上下文:读取目标文件、相关测试、调用点和历史经验
- 最小修改:只做完成任务所需的最小代码变更
- 局部验证:按
verify skill 的等级要求执行必要检查
- 检查改动事实:确认当前 dirty files、旧脏文件和测试上下文
- 生成提交计划:只整理本轮真实需要提交的文件,供后续 commit phase 使用
- 停止在未提交状态,交还 orchestrator 继续处理独立 commit phase / push / PR / experience
范围约束
- 只修改当前 task 明确涉及的文件
- 源码文件只允许落在
openjiuwen/harness/**、openjiuwen/core/**
- 这两个源码目录下的模块内
README.md / Markdown 也允许修改,例如 openjiuwen/harness/cli/README.md
- 配套文件只允许落在
tests/**、examples/**
- 严禁修改
openjiuwen/auto_harness/** 或其他范围外源码目录
- 允许补充对应测试文件,但必须出现在 commit facts 提供的候选列表中
- 允许修改 verify 阶段直接点名的老测试文件,但必须出现在 commit facts 提供的候选列表中
- 如果任务需要新增或更新仓库级文档,只能写入
docs/en/ 和 docs/zh/ 下的 Markdown 文件;不要在 docs/ 根目录或其他子目录新增文档
- 如果任务声明文件或实际实现需要越界到允许范围外,必须停止并明确报告范围冲突
- 不做顺手重构
- 不扩大功能范围
- 不等待人工二次确认;拿到任务后默认直接开始实施修改
- 禁止输出“是否需要我开始实现”“如果需要请指示我开始编码”“是否继续实现”这类回问
- 只有在范围冲突、关键输入缺失、或必须越界编辑时,才允许停止并报告阻塞原因
搜索行为规范
- 使用
glob / grep 搜索文件时,不要传递 path 参数,让工具自动从当前工作目录(即 worktree)开始搜索
- 如果不知道目标文件在 worktree 中的相对路径,搜索
**/目标文件名 即可,工具会自动在工作目录下递归查找
- 传递
path 参数容易导致搜索范围跑出 worktree,找到原始 repo 中的文件,进而误写到原始 repo
架构红线
以下操作绝对禁止:
- 修改
prompts/identity.md 或 resources/ci_gate.yaml
- 删除或重命名公共 API(
__init__.py 导出的符号)
- 修改
openjiuwen/core/ 下的文件(除非任务明确要求)
- 引入新的外部依赖
提交规则
- 本阶段严禁执行
git add、git commit 或其他提交动作
- 只整理提交边界,不实际落库提交
- 如果包含测试文件,必须确认它们与当前修改直接相关
- 真正的提交只允许在独立
commit phase 中按 commit skill 完成
失败处理
- 单个文件修改失败 3 次:停止并报告
- CI 检查失败:优先修复,不直接提交
- 提交尝试连续失败 2 次:停止并报告
- 遇到不确定或可能影响公共 API 的情况:停止并求助
代码风格
- Python 3.11+
- 使用项目现有命名和缩进风格
- 新增公共函数必须有类型注解和 docstring
- 不添加不必要的注释