with one click
harness
Harness 主入口 — 从想法到交付的一站式流程
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Harness 主入口 — 从想法到交付的一站式流程
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Restore state, health check, determine current phase, suggest next step
Explain Harness plugin and available commands
Initialize Harness for your project — learn repo, team norms, generate customized framework
Start a new feature proposal — guided spec + design generation
Execute all tasks with auto-loop until completion — Stop Hook driven
Three-stage verification: V1 unit → V2 integration → V3 E2E + evidence package
| name | harness |
| description | Harness 主入口 — 从想法到交付的一站式流程 |
| argument-hint | [功能描述 | status | init | evolve] |
你是 Harness 的主控制器。用户只需要记住一个命令:/harness。
用法:
/harness 实现用户登录功能 → 自动走完 init → spec → test → task → sprint → verify 全流程/harness status → 查看当前状态、下一步建议/harness init → 仅运行初始化/harness evolve → 手动触发一次进化分析/harness (无参数)→ 自动判断该做什么读取 $ARGUMENTS,按以下优先级路由:
$ARGUMENTS 是 status执行 /harness-status 的完整逻辑。
$ARGUMENTS 是 init执行 /harness-init 的完整逻辑(默认 standard 深度)。
$ARGUMENTS 是 evolve执行一次手动进化分析(见下方"进化逻辑"章节)。
$ARGUMENTS 是功能描述(非关键字)这是主流程。进入全流程编排。
自动判断当前状态,继续未完成的工作:
.harness/ 是否存在
/harness 你想做什么功能? 或 /harness init.harness/sprint-loop.md 是否存在
.harness/tasks.md 中是否有 pending 任务
当用户给出功能描述时,自动按顺序推进以下阶段。每个阶段完成后自动进入下一个,无需用户输入命令。
if .harness/config.yaml 不存在:
告诉用户:"第一次使用,我先花几分钟了解你的项目。"
执行 /harness-init 的完整逻辑(standard 深度)
完成后继续
执行 /proposal 的完整逻辑,用 $ARGUMENTS 作为功能描述输入。
人类审批点:Spec 必须用户确认后才能继续。
审批通过后,告诉用户:
"Spec 已锁定。接下来我会生成测试、分解任务、自动执行。过程中有一个地方需要你确认测试合约,其余全自动。"
自动执行 /tdd-align {feature-id}。
人类审批点:测试合约必须用户确认。
审批通过后,告诉用户:
"测试合约已锁定。接下来全自动——我会分解任务、按 Wave 并行执行、跑完验证。你可以去做别的事情了。"
自动执行 /decompose {feature-id}。
不再需要用户审批——直接用 Agent 自检:
展示一句话摘要:
"已分解为 {N} 个任务,{M} 个 Wave。开始执行..."
自动执行 /sprint {feature-id}。
Stop Hook 驱动循环直到完成。用户无需操作。
Sprint 完成后自动执行 /verify {feature-id}。
## ✓ 功能交付完成
**Feature**: {name} ({feature-id})
**任务**: {completed}/{total} 完成
**测试**: V1 ✓ | V2 ✓ | V3 ✓
**覆盖率**: {X}%
**证据**: .harness/evidence/{feature-id}/verdict.md
**Pitfalls**: 本次新增 {N} 条踩坑记录(总计 {M} 条)
**已归档**: tasks.md → archive/{feature-id}-tasks.md
**接下来?**
- 输入 `/harness 下一个功能描述` 开始新功能
- 输入 `/harness status` 查看全景
- 检查 `.harness/pitfalls.md`,去重保留有价值的经验
整个流程中用户只需要参与 2 次:
| 阶段 | 用户动作 | 为什么需要 |
|---|---|---|
| Gate 1 Spec | 回答问题 + 审批 | 需求只有人类知道 |
| Gate 2 Tests | 审查 + 审批 | 测试是合约,需要人类确认 |
其余全自动:init、decompose、sprint、verify。
自进化不依赖用户手动触发。它嵌入在正常工作流的关键节点中自动执行:
| 触发时机 | 做什么 | 怎么做 |
|---|---|---|
| Sprint 每个 Wave 结束 | 检查本 Wave 的失败模式 | Sprint skill 内置逻辑 |
| Sprint 整体结束 | 分析本次 Sprint 全量失败 | Stop Hook 在 sprint 完成时触发 |
| Verify 完成后 | 对比预期 vs 实际,提取 gap | Verify skill 末尾内置 |
| 任务失败被跳过时 | 记录失败详情到结构化日志 | Sprint Worker 内置 |
当 Sprint 完成(所有任务 done 或 max iterations)时,Stop Hook 在释放会话前执行:
1. 读取 .harness/traces/events.jsonl
2. 统计: 失败次数、高频编辑文件、doom loop 触发
3. 读取 .harness/tasks.md 中 failed 的任务
4. 如果发现可归类的失败模式:
- 追加到 .harness/evolution-log.md
- 如果某模式累计 ≥ 3 次:
→ 自动生成不变量,追加到 .harness/invariants.md
→ 生成注入片段到 .harness/skill-context/sprint-invariants.md
→ 下次 Sprint 自动生效
5. 输出一行摘要到 progress.md:
"Evolution: 发现 N 个模式,新增 M 个不变量"
/harness evolve(可选手动触发)用户不需要记住这个命令。但如果想主动看一下进化状态,可以运行:
/harness evolve
它会执行完整的进化分析(失败模式提取 + 重复工作识别)并输出报告。
/harness 是用户唯一需要记住的命令。但底层子命令仍然存在,高级用户可以直接调用:
| 用户场景 | 推荐方式 | 高级方式 |
|---|---|---|
| 做一个新功能 | /harness 功能描述 | /proposal → /tdd-align → /decompose → /sprint → /verify |
| 查看状态 | /harness status | /harness-status |
| 初始化项目 | /harness init | /harness-init |
| 看进化状态 | /harness evolve | /evolve + /skill-discovery(高级) |
| 克隆产品 | /harness 克隆 xxx | /baseline → /proposal → ... → /evaluate → /eval-fix |
| 停止 Sprint | /cancel-sprint | /cancel-sprint |