maestro-flow 0.4.10 → 0.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/.agents/agents/cli-explore-agent.md +189 -0
  2. package/.agents/agents/conceptual-planning-agent.md +247 -0
  3. package/.agents/agents/impeccable-agent.md +101 -0
  4. package/.agents/agents/team-supervisor.md +145 -0
  5. package/.agents/agents/team-worker.md +239 -0
  6. package/.agents/agents/ui-design-agent.md +289 -0
  7. package/.agents/agents/workflow-analyzer.md +117 -0
  8. package/.agents/agents/workflow-codebase-mapper.md +79 -0
  9. package/.agents/agents/workflow-collab-planner.md +145 -0
  10. package/.agents/agents/workflow-debugger.md +105 -0
  11. package/.agents/agents/workflow-executor.md +134 -0
  12. package/.agents/agents/workflow-external-researcher.md +88 -0
  13. package/.agents/agents/workflow-integration-checker.md +85 -0
  14. package/.agents/agents/workflow-nyquist-auditor.md +87 -0
  15. package/.agents/agents/workflow-phase-researcher.md +87 -0
  16. package/.agents/agents/workflow-plan-checker.md +92 -0
  17. package/.agents/agents/workflow-planner.md +197 -0
  18. package/.agents/agents/workflow-project-researcher.md +76 -0
  19. package/.agents/agents/workflow-research-synthesizer.md +72 -0
  20. package/.agents/agents/workflow-reviewer.md +84 -0
  21. package/.agents/agents/workflow-roadmapper.md +83 -0
  22. package/.agents/agents/workflow-verifier.md +122 -0
  23. package/.agents/skills/codify-to-knowhow/SKILL.md +169 -0
  24. package/.agents/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
  25. package/.agents/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
  26. package/.agents/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
  27. package/.agents/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
  28. package/.agents/skills/learn-decompose/SKILL.md +118 -0
  29. package/.agents/skills/learn-follow/SKILL.md +129 -0
  30. package/.agents/skills/learn-investigate/SKILL.md +154 -0
  31. package/.agents/skills/learn-retro/SKILL.md +159 -0
  32. package/.agents/skills/learn-second-opinion/SKILL.md +124 -0
  33. package/.agents/skills/maestro/SKILL.md +224 -0
  34. package/.agents/skills/maestro-amend/SKILL.md +165 -0
  35. package/.agents/skills/maestro-analyze/SKILL.md +135 -0
  36. package/.agents/skills/maestro-brainstorm/SKILL.md +118 -0
  37. package/.agents/skills/maestro-collab/SKILL.md +174 -0
  38. package/.agents/skills/maestro-composer/SKILL.md +181 -0
  39. package/.agents/skills/maestro-execute/SKILL.md +133 -0
  40. package/.agents/skills/maestro-fork/SKILL.md +88 -0
  41. package/.agents/skills/maestro-guard/SKILL.md +103 -0
  42. package/.agents/skills/maestro-help/SKILL.md +266 -0
  43. package/.agents/skills/maestro-help/index/catalog.json +184 -0
  44. package/.agents/skills/maestro-help/phases/01-parse-intent.md +122 -0
  45. package/.agents/skills/maestro-help/phases/02-search-present.md +181 -0
  46. package/.agents/skills/maestro-help/phases/03-workflow-guide.md +186 -0
  47. package/.agents/skills/maestro-impeccable/SKILL.md +251 -0
  48. package/.agents/skills/maestro-init/SKILL.md +80 -0
  49. package/.agents/skills/maestro-learn/SKILL.md +142 -0
  50. package/.agents/skills/maestro-merge/SKILL.md +66 -0
  51. package/.agents/skills/maestro-milestone-audit/SKILL.md +70 -0
  52. package/.agents/skills/maestro-milestone-complete/SKILL.md +77 -0
  53. package/.agents/skills/maestro-milestone-release/SKILL.md +98 -0
  54. package/.agents/skills/maestro-overlay/SKILL.md +180 -0
  55. package/.agents/skills/maestro-plan/SKILL.md +172 -0
  56. package/.agents/skills/maestro-player/SKILL.md +177 -0
  57. package/.agents/skills/maestro-quick/SKILL.md +67 -0
  58. package/.agents/skills/maestro-ralph/SKILL.md +685 -0
  59. package/.agents/skills/maestro-ralph-execute/SKILL.md +259 -0
  60. package/.agents/skills/maestro-roadmap/SKILL.md +170 -0
  61. package/.agents/skills/maestro-tools-execute/SKILL.md +119 -0
  62. package/.agents/skills/maestro-tools-register/SKILL.md +159 -0
  63. package/.agents/skills/maestro-ui-codify/SKILL.md +82 -0
  64. package/.agents/skills/maestro-update/SKILL.md +178 -0
  65. package/.agents/skills/maestro-verify/SKILL.md +111 -0
  66. package/.agents/skills/manage-codebase-rebuild/SKILL.md +77 -0
  67. package/.agents/skills/manage-codebase-refresh/SKILL.md +59 -0
  68. package/.agents/skills/manage-harvest/SKILL.md +96 -0
  69. package/.agents/skills/manage-issue/SKILL.md +75 -0
  70. package/.agents/skills/manage-issue-discover/SKILL.md +83 -0
  71. package/.agents/skills/manage-knowhow/SKILL.md +79 -0
  72. package/.agents/skills/manage-knowhow-capture/SKILL.md +81 -0
  73. package/.agents/skills/manage-learn/SKILL.md +67 -0
  74. package/.agents/skills/manage-status/SKILL.md +54 -0
  75. package/.agents/skills/manage-wiki/SKILL.md +64 -0
  76. package/.agents/skills/quality-auto-test/SKILL.md +138 -0
  77. package/.agents/skills/quality-debug/SKILL.md +122 -0
  78. package/.agents/skills/quality-refactor/SKILL.md +69 -0
  79. package/.agents/skills/quality-retrospective/SKILL.md +79 -0
  80. package/.agents/skills/quality-review/SKILL.md +130 -0
  81. package/.agents/skills/quality-sync/SKILL.md +53 -0
  82. package/.agents/skills/quality-test/SKILL.md +119 -0
  83. package/.agents/skills/security-audit/SKILL.md +157 -0
  84. package/.agents/skills/skill-iter-tune/SKILL.md +384 -0
  85. package/.agents/skills/skill-iter-tune/phases/01-setup.md +144 -0
  86. package/.agents/skills/skill-iter-tune/phases/02-execute.md +292 -0
  87. package/.agents/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
  88. package/.agents/skills/skill-iter-tune/phases/04-improve.md +186 -0
  89. package/.agents/skills/skill-iter-tune/phases/05-report.md +166 -0
  90. package/.agents/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
  91. package/.agents/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
  92. package/.agents/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
  93. package/.agents/skills/spec-add/SKILL.md +70 -0
  94. package/.agents/skills/spec-load/SKILL.md +73 -0
  95. package/.agents/skills/spec-remove/SKILL.md +53 -0
  96. package/.agents/skills/spec-setup/SKILL.md +50 -0
  97. package/.agents/skills/team-coordinate/SKILL.md +268 -0
  98. package/.agents/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
  99. package/.agents/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
  100. package/.agents/skills/team-coordinate/roles/coordinator/commands/monitor.md +358 -0
  101. package/.agents/skills/team-coordinate/roles/coordinator/role.md +365 -0
  102. package/.agents/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
  103. package/.agents/skills/team-coordinate/specs/pipelines.md +97 -0
  104. package/.agents/skills/team-coordinate/specs/quality-gates.md +112 -0
  105. package/.agents/skills/team-coordinate/specs/role-spec-template.md +198 -0
  106. package/.agents/skills/team-executor/SKILL.md +191 -0
  107. package/.agents/skills/team-executor/roles/executor/commands/monitor.md +239 -0
  108. package/.agents/skills/team-executor/roles/executor/role.md +171 -0
  109. package/.agents/skills/team-executor/specs/session-schema.md +264 -0
  110. package/.agents/skills/team-lifecycle-v4/SKILL.md +211 -0
  111. package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +96 -0
  112. package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
  113. package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
  114. package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
  115. package/.agents/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
  116. package/.agents/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
  117. package/.agents/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
  118. package/.agents/skills/team-lifecycle-v4/roles/executor/role.md +69 -0
  119. package/.agents/skills/team-lifecycle-v4/roles/planner/role.md +87 -0
  120. package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
  121. package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
  122. package/.agents/skills/team-lifecycle-v4/roles/reviewer/role.md +71 -0
  123. package/.agents/skills/team-lifecycle-v4/roles/supervisor/role.md +194 -0
  124. package/.agents/skills/team-lifecycle-v4/roles/tester/role.md +89 -0
  125. package/.agents/skills/team-lifecycle-v4/roles/writer/role.md +97 -0
  126. package/.agents/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
  127. package/.agents/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
  128. package/.agents/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
  129. package/.agents/skills/team-lifecycle-v4/templates/architecture.md +254 -0
  130. package/.agents/skills/team-lifecycle-v4/templates/epics.md +196 -0
  131. package/.agents/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
  132. package/.agents/skills/team-lifecycle-v4/templates/requirements.md +224 -0
  133. package/.agents/skills/team-quality-assurance/SKILL.md +149 -0
  134. package/.agents/skills/team-quality-assurance/roles/analyst/role.md +90 -0
  135. package/.agents/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
  136. package/.agents/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
  137. package/.agents/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +250 -0
  138. package/.agents/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
  139. package/.agents/skills/team-quality-assurance/roles/executor/role.md +68 -0
  140. package/.agents/skills/team-quality-assurance/roles/generator/role.md +70 -0
  141. package/.agents/skills/team-quality-assurance/roles/scout/role.md +77 -0
  142. package/.agents/skills/team-quality-assurance/roles/strategist/role.md +73 -0
  143. package/.agents/skills/team-quality-assurance/specs/pipelines.md +115 -0
  144. package/.agents/skills/team-quality-assurance/specs/team-config.json +131 -0
  145. package/.agents/skills/team-review/SKILL.md +149 -0
  146. package/.agents/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
  147. package/.agents/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
  148. package/.agents/skills/team-review/roles/coordinator/commands/monitor.md +224 -0
  149. package/.agents/skills/team-review/roles/coordinator/role.md +132 -0
  150. package/.agents/skills/team-review/roles/fixer/role.md +78 -0
  151. package/.agents/skills/team-review/roles/reviewer/role.md +70 -0
  152. package/.agents/skills/team-review/roles/scanner/role.md +81 -0
  153. package/.agents/skills/team-review/specs/dimensions.md +82 -0
  154. package/.agents/skills/team-review/specs/finding-schema.json +82 -0
  155. package/.agents/skills/team-review/specs/pipelines.md +102 -0
  156. package/.agents/skills/team-review/specs/team-config.json +27 -0
  157. package/.agents/skills/team-tech-debt/SKILL.md +130 -0
  158. package/.agents/skills/team-tech-debt/roles/assessor/role.md +79 -0
  159. package/.agents/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
  160. package/.agents/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
  161. package/.agents/skills/team-tech-debt/roles/coordinator/commands/monitor.md +209 -0
  162. package/.agents/skills/team-tech-debt/roles/coordinator/role.md +123 -0
  163. package/.agents/skills/team-tech-debt/roles/executor/role.md +78 -0
  164. package/.agents/skills/team-tech-debt/roles/planner/role.md +71 -0
  165. package/.agents/skills/team-tech-debt/roles/scanner/role.md +92 -0
  166. package/.agents/skills/team-tech-debt/roles/validator/role.md +80 -0
  167. package/.agents/skills/team-tech-debt/specs/pipelines.md +47 -0
  168. package/.agents/skills/team-tech-debt/specs/team-config.json +129 -0
  169. package/.agents/skills/team-testing/SKILL.md +145 -0
  170. package/.agents/skills/team-testing/roles/analyst/role.md +105 -0
  171. package/.agents/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
  172. package/.agents/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
  173. package/.agents/skills/team-testing/roles/coordinator/commands/monitor.md +257 -0
  174. package/.agents/skills/team-testing/roles/coordinator/role.md +134 -0
  175. package/.agents/skills/team-testing/roles/executor/role.md +101 -0
  176. package/.agents/skills/team-testing/roles/generator/role.md +100 -0
  177. package/.agents/skills/team-testing/roles/strategist/role.md +85 -0
  178. package/.agents/skills/team-testing/specs/pipelines.md +101 -0
  179. package/.agents/skills/team-testing/specs/team-config.json +93 -0
  180. package/.agents/skills/wiki-connect/SKILL.md +64 -0
  181. package/.agents/skills/wiki-digest/SKILL.md +70 -0
  182. package/.agents/skills/workflow-skill-designer/SKILL.md +498 -0
  183. package/.agents/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
  184. package/.agents/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
  185. package/.agents/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
  186. package/.agents/skills/workflow-skill-designer/phases/04-validation.md +471 -0
  187. package/.agy/skills/maestro/SKILL.md +13 -11
  188. package/.agy/skills/maestro-ralph/SKILL.md +222 -87
  189. package/.claude/commands/maestro-ralph.md +222 -87
  190. package/.claude/commands/maestro.md +13 -11
  191. package/.codex/skills/maestro/SKILL.md +23 -17
  192. package/.codex/skills/maestro-ralph/SKILL.md +177 -67
  193. package/dist/src/commands/install-backend.d.ts +12 -0
  194. package/dist/src/commands/install-backend.d.ts.map +1 -1
  195. package/dist/src/commands/install-backend.js +144 -0
  196. package/dist/src/commands/install-backend.js.map +1 -1
  197. package/dist/src/core/component-defs.d.ts +6 -0
  198. package/dist/src/core/component-defs.d.ts.map +1 -1
  199. package/dist/src/core/component-defs.js +97 -0
  200. package/dist/src/core/component-defs.js.map +1 -1
  201. package/dist/src/tui/install-ui/ExtraMcpConfig.d.ts +11 -0
  202. package/dist/src/tui/install-ui/ExtraMcpConfig.d.ts.map +1 -0
  203. package/dist/src/tui/install-ui/ExtraMcpConfig.js +61 -0
  204. package/dist/src/tui/install-ui/ExtraMcpConfig.js.map +1 -0
  205. package/dist/src/tui/install-ui/InstallConfirm.d.ts +3 -0
  206. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  207. package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
  208. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  209. package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
  210. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  211. package/dist/src/tui/install-ui/InstallExecution.js +14 -2
  212. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  213. package/dist/src/tui/install-ui/InstallFlow.d.ts +1 -1
  214. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  215. package/dist/src/tui/install-ui/InstallFlow.js +16 -3
  216. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  217. package/dist/src/tui/install-ui/InstallHub.d.ts +2 -0
  218. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  219. package/dist/src/tui/install-ui/InstallHub.js +8 -0
  220. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  221. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  222. package/dist/src/tui/install-ui/InstallResult.js +3 -1
  223. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  224. package/dist/src/utils/update-notices.js +19 -0
  225. package/dist/src/utils/update-notices.js.map +1 -1
  226. package/package.json +5 -2
