| name | harness-executing-plans |
| description | 实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪 |
| trigger_words | ["harness-executing-plans","executing plans","execute plan","执行计划","实施计划执行"] |
| priority | HIGH |
| dependencies | ["harness-plan"] |
| version | v1.0.0 |
harness-executing-plans 实施计划执行技能
核心能力
- 逐任务执行实施计划(从
docs/plans/*-implementation-plan.md)
- 检查点机制(每个任务完成后记录进度)
- 错误恢复(失败后可从最后一个检查点继续)
- 进度跟踪(实时更新
EVENT_LOG.md)
- 质量验证(每个任务完成后验证成功标准)
前置条件
- harness-init 已完成
- harness-plan 已完成
- 实施计划已存在(
docs/plans/*-implementation-plan.md)
.EnjoyHarness/EXECUTION_CONTRACT.md 已标记 mode: autonomous_after_confirmation
执行步骤
Step 1: 检查前置条件
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
使用 Read 工具读取:.EnjoyHarness/EXECUTION_CONTRACT.md
检查条件:
- harness-plan 已标记为完成
requirements_confirmed: true
resume_policy: auto_continue
retry_policy: retry_3_then_recover
如果未完成:
❌ 错误: 未完成计划编写
💡 请先运行: harness-plan
如果自治契约未冻结:
❌ 错误: 自治执行契约缺失
💡 请先完成需求确认并冻结 EXECUTION_CONTRACT.md
Step 2: 读取实施计划
使用 Bash 工具查找实施计划:
ls -t docs/plans/*-implementation-plan.md | head -1
使用 Read 工具读取:实施计划路径(例如 docs/plans/2026-03-28-user-auth-implementation-plan.md)
Step 3: 解析实施计划
解析内容:
- Goal: 实施目标
- Architecture: 架构方法
- Tech Stack: 技术栈
- 任务列表: 所有任务及其步骤
Step 4: 检查恢复点
使用 Bash 工具检查是否有恢复点:
if [ -f .EnjoyHarness/EXECUTION_CHECKPOINT.md ]; then
cat .EnjoyHarness/EXECUTION_CHECKPOINT.md
fi
如果存在恢复点:
⚠️ 检测到未完成的执行
📍 最后完成的任务: Task 3.2
🤖 自动策略: 从 Task 3.3 继续执行(resume_policy=auto_continue)
Step 5: 逐任务执行
执行循环:
对于每个任务:
5.1 显示当前任务信息
使用 Bash 工具输出:
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "📋 正在执行: Task {N} - {任务名称}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📁 文件操作:"
echo " - Create: {文件路径}"
echo " - Modify: {文件路径}"
echo ""
5.2 执行任务步骤
根据任务中的步骤逐一执行:
常见步骤类型:
- 编写测试 → 使用 Write 工具创建测试文件
- 运行测试验证失败 → 使用 Bash 工具运行测试
- 编写实现代码 → 使用 Write 或 Edit 工具
- 运行测试验证通过 → 使用 Bash 工具运行测试
- 提交代码 → 使用 Bash 工具执行 git commit
执行示例:
Write to: internal/auth/service_test.go
go test ./internal/auth -v
Write to: internal/auth/service.go
go test ./internal/auth -v
git add internal/auth/service.go internal/auth/service_test.go
git commit -m "feat: implement AuthService.Login"
5.3 验证任务完成
验证清单:
如果验证失败:
❌ 任务验证失败: {原因}
🤖 自动策略: 重试当前任务(retry_policy=retry_3_then_recover)
5.4 记录检查点
使用 Write 工具更新:.EnjoyHarness/EXECUTION_CHECKPOINT.md
# 执行检查点
**实施计划**: {计划文件名}
**最后完成任务**: Task {N}
**完成时间**: {TIMESTAMP}
**状态**: IN_PROGRESS
## 已完成任务
- [x] Task 1.1: {任务名称}
- [x] Task 1.2: {任务名称}
...
- [x] Task N: {当前任务}
## 剩余任务
- [ ] Task N+1: {任务名称}
...
5.5 更新事件日志
使用 Edit 工具追加到:.EnjoyHarness/EVENT_LOG.md
{TIMESTAMP} | TASK_COMPLETE | harness-executing-plans | Task {N} 完成 - {任务名称} | SUCCESS
5.6 显示进度
使用 Bash 工具输出:
echo ""
echo "✅ Task {N} 完成!"
echo ""
echo "📊 进度统计:"
echo " - 已完成: {N}/{总任务数} 任务"
echo " - 进度: {百分比}%"
echo " - 用时: {已用时间}"
echo " - 预计剩余: {剩余时间}"
echo ""
Step 6: 完成所有任务
当所有任务执行完成:
6.1 清理检查点
使用 Bash 工具:
rm .EnjoyHarness/EXECUTION_CHECKPOINT.md
6.2 更新最终状态
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
**Current Phase**: IMPLEMENTATION_COMPLETE
**Active Task**: None
**Last Updated**: {TIMESTAMP}
6.3 生成执行报告
使用 Write 工具创建:.EnjoyHarness/EXECUTION_REPORT.md
# 实施计划执行报告
**计划**: {计划文件名}
**执行时间**: {开始时间} - {结束时间}
**总用时**: {总时间}
**状态**: SUCCESS
## 执行统计
- **总任务数**: {总数}
- **成功任务**: {成功数}
- **失败任务**: {失败数}
- **跳过任务**: {跳过数}
- **成功率**: {百分比}%
## 任务执行详情
| 任务ID | 任务名称 | 状态 | 用时 |
|--------|---------|------|------|
| Task 1.1 | {名称} | ✅ SUCCESS | {时间} |
| Task 1.2 | {名称} | ✅ SUCCESS | {时间} |
...(所有任务)
## 遇到的问题
{列出执行过程中遇到的问题及解决方案}
## 建议
{对后续工作的建议}
6.4 提交执行报告
使用 Bash 工具:
git add .EnjoyHarness/EXECUTION_REPORT.md
git commit -m "docs: add implementation execution report for {feature}"
6.5 更新事件日志
使用 Edit 工具追加到:.EnjoyHarness/EVENT_LOG.md
{TIMESTAMP} | SKILL_COMPLETE | harness-executing-plans | 实施计划执行完成 | SUCCESS
{TIMESTAMP} | TRIGGER_DOWNSTREAM | harness-validate | 触发输出验证 | PENDING
6.6 输出完成信息
使用 Bash 工具输出:
echo ""
echo "🎉 所有任务执行完成!"
echo ""
echo "📋 执行报告: .EnjoyHarness/EXECUTION_REPORT.md"
echo "📊 成功率: {百分比}%"
echo "⏱️ 总用时: {总时间}"
echo ""
echo "🎯 下一步建议:"
echo " - 运行完整测试套件: harness-validate"
echo " - 或继续开发下一个功能: harness-brainstorm"
echo ""
成功标准
失败兜底
- 实施计划不存在 → 提示运行 harness-plan
- 任务执行失败 → 自动重试最多3次,再进入恢复流程
- 测试失败 → 自动记录错误详情,按 retry_policy 处理
- Git 提交失败 → 显示冲突,提示解决
- 仅在真实阻塞且自动恢复失败时才触发人工升级
错误恢复机制
检查点恢复
当执行中断(网络断开、会话结束、用户中断):
- 检查
.EnjoyHarness/EXECUTION_CHECKPOINT.md
- 读取最后完成的任务ID
- 默认从下一个任务继续执行,不等待用户确认
任务级重试
当单个任务失败:
- 记录错误到
.EnjoyHarness/ERROR_LOG.md
- 按
retry_policy=retry_3_then_recover 自动处理
- 第1-3次失败:重新执行当前任务
- 第3次后仍失败:写入恢复状态并触发下游恢复/诊断
- 不再在执行中询问用户
全局熔断
当失败任务数超过阈值(默认:3个):
⚠️ 全局熔断触发
❌ 连续失败任务数: {N}
💡 自动进入恢复或诊断流程;仅在恢复失败时再转人工介入
联动关系
- 触发时机:harness-plan 完成,用户需要执行实施计划
- 上游技能:harness-plan(必须先有实施计划)
- 下游技能:harness-validate(验证输出)、harness-diagnose(错误诊断)
- 并行技能:无(计划执行需要串行)
关键原则
1. 严格按计划执行
不跳过任务,不改变执行顺序,完全按照实施计划执行。
2. 频繁提交
每个任务完成后立即提交,避免大提交。
3. 检查点机制
每个任务完成后记录检查点,支持恢复。
4. 质量验证
每个任务完成后验证成功标准,确保质量。
5. 错误不中断
任务失败时优先使用自动策略,不直接要求用户做即时决策。
迭代计数
本技能执行预计迭代次数:约 50-200 次(取决于任务数)
- Read 实施计划:1次
- 解析任务:1次
- 每个任务执行:5-10次迭代(Write/Edit/Bash)
- 检查点更新:每个任务1次
- 事件日志更新:每个任务1次
- Git 提交:每个任务1次
假设实施计划包含20个任务:
- 总迭代次数: 20 × 7 + 10 = ~150次
参考
- EnjoyHarness设计文档:
docs/plans/2026-03-28-enjoyharness-design-v3.md