소스 정보
- 저장소
- konglong87/enjoy_harness_ai
- 최근 소스 활동
- 2026년 4월 1일 01:57
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/konglong87/enjoy_harness_ai --skill harness-generate-feature-list명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | harness-generate-feature-list |
| description | Initializer Agent: 分析需求文档,自动生成功能清单(feature_list.json),支持动态粒度调整 |
| trigger_words | ["harness-generate-feature-list","生成功能清单","initializer agent","feature list generation"] |
| priority | HIGHEST |
| dependencies | ["harness-determine-granularity"] |
| version | v1.0.0 |
Initializer Agent 的核心技能:分析需求文档,自动生成功能清单(feature_list.json),支持动态粒度调整。
核心职责:
工具: Read
文件列表(优先级从高到低):
1. docs/requirements.md(需求文档)
2. docs/user-stories.md(用户故事)
3. docs/specifications.md(技术规范)
4. README.md(项目概述)
Token 消耗: ~5000 tokens(中型项目)或 ~20000 tokens(大型项目)
失败处理:
- 如果所有文件不存在 → 提示"缺少需求文档,请提供以下任一文件:"
- docs/requirements.md
- docs/user-stories.md
- README.md(至少包含功能列表)
分析维度:
维度 1: 功能点提取
方法:
- 识别功能描述关键词: "实现"、"开发"、"添加"、"支持"
- 解析用户故事格式: "作为...我想要...以便..."
- 提取技术规范中的功能列表
示例:
需求: "用户可以注册账号,填写用户名、密码和邮箱"
提取功能点:
- FEAT-001: 用户注册接口(API)
- FEAT-002: 用户注册页面(UI)
- FEAT-003: 注册表单验证(Core)
Token 消耗: ~1000 tokens
维度 2: 依赖关系识别
方法:
- 识别功能前置条件: "注册前需要验证邮箱唯一性"
- 构建依赖图: FEAT-001(注册)← FEAT-002(验证)
- 记录到功能清单的 dependencies 字段
Token 消耗: ~500 tokens
维度 3: 复杂度评估
方法:
- 简单: 单一功能点,无外部依赖(复杂度系数 1.0
拆分策略:
策略 1: COARSE(粗粒度)
适用场景: 功能数 <10,执行时间 <20 小时
拆分规则:
- 保持功能完整性(不拆分)
- 合并相关功能(如"用户注册"合并 UI + API)
- 减少功能总数(优先级低的功能可延后)
示例:
原始需求: 8 个功能点
COARSE 拆分: 合并为 5 个功能项
- FEAT-001: 用户注册(合并注册接口 + 注册页面)
- FEAT-002: 用户登录(合并登录接口 + 登录页面)
- FEAT-003: 用户资料管理
- FEAT-004: 密码重置
- FEAT-005: 用户注销
Token 消耗: ~500 tokens
策略 2: MEDIUM(中粒度)
适用场景: 功能数 10-50,执行时间 20
工具: Write
文件: .EnjoyHarness/feature_list.json
格式: JSON(符合 JSON Schema)
功能项字段:
- id: 功能ID(格式:FEAT-{数字},如 FEAT-001)
- category: 功能分类(core/api/ui/security/performance/test)
- description: 功能描述(简洁清晰,可执行)
- priority: 优先级(HIGH/MEDIUM/LOW)
- steps: 验证步骤(端到端测试步骤)
- passes: 是否通过(初始值:false)
- dependencies: 依赖功能ID列表(可选)
- estimated_hours: 预计开发时间(小时)
- complexity: 复杂度等级(SIMPLE/MEDIUM/COMPLEX)
Token 消耗: ~2000 tokens(小型)或 ~10000 tokens(大型)
验证:
- 使用 Python jsonschema 验证 JSON 格式
- 检查功能ID唯一性
- 检查依赖关系有效性(无循环依赖)
验证维度:
维度 1: 需求覆盖率
方法:
- 对比需求文档与功能清单
- 计算覆盖率: 覆盖功能数 / 总需求数
- 阈值: 覆盖率 ≥ 95%(允许少量非功能性需求未覆盖)
Token 消耗: ~300 tokens
维度 2: 功能项合理性
检查项:
- 功能描述是否清晰(可执行)
- 验证步骤是否完整(端到端可测试)
- 优先级是否合理(符合业务价值)
- 依赖关系是否正确(无循环依赖)
Token 消耗: ~500 tokens
维度 3: 粒度一致性
检查项:
- 所有功能项粒度是否一致(基于粒度等级)
- 单个功能项预估时间是否合理(COARSE: 4-8h, MEDIUM: 2-4h, FINE: 1-2h)
- 功能项总数是否符合粒度等级预期
Token 消耗: ~200 tokens
报告格式:
📋 功能清单生成报告
项目名称: {project_name}
生成时间: {timestamp}
粒度等级: {granularity_level}
功能统计:
- 功能总数: {total_features}
- 核心功能: {core_features}
- API 功能: {api_features}
- UI 功能: {ui_features}
- 安全功能: {security_features}
- 性能功能: {performance_features}
- 测试功能: {test_features}
优先级分布:
- HIGH: {high_priority_features} ({high_percentage}%)
- MEDIUM: {medium_priority_features} ({medium_percentage}%)
- LOW: {low_priority_features} ({low_percentage}%)
复杂度分布:
- SIMPLE: {simple_features} (复杂度系数 1.0)
- MEDIUM: {medium_features}
{}
{}
{}
{}
必须满足:
harness-init(系统初始化)harness-determine-granularity(粒度等级已确定)如果前置条件不满足:
harness-determine-granularity成功标准:
失败情况:
检测: 所有文档文件不存在
处理:
1. 自动回退到仓库现有上下文:
- README.md
- docs/ 目录结构
- 现有源码目录命名
2. 使用内置需求模板生成初始功能清单
3. 记录 WARNING | REQUIREMENT_DOCS_MISSING_AUTOFALLBACK
4. 继续执行,不等待用户上传
5. 提供文档模板作为后续优化参考:
- docs/requirements.md(需求列表)
- docs/user-stories.md(用户故事)
6. 提供示例:
- 示例 1: 电商平台需求文档
- 示例 2: 博客系统用户故事
检测: 正则表达式匹配失败,覆盖率 < 50%
处理:
1. 尝试多种提取策略:
策略 1: 关键词搜索(实现、开发、添加)
策略 2: 标题解析(## 功能列表)
策略 3: 表格解析(| 功能 | 描述 |)
策略 4: 自然语言处理(AI 辅助提取)
2. 如果仍然失败 → 自动生成保守功能列表:
- 按目录和模块命名推断功能
- 未能确认的条目标记为 `assumption: true`
- 记录 WARNING | FEATURE_EXTRACTION_DEGRADED
3. 使用保守功能列表继续生成功能清单
检测: 功能A依赖B,B依赖C,C依赖A(循环依赖)
处理:
1. 输出循环依赖链: A → B → C → A
2. 自动解除循环依赖:
- 移除优先级最低的依赖
- 记录警告到 EVENT_LOG.md
检测: Python jsonschema 验证失败
处理:
1. 输出验证错误详情:
- 错误字段: {field_name}
- 错误类型: {error_type}
- 错误位置: {json_path}
2. 尝试自动修复:
- 缺少必填字段 → 使用默认值
- 字段类型错误 → 转换类型
3. 如果无法修复 → 触发 harness-handle-failure;仅真实阻塞时升级人工介入
生成成功:
- 触发 harness-track-feature-progress(开始开发第一个功能)
- 写入 GLOBAL_STATE.md(feature_list_generated: true)
触发时机:
- harness-init 完成后(自动生成功能清单)
- harness-determine-granularity 完成后(确定粒度后生成)
- 用户显式调用:"生成功能清单"
必须依赖:
- harness-init(系统初始化)
- harness-determine-granularity(粒度等级确定)
小型项目(10项):
- Read 需求文档: ~5000 tokens
- 分析需求内容: ~1800 tokens
- 拆分功能项: ~500 tokens
- 生成功能清单: ~2000 tokens
- 验证完整性: ~1000 tokens
- 输出报告: ~500 tokens
总计: ~10800 tokens
中型项目(50项):
- Read 需求文档: ~10000 tokens
- 其他步骤按比例增加
总计: ~25000 tokens
大型项目(200项):
- Read 需求文档: ~20000 tokens
- 其他步骤按比例增加
总计: ~50000 tokens
性能优化:
- 分批处理大型项目(每批 50 项)
- 增量式生成(边分析边写入)
- Token
输入:
需求文档: docs/requirements.md
内容: "电商平台包含用户管理、商品管理、订单管理、支付系统等 215 个功能点..."
处理:
1. Read docs/requirements.md
2. 提取功能点:
- 用户注册、用户登录、商品浏览、添加购物车、下单支付、订单查询...
- 总计 215 个功能点
3. 基于FINE 粒度拆分:
- 用户注册 → 拆分为 6 个功能项(API、UI、Core、Security、Test、Validation)
- 商品浏览 → 拆分为 4 个功能项(API、UI、Core、Test)
- ...
4. 生成功能清单:
- FEAT-001: 用户注册接口(API, HIGH, 2h)
- FEAT-002: 用户注册页面(UI, HIGH, 3h)
- FEAT-003: 注册表单验证(Core, HIGH, 1h)
- ...(共 320
输入:
需求文档: docs/user-stories.md
内容: "作为博主,我想要发布文章,以便分享知识..."
处理:
1. Read docs/user-stories.md
2. 提取功能点(用户故事格式):
- 发布文章、编辑文章、删除文章、评论管理、用户关注...
- 总计 35 个功能点
3. 基于MEDIUM 粒度拆分:
- 保持功能完整性(不拆分)
- 按优先级排序
4. 生成功能清单:
- FEAT-001: 文章发布(Core, HIGH, 4h)
- FEAT-002: 文章编辑(Core, HIGH, 3h)
- ...(共 35 个功能项)
输出:
📋 功能清单生成报告
功能总数: 35
粒度等级: MEDIUM
预计总工时: 94 小时
需求覆盖率: 100%
下一步: 使用单会话模式,每次
输入:
需求文档: README.md
内容: "待办事项应用,包含添加任务、删除任务、标记完成..."
处理:
1. Read README.md
2. 提取功能点:
- 添加任务、删除任务、标记完成、任务列表显示
- 总计 5 个功能点
3. 基于COARSE 粒度拆分:
- 合并相关功能
- 减少功能总数
4. 生成功能清单:
- FEAT-001: 任务管理(合并添加、删除、标记, Core, HIGH, 6h)
- FEAT-002: 任务列表显示(UI, MEDIUM, 4h)
- 共 2 个功能项)
输出:
📋 功能清单生成报告
功能总数: 2
粒度等级: COARSE
预计总工时: 10 小时
需求覆盖率: 100%
下一步: 使用快速模式,一次性完成所有功能
Token 优化:
- 分批处理大型项目(每批 50 项)
- 增量式生成(边分析边写入)
- 缓存中间结果(避免重复计算)
执行优化:
- 并行读取多个需求文档
- 异步生成功能清单
- 流式写入 JSON 文件
总体优化:
- Token 消耗降低 30%
- 执行时长缩短 40%