用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/konglong87/enjoy_harness_ai --skill harness-track-feature-progress命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | harness-track-feature-progress |
| description | 从 feature_list.json 选择下一个未完成功能,更新 GLOBAL_STATE.md,触发下游技能 |
| trigger_words | ["harness-track-feature-progress","选择下一个功能","功能追踪"] |
| priority | HIGH |
| dependencies | ["harness-init"] |
| version | v1.0.0 |
从 feature_list.json 选择下一个未完成功能,更新全局状态,触发下游技能执行。
核心职责:
feature_list.jsonGLOBAL_STATE.md(current_feature 字段)EVENT_LOG.md工具: Read
文件: .EnjoyHarness/feature_list.json
Token 消耗: ~500 tokens(10项)或 ~8000 tokens(200项)
失败处理:
- 如果文件不存在 → 提示"请先运行 Initializer Agent 生成功能清单"
- 如果 JSON 格式错误 → 提示"feature_list.json 格式错误"
工具: Bash
命令: python3 tools/validate_feature_list.py
Token 消耗: ~100 tokens
失败处理:
- 如果验证失败 → 拒绝继续执行,记录错误到 EVENT_LOG.md
处理逻辑:
1. 过滤 passes: false 的功能
2. 按 priority 排序(HIGH > MEDIUM > LOW)
3. 按 category 排序(core > api > ui > security > performance > test)
4. 按 id 排序(FEAT-001 > FEAT-002 > ...)
5. 选择第一个作为当前功能
Token 消耗: ~500 tokens
工具: Edit
文件: .EnjoyHarness/GLOBAL_STATE.md
修改字段: current_feature: null → FEAT-001
Token 消耗: ~50 tokens
工具: Edit
文件: .EnjoyHarness/EVENT_LOG.md
追加内容:
- 时间戳:2026-03-28T12:00:00
- 事件类型:FEATURE_SELECT
- 功能ID:FEAT-001
- 功能描述:实现功能清单机制
Token 消耗: ~50 tokens
输出格式:
功能ID: FEAT-001
分类: core
优先级: HIGH
描述: 实现功能清单机制 - feature_list.json 强约束管理
验证步骤:
1. 创建 feature_list.json 文件(符合 JSON Schema)
2. 实现 JSON Schema 验证(Python jsonschema)
3. 实现 harness-track-feature-progress 技能
4. 测试功能选择逻辑(优先级排序)
Token 消耗: ~100 tokens
单会话模式:
- 触发: harness-goal(创建 SMART 目标)
并行模式:
- 触发: harness-schedule-parallel-agents(批量生成子代理)
模式识别逻辑:
if 项目规模 == "LARGE" OR 功能数 > 50 OR 用户显式指定:
模式 = "并行模式"
else:
模式 = "单会话模式"
必须满足:
harness-init(系统初始化完成).EnjoyHarness/feature_list.json 存在如果前置条件不满足:
harness-init 或生成功能清单成功标准:
feature_list.jsonGLOBAL_STATE.md(current_feature 字段)EVENT_LOG.md失败情况:
检测: Read 失败
处理:
1. 输出提示:"请先运行 Initializer Agent 生成功能清单"
2. 记录到 EVENT_LOG.md(ERROR | FEATURE_LIST_NOT_FOUND)
3. 退出执行(不继续后续步骤)
检测: validate_feature_list.py 返回非零退出码
处理:
1. 输出提示:"feature_list.json 格式错误,请检查 JSON Schema"
2. 记录到 EVENT_LOG.md(ERROR | JSON_SCHEMA_VALIDATION_FAILED)
3. 退出执行(不继续后续步骤)
检测: passes: false 的功能为空
处理:
1. 输出提示:"所有功能已完成"
2. 触发最终报告生成
3. 记录到 EVENT_LOG.md(INFO | ALL_FEATURES_COMPLETED)
4. 退出执行
检测: Edit 失败
处理:
1. 重试一次(最多 2 次)
2. 如果仍然失败 → 记录到 EVENT_LOG.md(ERROR | GLOBAL_STATE_UPDATE_FAILED)
3. 触发 harness-handle-failure
单会话模式:
- harness-goal(创建 SMART 目标)
并行模式:
- harness-schedule-parallel-agents(批量生成子代理)
触发时机:
- 主会话启动时(自动)
- 子代理完成后(主会话选择下一个功能)
- 功能开发完成后(标记完成,选择下一个)
- 用户显式调用:"选择下一个功能"
必须依赖:
- harness-init(系统初始化)
小项目(10项):
- 读取 feature_list.json: ~500 tokens
- JSON Schema 验证: ~100 tokens
- 解析和排序: ~500 tokens
- 更新 GLOBAL_STATE.md: ~50 tokens
- 记录 EVENT_LOG.md: ~50 tokens
- 输出功能信息: ~100 tokens
总计: ~1300 tokens
大项目(200项):
- 读取 feature_list.json: ~8000 tokens
- 其他步骤相同
总计: ~8800 tokens
输入:
feature_list.json 包含 6 个功能,全部 passes: false
处理:
1. 读取并解析 JSON
2. 验证 JSON Schema
3. 过滤 passes: false(6 个功能)
4. 排序:
- FEAT-001 (priority: HIGH, category: core)
- FEAT-002 (priority: HIGH, category: core)
- FEAT-003 (priority: HIGH, category: core)
- FEAT-004 (priority: MEDIUM, category: api)
- FEAT-005 (priority: MEDIUM, category: api)
- FEAT-006 (priority: LOW, category: ui)
5.
输入:
feature_list.json 包含 6 个功能,全部 passes: true
处理:
1. 读取并解析 JSON
2. 过滤 passes: false(空列表)
3. 输出提示:"所有功能已完成"
输出:
🎉 所有功能已完成!
总功能数:6
已完成:6
完成率:100%
下一步:
- 生成最终报告
- 触发 harness-auto-full-execution 结束流程
JSON Schema 强约束
passes 字段优先级排序
模式切换
大项目优化:
- 使用 JSON 压缩(去掉空格和缩进)
- Token 消耗降低 30%
状态读取优化:
- 仅读取必要字段(id, priority, category, passes)
- Token 消耗降低 50%