@@ -0,0 +1,63 @@
1
+ # Evaluation Criteria
2
+
3
+ Skill 质量评估标准,由 Phase 03 (Evaluate) 引用。Gemini 按此标准对 skill 产出物进行多维度评分。
4
+
5
+ ## Dimensions
6
+
7
+ | Dimension | Weight | ID | Description |
8
+ |-----------|--------|----|-------------|
9
+ | Clarity | 0.20 | clarity | 指令清晰无歧义,结构良好,易于遵循。Phase 文件有明确的 Step 划分、输入输出说明 |
10
+ | Completeness | 0.25 | completeness | 覆盖所有必要阶段、边界情况、错误处理。没有遗漏关键执行路径 |
11
+ | Correctness | 0.25 | correctness | 逻辑正确,数据流一致,Phase 间无矛盾。State schema 与实际使用匹配 |
12
+ | Effectiveness | 0.20 | effectiveness | 在给定测试场景下能产出高质量输出。产物满足用户需求和成功标准 |
13
+ | Efficiency | 0.10 | efficiency | 无冗余内容,上下文使用合理,不浪费 token。Phase 职责清晰无重叠 |
14
+
15
+ ## Scoring Guide
16
+
17
+ | Range | Level | Description |
18
+ |-------|-------|-------------|
19
+ | 90-100 | Excellent | 生产级别,几乎无改进空间 |
20
+ | 80-89 | Good | 可投入使用,仅需微调 |
21
+ | 70-79 | Adequate | 功能可用,有明显可改进区域 |
22
+ | 60-69 | Needs Work | 存在影响产出质量的显著问题 |
23
+ | 0-59 | Poor | 结构或逻辑存在根本性问题 |
24
+
25
+ ## Composite Score Calculation
26
+
27
+ ```
28
+ composite = sum(dimension.score * dimension.weight)
29
+ ```
30
+
31
+ ## Output JSON Schema
32
+
33
+ ```json
34
+ {
35
+ "composite_score": 75,
36
+ "dimensions": [
37
+ { "name": "Clarity", "id": "clarity", "score": 80, "weight": 0.20, "feedback": "..." },
38
+ { "name": "Completeness", "id": "completeness", "score": 70, "weight": 0.25, "feedback": "..." },
39
+ { "name": "Correctness", "id": "correctness", "score": 78, "weight": 0.25, "feedback": "..." },
40
+ { "name": "Effectiveness", "id": "effectiveness", "score": 72, "weight": 0.20, "feedback": "..." },
41
+ { "name": "Efficiency", "id": "efficiency", "score": 85, "weight": 0.10, "feedback": "..." }
42
+ ],
43
+ "strengths": ["...", "...", "..."],
44
+ "weaknesses": ["...", "...", "..."],
45
+ "suggestions": [
46
+ {
47
+ "priority": "high",
48
+ "target_file": "phases/02-execute.md",
49
+ "description": "Add explicit error handling for CLI timeout",
50
+ "rationale": "Current phase has no recovery path when CLI execution exceeds timeout",
51
+ "code_snippet": "optional suggested replacement code"
52
+ }
53
+ ]
54
+ }
55
+ ```
56
+
57
+ ## Evaluation Focus by Iteration
58
+
59
+ | Iteration | Primary Focus |
60
+ |-----------|--------------|
61
+ | 1 | 全面评估,建立 baseline |
62
+ | 2-3 | 重点关注上一轮 weaknesses 是否改善,避免重复已解决的问题 |
63
+ | 4+ | 精细化改进,关注 Effectiveness 和 Efficiency |
@@ -0,0 +1,134 @@
1
+ # Evaluation Prompt Template
2
+
3
+ Phase 03 使用此模板构造 ccw cli 提示词,让 Gemini 按多维度评估 skill 质量。
4
+
5
+ ## Template
6
+
7
+ ```
8
+ PURPOSE: Evaluate the quality of a workflow skill by examining both its definition files and the artifacts it produced when executed against a test scenario. Provide a structured multi-dimensional score with actionable improvement suggestions.
9
+
10
+ SKILL DEFINITION:
11
+ ${skillContent}
12
+
13
+ TEST SCENARIO:
14
+ ${testScenario.description}
15
+ Requirements: ${testScenario.requirements}
16
+ Success Criteria: ${testScenario.success_criteria}
17
+
18
+ ARTIFACTS PRODUCED:
19
+ ${artifactsSummary}
20
+
21
+ EVALUATION CRITERIA:
22
+ ${evaluationCriteria}
23
+
24
+ ${previousEvalContext}
25
+
26
+ TASK:
27
+ 1. Read all skill definition files and produced artifacts carefully
28
+ 2. Score each dimension on 0-100 based on the evaluation criteria:
29
+ - Clarity (weight 0.20): Instructions unambiguous, well-structured, easy to follow
30
+ - Completeness (weight 0.25): All phases, edge cases, error handling covered
31
+ - Correctness (weight 0.25): Logic sound, data flow consistent, no contradictions
32
+ - Effectiveness (weight 0.20): Produces high-quality output for the test scenario
33
+ - Efficiency (weight 0.10): Minimal redundancy, appropriate context usage
34
+ 3. Calculate weighted composite score
35
+ 4. List top 3 strengths
36
+ 5. List top 3-5 weaknesses with specific file:section references
37
+ 6. Provide 3-5 prioritized improvement suggestions with concrete changes
38
+
39
+ MODE: analysis
40
+
41
+ EXPECTED OUTPUT FORMAT (strict JSON, no markdown wrapping):
42
+ {
43
+ "composite_score": <number 0-100>,
44
+ "dimensions": [
45
+ { "name": "Clarity", "id": "clarity", "score": <0-100>, "weight": 0.20, "feedback": "<specific feedback>" },
46
+ { "name": "Completeness", "id": "completeness", "score": <0-100>, "weight": 0.25, "feedback": "<specific feedback>" },
47
+ { "name": "Correctness", "id": "correctness", "score": <0-100>, "weight": 0.25, "feedback": "<specific feedback>" },
48
+ { "name": "Effectiveness", "id": "effectiveness", "score": <0-100>, "weight": 0.20, "feedback": "<specific feedback>" },
49
+ { "name": "Efficiency", "id": "efficiency", "score": <0-100>, "weight": 0.10, "feedback": "<specific feedback>" }
50
+ ],
51
+ "strengths": ["<strength 1>", "<strength 2>", "<strength 3>"],
52
+ "weaknesses": ["<weakness 1 with file:section reference>", "..."],
53
+ "suggestions": [
54
+ {
55
+ "priority": "high|medium|low",
56
+ "target_file": "<relative path to skill file>",
57
+ "description": "<what to change>",
58
+ "rationale": "<why this improves quality>",
59
+ "code_snippet": "<optional: suggested replacement content>"
60
+ }
61
+ ],
62
+ "chain_scores": {
63
+ "<skill_name>": "<number 0-100, per-skill score — only present in chain mode>"
64
+ }
65
+ }
66
+
67
+ CONSTRAINTS:
68
+ - Be rigorous and specific — reference exact file paths and sections
69
+ - Each suggestion MUST include a target_file that maps to a skill file
70
+ - Focus suggestions on highest-impact changes first
71
+ - Do NOT suggest changes already addressed in previous iterations
72
+ - Output ONLY the JSON object, no surrounding text or markdown
73
+ ```
74
+
75
+ ## Variable Substitution
76
+
77
+ | Variable | Source | Description |
78
+ |----------|--------|-------------|
79
+ | `${skillContent}` | Same as execute-prompt.md | 完整 skill 文件内容 |
80
+ | `${testScenario.*}` | iteration-state.json | 测试场景信息 |
81
+ | `${artifactsSummary}` | Phase 03 reads artifacts/ dir | 产出物文件列表 + 内容摘要 |
82
+ | `${evaluationCriteria}` | specs/evaluation-criteria.md | 评分标准全文 |
83
+ | `${previousEvalContext}` | 历史迭代记录 | 前几轮评估摘要(避免重复建议) |
84
+ | `${chainContext}` | Phase 03 constructs | chain 模式下的链上下文信息 |
85
+
86
+ ## previousEvalContext Construction
87
+
88
+ ```javascript
89
+ // Build context from prior iterations to avoid repeating suggestions
90
+ const previousEvalContext = state.iterations.length > 0
91
+ ? `PREVIOUS ITERATIONS (context for avoiding duplicate suggestions):
92
+ ${state.iterations.map(iter => `
93
+ Iteration ${iter.round}: Score ${iter.evaluation?.score || 'N/A'}
94
+ Applied changes: ${iter.improvement?.changes_applied?.map(c => c.summary).join('; ') || 'none'}
95
+ Remaining weaknesses: ${iter.evaluation?.weaknesses?.slice(0, 3).join('; ') || 'none'}
96
+ `).join('')}
97
+ IMPORTANT: Focus on NEW issues or issues NOT adequately addressed in previous improvements.`
98
+ : '';
99
+ ```
100
+
101
+ ## chainContext Construction
102
+
103
+ ```javascript
104
+ // Build chain context for evaluation (chain mode only)
105
+ const chainContext = state.execution_mode === 'chain'
106
+ ? `CHAIN CONTEXT:
107
+ This skill chain contains ${state.chain_order.length} skills executed in order:
108
+ ${state.chain_order.map((s, i) => `${i+1}. ${s}`).join('\n')}
109
+ Current evaluation covers the entire chain output.
110
+ Please provide per-skill quality scores in an additional "chain_scores" field.`
111
+ : '';
112
+ ```
113
+
114
+ ## artifactsSummary Construction
115
+
116
+ ```javascript
117
+ // Read manifest.json if available, otherwise list files
118
+ const manifestPath = `${iterDir}/artifacts/manifest.json`;
119
+ let artifactsSummary;
120
+
121
+ if (fileExists(manifestPath)) {
122
+ const manifest = JSON.parse(read_file(manifestPath));
123
+ artifactsSummary = manifest.artifacts.map(a =>
124
+ `- ${a.path}: ${a.description} (Phase ${a.phase})`
125
+ ).join('\n');
126
+ } else {
127
+ // Fallback: list all files with first 200 lines each
128
+ const files = find_files(`${iterDir}/artifacts/**/*`);
129
+ artifactsSummary = files.map(f => {
130
+ const content = read_file(f, { limit: 200 });
131
+ return `--- ${f.replace(iterDir + '/artifacts/', '')} ---\n${content}`;
132
+ }).join('\n\n');
133
+ }
134
+ ```
@@ -0,0 +1,97 @@
1
+ # Execute Prompt Template
2
+
3
+ Phase 02 使用此模板构造 ccw cli 提示词,让 Claude 模拟执行 skill 并产出所有预期产物。
4
+
5
+ ## Template
6
+
7
+ ```
8
+ PURPOSE: Simulate executing the following workflow skill against a test scenario. Produce all expected output artifacts as if the skill were invoked with the given input. This is for evaluating skill quality.
9
+
10
+ SKILL CONTENT:
11
+ ${skillContent}
12
+
13
+ TEST SCENARIO:
14
+ Description: ${testScenario.description}
15
+ Input Arguments: ${testScenario.input_args}
16
+ Requirements: ${testScenario.requirements}
17
+ Success Criteria: ${testScenario.success_criteria}
18
+
19
+ TASK:
20
+ 1. Study the complete skill structure (SKILL.md + all phase files)
21
+ 2. Follow the skill's execution flow sequentially (Phase 1 → Phase N)
22
+ 3. For each phase, produce the artifacts that phase would generate
23
+ 4. Write all output artifacts to the current working directory
24
+ 5. Create a manifest.json listing all produced artifacts with descriptions
25
+
26
+ MODE: write
27
+
28
+ CONTEXT: @**/*
29
+
30
+ EXPECTED:
31
+ - All artifacts the skill would produce for this test scenario
32
+ - Each artifact in its correct relative path
33
+ - A manifest.json at root: { "artifacts": [{ "path": "...", "description": "...", "phase": N }] }
34
+
35
+ CONSTRAINTS:
36
+ - Follow the skill execution flow exactly — do not skip or reorder phases
37
+ - Produce realistic, high-quality output (not placeholder content)
38
+ - If the skill requires user interaction (ask_user), use reasonable defaults
39
+ - If the skill invokes external tools/CLIs, document what would be called but produce expected output directly
40
+ ```
41
+
42
+ ## Variable Substitution
43
+
44
+ | Variable | Source | Description |
45
+ |----------|--------|-------------|
46
+ | `${skillContent}` | Phase 02 reads all skill files | 完整 SKILL.md + phase 文件内容,用 markdown headers 分隔 |
47
+ | `${testScenario.description}` | iteration-state.json | 用户描述的测试场景 |
48
+ | `${testScenario.input_args}` | iteration-state.json | 模拟传给 skill 的参数 |
49
+ | `${testScenario.requirements}` | iteration-state.json | 质量要求列表 |
50
+ | `${testScenario.success_criteria}` | iteration-state.json | 成功标准定义 |
51
+
52
+ ## Chain Mode Extension
53
+
54
+ When running in chain mode, the template is invoked once per skill in `chain_order`. Each invocation includes:
55
+
56
+ ### Additional Variable
57
+
58
+ | Variable | Source | Description |
59
+ |----------|--------|-------------|
60
+ | `${previousChainOutput}` | Phase 02 chain loop | 前序 skill 的 artifacts 摘要 (chain 模式下非首个 skill) |
61
+
62
+ ### Chain Prompt Modification
63
+
64
+ When `execution_mode === 'chain'`, the prompt includes:
65
+
66
+ ```
67
+ PREVIOUS CHAIN OUTPUT (from upstream skill "${previousSkillName}"):
68
+ ${previousChainOutput}
69
+
70
+ IMPORTANT: Use the above output as input context for this skill's execution.
71
+ ```
72
+
73
+ This section is only added for skills at position 2+ in the chain. The first skill in the chain receives no upstream context.
74
+
75
+ ## skillContent Construction
76
+
77
+ ```javascript
78
+ // Read only executable skill files and format with consistent headers
79
+ const skillMd = read_file(`${skill.path}/SKILL.md`);
80
+ const phaseFiles = find_files(`${skill.path}/phases/*.md`).map(f => ({
81
+ relativePath: f.replace(skill.path + '/', ''),
82
+ content: read_file(f)
83
+ }));
84
+ const specFiles = find_files(`${skill.path}/specs/*.md`).map(f => ({
85
+ relativePath: f.replace(skill.path + '/', ''),
86
+ content: read_file(f)
87
+ }));
88
+
89
+ const skillContent = `
90
+ ### File: SKILL.md
91
+ ${skillMd}
92
+
93
+ ${phaseFiles.map(f => `### File: ${f.relativePath}\n${f.content}`).join('\n\n')}
94
+
95
+ ${specFiles.length > 0 ? specFiles.map(f => `### File: ${f.relativePath}\n${f.content}`).join('\n\n') : ''}
96
+ `.trim();
97
+ ```
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: spec-add
3
+ description: Add spec entry by category with role tagging
4
+ argument-hint: "[--scope project|global|team|personal] <category> <content>"
5
+ allowed-tools:
6
+ - read_file
7
+ - write_file
8
+ - shell
9
+ - find_files
10
+ - search
11
+ ---
12
+ <!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
13
+
14
+ <purpose>
15
+ Add a knowledge entry to the specs system using `<spec-entry>` closed-tag format.
16
+ Each category maps 1:1 to a single target file — no dual-write.
17
+ Supports 4 scopes: project (default), global, team, personal.
18
+ Entries use `category` attribute to declare which category they belong to.
19
+ </purpose>
20
+
21
+ <required_reading>
22
+ @~/.maestro/workflows/specs-add.md
23
+ </required_reading>
24
+
25
+ <context>
26
+ $ARGUMENTS -- expects `[--scope <scope>] [--uid <uid>] <category> <content>`
27
+
28
+ **Options:**
29
+ - `--ref <path>` — Create as index entry referencing a knowhow document. If the path exists, only creates the spec index entry. If path doesn't exist, also creates the knowhow file.
30
+ - `--knowhow-type <type>` — Knowhow document type when creating with --ref (asset, blueprint, document, template, recipe, reference, decision)
31
+
32
+ Scope-to-directory mapping, category-to-file mapping, and entry format defined in workflow specs-add.md.
33
+
34
+ **Examples:**
35
+ ```bash
36
+ # English content → English keywords
37
+ /spec-add coding "Named exports" "Always use named exports" --keywords "exports,naming"
38
+
39
+ # Chinese content → Chinese keywords (匹配中文 prompt)
40
+ /spec-add coding "命名导出规范" "始终使用命名导出" --keywords "导出,命名,模块"
41
+
42
+ # Mixed → bilingual keywords
43
+ /spec-add coding "OAuth PKCE Flow" "完整 PKCE 集成流程" --ref knowhow/RCP-oauth-pkce.md --keywords "oauth,pkce,认证,授权"
44
+
45
+ /spec-add arch "OAuth PKCE 集成" "完整流程设计" --ref knowhow/AST-oauth-flow.md
46
+ ```
47
+ </context>
48
+
49
+ <execution>
50
+ Follow '~/.maestro/workflows/specs-add.md' completely.
51
+ </execution>
52
+
53
+ <error_codes>
54
+ | Code | Severity | Description | Stage |
55
+ |------|----------|-------------|-------|
56
+ | E001 | fatal | Category and content are both required | parse_input |
57
+ | E002 | fatal | Specs directory not initialized -- run `maestro spec init --scope <scope>` | validate_entry |
58
+ | E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning, tools, ui | parse_input |
59
+ | E004 | fatal | Invalid scope -- must be one of: project, global, team, personal | parse_input |
60
+ | E005 | fatal | Personal scope requires uid -- use `--uid` or run `maestro collab join` first | parse_input |
61
+ </error_codes>
62
+
63
+ <success_criteria>
64
+ - [ ] Scope and category parsed and validated
65
+ - [ ] Keywords auto-extracted from content (3-5 relevant terms)
66
+ - [ ] Entry written in `<spec-entry>` closed-tag format
67
+ - [ ] Entry appended to correct target file for scope
68
+ - [ ] Confirmation report displayed with scope, path, keywords
69
+ - [ ] Next step: `maestro spec load --scope <scope> --keyword {keyword}` to verify
70
+ </success_criteria>
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: spec-load
3
+ description: Load specs and lessons for current context
4
+ argument-hint: "[--category <category>] [--keyword <word>]"
5
+ allowed-tools:
6
+ - read_file
7
+ - shell
8
+ - find_files
9
+ - search
10
+ ---
11
+ <!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
12
+
13
+ <purpose>
14
+ Load relevant specs filtered by category (file-level) and/or keyword (entry-level).
15
+ Category-based loading: loads the category's primary doc in full + matching entries from other files.
16
+ </purpose>
17
+
18
+ <required_reading>
19
+ @~/.maestro/workflows/specs-load.md
20
+ </required_reading>
21
+
22
+ <context>
23
+ $ARGUMENTS -- optional flags and keyword
24
+
25
+ **Flags:**
26
+ - `--category <category>` — Load by category: primary category doc (full) + cross-file entries with matching category attr. Categories: coding, arch, test, review, debug, learning, ui.
27
+ - `--keyword <word>` — Filter by keyword within entries
28
+
29
+ **File → Primary Category mapping:**
30
+ | File | Category |
31
+ |------|----------|
32
+ | coding-conventions.md | coding |
33
+ | architecture-constraints.md | arch |
34
+ | test-conventions.md | test |
35
+ | review-standards.md | review |
36
+ | debug-notes.md | debug |
37
+ | ui-conventions.md | ui |
38
+ | quality-rules.md | review |
39
+ | learnings.md | learning |
40
+
41
+ **Examples:**
42
+ ```
43
+ /spec-load --category coding # coding全文 + 跨文件coding条目
44
+ /spec-load --category review # review-standards + quality-rules + 跨文件review条目
45
+ /spec-load --category coding --keyword auth
46
+ /spec-load --keyword auth
47
+ ```
48
+
49
+ **Ref entries:**
50
+ When loading entries with `ref` attribute, only the summary is shown with a load command:
51
+ → Detail: maestro wiki load <knowhow-id>
52
+ Use the load command to read the full referenced document.
53
+ </context>
54
+
55
+ <execution>
56
+ Follow '~/.maestro/workflows/specs-load.md' completely.
57
+ </execution>
58
+
59
+ <error_codes>
60
+ | Code | Severity | Description | Stage |
61
+ |------|----------|-------------|-------|
62
+ | E001 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | detect_context |
63
+ | W001 | warning | No matching specs found for keyword -- showing all specs in category instead | load_specs |
64
+ </error_codes>
65
+
66
+ <success_criteria>
67
+ - [ ] Category and/or keyword parsed from arguments
68
+ - [ ] Spec files loaded per category mapping
69
+ - [ ] Keyword filtering applied at entry level (via `<spec-entry>` keywords attribute)
70
+ - [ ] Legacy entries filtered by text grep fallback
71
+ - [ ] Results displayed with file:category references
72
+ </success_criteria>
73
+ </output>
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: spec-remove
3
+ description: Remove spec entry by ID
4
+ argument-hint: "<entry-id>"
5
+ allowed-tools:
6
+ - read_file
7
+ - write_file
8
+ - edit_file
9
+ - shell
10
+ - find_files
11
+ - search
12
+ - ask_user
13
+ ---
14
+ <!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
15
+
16
+ <purpose>
17
+ Remove a `<spec-entry>` from a specs file. Symmetric with `/spec-add`.
18
+ Uses `maestro wiki remove-entry` for atomic removal with index auto-update.
19
+ </purpose>
20
+
21
+ <required_reading>
22
+ @~/.maestro/workflows/specs-remove.md
23
+ </required_reading>
24
+
25
+ <context>
26
+ $ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-conventions-001`)
27
+
28
+ **Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
29
+
30
+ **Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
31
+ </context>
32
+
33
+ <execution>
34
+ Follow '~/.maestro/workflows/specs-remove.md' completely.
35
+ </execution>
36
+
37
+ <error_codes>
38
+ | Code | Severity | Description | Stage |
39
+ |------|----------|-------------|-------|
40
+ | E001 | fatal | Entry ID is required -- usage: `/spec-remove <entry-id>` | parse_input |
41
+ | E002 | fatal | `.workflow/specs/` not initialized -- run `/spec-setup` first | validate |
42
+ | E003 | fatal | Entry ID not found in wiki index | lookup |
43
+ | E004 | fatal | Entry is not a spec sub-node (wrong type) | validate |
44
+ </error_codes>
45
+
46
+ <success_criteria>
47
+ - [ ] Entry ID parsed and validated
48
+ - [ ] Entry found in wiki index (type=spec, is sub-node)
49
+ - [ ] User confirmed removal (unless -y flag)
50
+ - [ ] Entry removed from container file via `maestro wiki remove-entry`
51
+ - [ ] Wiki index auto-updated
52
+ - [ ] Confirmation displayed with removed entry details
53
+ </success_criteria>
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: spec-setup
3
+ description: Initialize specs from project structure
4
+ argument-hint: ""
5
+ allowed-tools:
6
+ - read_file
7
+ - write_file
8
+ - shell
9
+ - find_files
10
+ - search
11
+ ---
12
+ <!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
13
+
14
+ <purpose>
15
+ Initialize the project-level specs directory by scanning the codebase for conventions, patterns, and tech stack.
16
+ Core files (coding, arch, knowhow) are always created. Optional files (quality, debug, test, review) are created only when relevant signals are detected.
17
+ All output lands in `.workflow/specs/`.
18
+ </purpose>
19
+
20
+ <required_reading>
21
+ @~/.maestro/workflows/specs-setup.md
22
+ </required_reading>
23
+
24
+ <context>
25
+ $ARGUMENTS (no arguments expected)
26
+
27
+ **Preconditions:**
28
+ - `.workflow/` directory must exist (created by `/maestro-init`) # (see code: E001)
29
+ - Project must contain source files to scan # (see code: E002)
30
+ </context>
31
+
32
+ <execution>
33
+ Follow '~/.maestro/workflows/specs-setup.md' completely.
34
+ </execution>
35
+
36
+ <error_codes>
37
+ | Code | Severity | Description | Stage |
38
+ |------|----------|-------------|-------|
39
+ | E001 | fatal | `.workflow/` directory not initialized -- run `/maestro-init` first | parse_input |
40
+ | E002 | fatal | No source files found in project -- nothing to scan | scan_codebase |
41
+ | W001 | warning | Convention detection uncertain for one or more categories -- marked `[UNCERTAIN]` | generate_specs |
42
+ </error_codes>
43
+
44
+ <success_criteria>
45
+ - [ ] `.workflow/specs/` directory created
46
+ - [ ] Core files always created: `coding-conventions.md`, `architecture-constraints.md`, `knowhow.md`
47
+ - [ ] Optional files created when detected: `quality-rules.md` (linter/CI), `test-conventions.md` (test framework), `debug-notes.md` (on demand), `review-standards.md` (on demand)
48
+ - [ ] Report displayed with summary and next steps
49
+ </success_criteria>
50
+ </output>