agentleFS
konglong87konglong87/enjoy_harness_ai/skills/harness-executing-plans/SKILL.md

harness-executing-plans

Skill0 starsChanged 8 months agoMITView on GitHub

实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪

The file

Files
SKILL.md

harness-executing-plans 实施计划执行技能

核心能力

  1. 逐任务执行实施计划(从 docs/plans/*-implementation-plan.md)
  2. 检查点机制(每个任务完成后记录进度)
  3. 错误恢复(失败后可从最后一个检查点继续)
  4. 进度跟踪(实时更新 EVENT_LOG.md)
  5. 质量验证(每个任务完成后验证成功标准)

前置条件

  • 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 工具检查是否有恢复点:

# 检查 .EnjoyHarness/EXECUTION_CHECKPOINT.md 是否存在
if [ -f .EnjoyHarness/EXECUTION_CHECKPOINT.md ]; then
    cat .EnjoyHarness/EXECUTION_CHECKPOINT.md
    # 提取最后一个完成的任务ID
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 执行任务步骤

根据任务中的步骤逐一执行:

常见步骤类型:

  1. 编写测试 → 使用 Write 工具创建测试文件
  2. 运行测试验证失败 → 使用 Bash 工具运行测试
  3. 编写实现代码 → 使用 Write 或 Edit 工具
  4. 运行测试验证通过 → 使用 Bash 工具运行测试
  5. 提交代码 → 使用 Bash 工具执行 git commit

执行示例:

# Step 1: 编写失败测试
Write to: internal/auth/service_test.go

# Step 2: 运行测试验证失败
go test ./internal/auth -v
# 预期:FAIL

# Step 3: 实现最小代码
Write to: internal/auth/service.go

# Step 4: 运行测试验证通过
go test ./internal/auth -v
# 预期:PASS

# Step 5: 提交代码
git add internal/auth/service.go internal/auth/service_test.go
git commit -m "feat: implement AuthService.Login"

5.3 验证任务完成

验证清单:

  • 所有步骤已执行
  • 测试通过(如有)
  • 代码已提交
  • 无编译错误
  • 无 linting 错误

如果验证失败:

❌ 任务验证失败: {原因}
🤖 自动策略: 重试当前任务(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 ""

成功标准

  • 所有任务已执行
  • 所有测试通过
  • 所有代码已提交
  • 执行报告已生成
  • 事件已记录到 EVENT_LOG.md
  • 检查点文件已清理

失败兜底

  • 实施计划不存在 → 提示运行 harness-plan
  • 任务执行失败 → 自动重试最多3次,再进入恢复流程
  • 测试失败 → 自动记录错误详情,按 retry_policy 处理
  • Git 提交失败 → 显示冲突,提示解决
  • 仅在真实阻塞且自动恢复失败时才触发人工升级

错误恢复机制

检查点恢复

当执行中断(网络断开、会话结束、用户中断):

  1. 检查 .EnjoyHarness/EXECUTION_CHECKPOINT.md
  2. 读取最后完成的任务ID
  3. 默认从下一个任务继续执行,不等待用户确认

任务级重试

当单个任务失败:

  1. 记录错误到 .EnjoyHarness/ERROR_LOG.md
  2. 按 retry_policy=retry_3_then_recover 自动处理
  3. 第1-3次失败:重新执行当前任务
  4. 第3次后仍失败:写入恢复状态并触发下游恢复/诊断
  5. 不再在执行中询问用户

全局熔断

当失败任务数超过阈值(默认: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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.