# Harness Executing Plans

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

- Skill: `konglong87/harness-executing-plans` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add konglong87/harness-executing-plans`
- Raw SKILL.md: https://api.skillmd.com/api/skills/konglong87/harness-executing-plans/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: konglong87 (https://skillmd.com/u/konglong87)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/konglong87/harness-executing-plans

---


# 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 工具查找实施计划：

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

```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 工具输出：

```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

**执行示例**：

```bash
# 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`

```markdown
# 执行检查点

**实施计划**: {计划文件名}
**最后完成任务**: 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`

```markdown
{TIMESTAMP} | TASK_COMPLETE | harness-executing-plans | Task {N} 完成 - {任务名称} | SUCCESS
```

#### 5.6 显示进度

使用 Bash 工具输出：

```bash
echo ""
echo "✅ Task {N} 完成!"
echo ""
echo "📊 进度统计:"
echo " - 已完成: {N}/{总任务数} 任务"
echo " - 进度: {百分比}%"
echo " - 用时: {已用时间}"
echo " - 预计剩余: {剩余时间}"
echo ""
```

### Step 6: 完成所有任务

当所有任务执行完成：

#### 6.1 清理检查点

使用 Bash 工具：

```bash
rm .EnjoyHarness/EXECUTION_CHECKPOINT.md
```

#### 6.2 更新最终状态

使用 Edit 工具更新：`.EnjoyHarness/GLOBAL_STATE.md`

```markdown
**Current Phase**: IMPLEMENTATION_COMPLETE
**Active Task**: None
**Last Updated**: {TIMESTAMP}
```

#### 6.3 生成执行报告

使用 Write 工具创建：`.EnjoyHarness/EXECUTION_REPORT.md`

```markdown
# 实施计划执行报告

**计划**: {计划文件名}
**执行时间**: {开始时间} - {结束时间}
**总用时**: {总时间}
**状态**: SUCCESS

## 执行统计

- **总任务数**: {总数}
- **成功任务**: {成功数}
- **失败任务**: {失败数}
- **跳过任务**: {跳过数}
- **成功率**: {百分比}%

## 任务执行详情

| 任务ID | 任务名称 | 状态 | 用时 |
|--------|---------|------|------|
| Task 1.1 | {名称} | ✅ SUCCESS | {时间} |
| Task 1.2 | {名称} | ✅ SUCCESS | {时间} |
...（所有任务）

## 遇到的问题

{列出执行过程中遇到的问题及解决方案}

## 建议

{对后续工作的建议}
```

#### 6.4 提交执行报告

使用 Bash 工具：

```bash
git add .EnjoyHarness/EXECUTION_REPORT.md
git commit -m "docs: add implementation execution report for {feature}"
```

#### 6.5 更新事件日志

使用 Edit 工具追加到：`.EnjoyHarness/EVENT_LOG.md`

```markdown
{TIMESTAMP} | SKILL_COMPLETE | harness-executing-plans | 实施计划执行完成 | SUCCESS
{TIMESTAMP} | TRIGGER_DOWNSTREAM | harness-validate | 触发输出验证 | PENDING
```

#### 6.6 输出完成信息

使用 Bash 工具输出：

```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`

