@entelligentsia/forgecli 0.10.1 → 0.11.2

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 (161) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +21 -3
  3. package/dist/CHANGELOG-forge-plugin.md +22 -0
  4. package/dist/extensions/forgecli/add-pipeline.d.ts +19 -0
  5. package/dist/extensions/forgecli/add-pipeline.js +143 -0
  6. package/dist/extensions/forgecli/add-pipeline.js.map +1 -0
  7. package/dist/extensions/forgecli/add-task.d.ts +20 -0
  8. package/dist/extensions/forgecli/add-task.js +154 -0
  9. package/dist/extensions/forgecli/add-task.js.map +1 -0
  10. package/dist/extensions/forgecli/calibrate.d.ts +61 -0
  11. package/dist/extensions/forgecli/calibrate.js +488 -0
  12. package/dist/extensions/forgecli/calibrate.js.map +1 -0
  13. package/dist/extensions/forgecli/fix-bug.d.ts +9 -1
  14. package/dist/extensions/forgecli/fix-bug.js +70 -8
  15. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  16. package/dist/extensions/forgecli/forge-commands.js +15 -22
  17. package/dist/extensions/forgecli/forge-commands.js.map +1 -1
  18. package/dist/extensions/forgecli/forge-subagent.js +34 -7
  19. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  20. package/dist/extensions/forgecli/forge-update-command.d.ts +9 -0
  21. package/dist/extensions/forgecli/forge-update-command.js +106 -7
  22. package/dist/extensions/forgecli/forge-update-command.js.map +1 -1
  23. package/dist/extensions/forgecli/health-check.d.ts +22 -1
  24. package/dist/extensions/forgecli/health-check.js +177 -4
  25. package/dist/extensions/forgecli/health-check.js.map +1 -1
  26. package/dist/extensions/forgecli/hook-dispatcher.d.ts +25 -1
  27. package/dist/extensions/forgecli/hook-dispatcher.js +104 -9
  28. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  29. package/dist/extensions/forgecli/hooks/check-update.d.ts +81 -0
  30. package/dist/extensions/forgecli/hooks/check-update.js +308 -0
  31. package/dist/extensions/forgecli/hooks/check-update.js.map +1 -0
  32. package/dist/extensions/forgecli/hooks/forge-permissions.d.ts +32 -0
  33. package/dist/extensions/forgecli/hooks/forge-permissions.js +119 -0
  34. package/dist/extensions/forgecli/hooks/forge-permissions.js.map +1 -0
  35. package/dist/extensions/forgecli/hooks/triage-error.d.ts +23 -0
  36. package/dist/extensions/forgecli/hooks/triage-error.js +62 -0
  37. package/dist/extensions/forgecli/hooks/triage-error.js.map +1 -0
  38. package/dist/extensions/forgecli/hooks/write-guard.d.ts +28 -0
  39. package/dist/extensions/forgecli/hooks/write-guard.js +225 -0
  40. package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -0
  41. package/dist/extensions/forgecli/index.js +60 -0
  42. package/dist/extensions/forgecli/index.js.map +1 -1
  43. package/dist/extensions/forgecli/init-context.d.ts +1 -1
  44. package/dist/extensions/forgecli/init-context.js +21 -6
  45. package/dist/extensions/forgecli/init-context.js.map +1 -1
  46. package/dist/extensions/forgecli/materialize.d.ts +16 -0
  47. package/dist/extensions/forgecli/materialize.js +195 -0
  48. package/dist/extensions/forgecli/materialize.js.map +1 -0
  49. package/dist/extensions/forgecli/migrate.d.ts +19 -0
  50. package/dist/extensions/forgecli/migrate.js +258 -0
  51. package/dist/extensions/forgecli/migrate.js.map +1 -0
  52. package/dist/extensions/forgecli/migration-engine.d.ts +111 -0
  53. package/dist/extensions/forgecli/migration-engine.js +533 -0
  54. package/dist/extensions/forgecli/migration-engine.js.map +1 -0
  55. package/dist/extensions/forgecli/quiz-agent.d.ts +17 -0
  56. package/dist/extensions/forgecli/quiz-agent.js +98 -0
  57. package/dist/extensions/forgecli/quiz-agent.js.map +1 -0
  58. package/dist/extensions/forgecli/remove-command.d.ts +17 -0
  59. package/dist/extensions/forgecli/remove-command.js +124 -0
  60. package/dist/extensions/forgecli/remove-command.js.map +1 -0
  61. package/dist/extensions/forgecli/report-bug.d.ts +25 -0
  62. package/dist/extensions/forgecli/report-bug.js +159 -0
  63. package/dist/extensions/forgecli/report-bug.js.map +1 -0
  64. package/dist/extensions/forgecli/retrospective.d.ts +19 -0
  65. package/dist/extensions/forgecli/retrospective.js +156 -0
  66. package/dist/extensions/forgecli/retrospective.js.map +1 -0
  67. package/dist/extensions/forgecli/run-sprint.js +34 -0
  68. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  69. package/dist/extensions/forgecli/run-task.d.ts +9 -1
  70. package/dist/extensions/forgecli/run-task.js +64 -10
  71. package/dist/extensions/forgecli/run-task.js.map +1 -1
  72. package/dist/extensions/forgecli/session-registry.d.ts +27 -2
  73. package/dist/extensions/forgecli/session-registry.js +52 -1
  74. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  75. package/dist/extensions/forgecli/status-command.d.ts +19 -0
  76. package/dist/extensions/forgecli/status-command.js +140 -0
  77. package/dist/extensions/forgecli/status-command.js.map +1 -0
  78. package/dist/extensions/forgecli/store-query.d.ts +22 -0
  79. package/dist/extensions/forgecli/store-query.js +107 -0
  80. package/dist/extensions/forgecli/store-query.js.map +1 -0
  81. package/dist/extensions/forgecli/store-repair.d.ts +17 -0
  82. package/dist/extensions/forgecli/store-repair.js +123 -0
  83. package/dist/extensions/forgecli/store-repair.js.map +1 -0
  84. package/dist/extensions/forgecli/thread-switcher.js +213 -28
  85. package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
  86. package/dist/extensions/forgecli/update-tools.d.ts +23 -0
  87. package/dist/extensions/forgecli/update-tools.js +136 -0
  88. package/dist/extensions/forgecli/update-tools.js.map +1 -0
  89. package/dist/extensions/forgecli/viewport-theme.js +4 -0
  90. package/dist/extensions/forgecli/viewport-theme.js.map +1 -1
  91. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  92. package/dist/forge-payload/.schemas/config.schema.json +83 -0
  93. package/dist/forge-payload/.schemas/migrations.json +2049 -0
  94. package/dist/forge-payload/commands/regenerate.md +17 -1
  95. package/dist/forge-payload/meta/personas/README.md +16 -0
  96. package/dist/forge-payload/meta/personas/meta-architect.md +70 -0
  97. package/dist/forge-payload/meta/personas/meta-bug-fixer.md +73 -0
  98. package/dist/forge-payload/meta/personas/meta-collator.md +72 -0
  99. package/dist/forge-payload/meta/personas/meta-engineer.md +70 -0
  100. package/dist/forge-payload/meta/personas/meta-orchestrator.md +71 -0
  101. package/dist/forge-payload/meta/personas/meta-product-manager.md +82 -0
  102. package/dist/forge-payload/meta/personas/meta-qa-engineer.md +91 -0
  103. package/dist/forge-payload/meta/personas/meta-supervisor.md +92 -0
  104. package/dist/forge-payload/meta/skill-recommendations.md +154 -0
  105. package/dist/forge-payload/meta/skills/meta-architect-skills.md +43 -0
  106. package/dist/forge-payload/meta/skills/meta-bug-fixer-skills.md +43 -0
  107. package/dist/forge-payload/meta/skills/meta-collator-skills.md +41 -0
  108. package/dist/forge-payload/meta/skills/meta-engineer-skills.md +43 -0
  109. package/dist/forge-payload/meta/skills/meta-generic-skills.md +58 -0
  110. package/dist/forge-payload/meta/skills/meta-qa-engineer-skills.md +46 -0
  111. package/dist/forge-payload/meta/skills/meta-supervisor-skills.md +43 -0
  112. package/dist/forge-payload/meta/store-schema/bug.schema.md +71 -0
  113. package/dist/forge-payload/meta/store-schema/event.schema.md +76 -0
  114. package/dist/forge-payload/meta/store-schema/feature.schema.md +65 -0
  115. package/dist/forge-payload/meta/store-schema/sprint.schema.md +64 -0
  116. package/dist/forge-payload/meta/store-schema/task.schema.md +78 -0
  117. package/dist/forge-payload/meta/templates/meta-code-review.md +26 -0
  118. package/dist/forge-payload/meta/templates/meta-plan-review.md +28 -0
  119. package/dist/forge-payload/meta/templates/meta-plan.md +28 -0
  120. package/dist/forge-payload/meta/templates/meta-progress.md +25 -0
  121. package/dist/forge-payload/meta/templates/meta-retrospective.md +28 -0
  122. package/dist/forge-payload/meta/templates/meta-sprint-manifest.md +26 -0
  123. package/dist/forge-payload/meta/templates/meta-sprint-requirements.md +91 -0
  124. package/dist/forge-payload/meta/templates/meta-task-prompt.md +26 -0
  125. package/dist/forge-payload/meta/tool-specs/collate.spec.md +88 -0
  126. package/dist/forge-payload/meta/tool-specs/generation-manifest.spec.md +139 -0
  127. package/dist/forge-payload/meta/tool-specs/manage-config.spec.md +143 -0
  128. package/dist/forge-payload/meta/tool-specs/seed-store.spec.md +91 -0
  129. package/dist/forge-payload/meta/tool-specs/store-cli.spec.md +328 -0
  130. package/dist/forge-payload/meta/tool-specs/validate-store.spec.md +191 -0
  131. package/dist/forge-payload/meta/workflows/_fragments/context-injection.md +75 -0
  132. package/dist/forge-payload/meta/workflows/_fragments/event-emission-schema.md +73 -0
  133. package/dist/forge-payload/meta/workflows/_fragments/finalize.md +13 -0
  134. package/dist/forge-payload/meta/workflows/_fragments/friction-emit.md +73 -0
  135. package/dist/forge-payload/meta/workflows/_fragments/progress-reporting.md +38 -0
  136. package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +39 -0
  137. package/dist/forge-payload/meta/workflows/meta-approve.md +119 -0
  138. package/dist/forge-payload/meta/workflows/meta-collate.md +89 -0
  139. package/dist/forge-payload/meta/workflows/meta-commit.md +93 -0
  140. package/dist/forge-payload/meta/workflows/meta-enhance.md +286 -0
  141. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +501 -0
  142. package/dist/forge-payload/meta/workflows/meta-implement.md +132 -0
  143. package/dist/forge-payload/meta/workflows/meta-migrate.md +455 -0
  144. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +993 -0
  145. package/dist/forge-payload/meta/workflows/meta-plan-task.md +133 -0
  146. package/dist/forge-payload/meta/workflows/meta-quiz-agent.md +135 -0
  147. package/dist/forge-payload/meta/workflows/meta-retrospective.md +65 -0
  148. package/dist/forge-payload/meta/workflows/meta-review-implementation.md +119 -0
  149. package/dist/forge-payload/meta/workflows/meta-review-plan.md +108 -0
  150. package/dist/forge-payload/meta/workflows/meta-review-sprint-completion.md +65 -0
  151. package/dist/forge-payload/meta/workflows/meta-sprint-intake.md +76 -0
  152. package/dist/forge-payload/meta/workflows/meta-sprint-plan.md +147 -0
  153. package/dist/forge-payload/meta/workflows/meta-update-implementation.md +76 -0
  154. package/dist/forge-payload/meta/workflows/meta-update-plan.md +76 -0
  155. package/dist/forge-payload/meta/workflows/meta-validate.md +111 -0
  156. package/dist/forge-payload/tools/check-structure.cjs +344 -0
  157. package/dist/forge-payload/tools/list-skills.js +76 -0
  158. package/dist/forge-payload/tools/store-cli.cjs +27 -1
  159. package/dist/forge-payload/tools/substitute-placeholders.cjs +60 -8
  160. package/dist/forge-payload/tools/verify-integrity.cjs +86 -0
  161. package/package.json +2 -2
@@ -0,0 +1,154 @@
1
+ # Forge Skill Recommendations
2
+
3
+ Maps discovered stack components to verified Claude Code marketplace skills.
4
+ Used during `forge:init` (Phase 2) and `forge:health` to recommend skills
5
+ that complement Forge's project-specific knowledge.
6
+
7
+ ## Skill Sources
8
+
9
+ Skills come from two locations — both are checked by `tools/list-skills.js`:
10
+
11
+ | Source | Location | Install mechanism |
12
+ |---|---|---|
13
+ | Marketplace plugin | `~/.claude/plugins/installed_plugins.json` | `/plugin install <name>@<marketplace>` |
14
+ | Personal skill | `~/.claude/skills/<name>/SKILL.md` | Manual — place SKILL.md in directory |
15
+
16
+ Marketplace install format: `/plugin install <skill-name>@<marketplace>`
17
+
18
+ Personal skills cannot be installed via `/plugin install`. If a recommended personal
19
+ skill is not present, surface it in the health report with its source noted as "personal skill".
20
+
21
+ ---
22
+
23
+ ## Why This Matters
24
+
25
+ Forge generates project-specific context: your entities, auth patterns,
26
+ business rules, conventions. Marketplace skills provide universal technique
27
+ knowledge: LSP intelligence for your language, frontend design patterns, etc.
28
+ A Forge-generated persona that invokes a relevant skill gets both layers —
29
+ project knowledge AND technique depth — without duplication.
30
+
31
+ ---
32
+
33
+ ## Language Servers (LSP)
34
+
35
+ High-confidence for any project using the matched language. LSP skills give
36
+ agents go-to-definition, find-references, static analysis, and real-time
37
+ diagnostics, dramatically reducing hallucinated API usage.
38
+
39
+ | If stack language includes | Skill | Marketplace | Install |
40
+ |---|---|---|---|
41
+ | TypeScript, JavaScript | `typescript-lsp` | claude-plugins-official | `/plugin install typescript-lsp@claude-plugins-official` |
42
+ | Python | `pyright-lsp` | claude-plugins-official | `/plugin install pyright-lsp@claude-plugins-official` |
43
+ | Ruby | `ruby-lsp` | claude-plugins-official | `/plugin install ruby-lsp@claude-plugins-official` |
44
+ | Go | `gopls-lsp` | claude-plugins-official | `/plugin install gopls-lsp@claude-plugins-official` |
45
+ | Rust | `rust-analyzer-lsp` | claude-plugins-official | `/plugin install rust-analyzer-lsp@claude-plugins-official` |
46
+ | Java | `jdtls-lsp` | claude-plugins-official | `/plugin install jdtls-lsp@claude-plugins-official` |
47
+ | Kotlin | `kotlin-lsp` | claude-plugins-official | `/plugin install kotlin-lsp@claude-plugins-official` |
48
+ | C# / .NET | `csharp-lsp` | claude-plugins-official | `/plugin install csharp-lsp@claude-plugins-official` |
49
+ | C, C++ | `clangd-lsp` | claude-plugins-official | `/plugin install clangd-lsp@claude-plugins-official` |
50
+ | PHP | `php-lsp` | claude-plugins-official | `/plugin install php-lsp@claude-plugins-official` |
51
+ | Swift, iOS | `swift-lsp` | claude-plugins-official | `/plugin install swift-lsp@claude-plugins-official` |
52
+ | Lua | `lua-lsp` | claude-plugins-official | `/plugin install lua-lsp@claude-plugins-official` |
53
+
54
+ ---
55
+
56
+ ## Frontend & UI
57
+
58
+ | If stack contains | Skill | Source | Confidence | Why |
59
+ |---|---|---|---|---|
60
+ | Any web UI, React, Vue, Svelte | `frontend-design` | `claude-plugins-official` | High | Production-grade UI, distinctive design, avoids generic AI aesthetics |
61
+ | Vue, Nuxt, Pinia, Vue Router | `vue-best-practices` | personal (`~/.claude/skills/`) | High | Composition API, `<script setup>`, TypeScript, SSR, Volar, vue-tsc |
62
+
63
+ ---
64
+
65
+ ## 3D Graphics & XR
66
+
67
+ | If stack contains | Skill | Marketplace | Why |
68
+ |---|---|---|---|
69
+ | Three.js | `threejs-skills` | agentic-skills | 10 skills: scene, geometry, materials, lighting, textures, animation, shaders, post-processing |
70
+ | WebXR, Meta Quest | `meta-webxr-skills` | agentic-skills | 8 skills: XR session lifecycle, rendering, input, passthrough, anchors, PWA packaging |
71
+
72
+ ---
73
+
74
+ ## Security
75
+
76
+ | Signal | Skill | Confidence | Why |
77
+ |---|---|---|---|
78
+ | Any project | `security-guidance` | Medium | Hook-based warnings for command injection, XSS, unsafe patterns during file edits |
79
+
80
+ ---
81
+
82
+ ## Payments & Commerce
83
+
84
+ | If stack contains | Skill | Source | Confidence | Why |
85
+ |---|---|---|---|---|
86
+ | Stripe, stripe-js, stripe-python | `stripe-integration` | personal (`~/.claude/skills/`) | High | PCI-compliant checkout, subscriptions, webhook handling, idempotency |
87
+
88
+ ---
89
+
90
+ ## Support & CRM
91
+
92
+ | If stack contains | Skill | Source | Confidence | Why |
93
+ |---|---|---|---|---|
94
+ | Freshdesk | `freshdesk-api` | personal (`~/.claude/skills/`) | High | Ticket management, contacts, companies, support workflow automation |
95
+
96
+ ---
97
+
98
+ ## MCP & AI Integration
99
+
100
+ | If stack contains | Skill | Source | Confidence | Why |
101
+ |---|---|---|---|---|
102
+ | MCP server code | `mcp-server-dev` | `claude-plugins-official` | High | Deployment models, tool design, auth, interactive MCP apps |
103
+ | Anthropic SDK, Claude API | `agent-sdk-dev` | `claude-plugins-official` | High | Claude Agent SDK patterns, tool use, multi-agent orchestration |
104
+
105
+ ---
106
+
107
+ ## Workflow Plugins (use with awareness of Forge overlap)
108
+
109
+ These plugins provide workflow automation. They overlap with Forge's own
110
+ Supervisor and Architect workflows. **Do not recommend during init** — let
111
+ the user decide after reviewing Forge's generated workflows.
112
+
113
+ Surface these in `forge:health` only if the relevant Forge workflow is absent
114
+ or the user explicitly asks.
115
+
116
+ | Plugin | What it does | Overlap with Forge |
117
+ |---|---|---|
118
+ | `code-review` | Multi-agent PR code review with confidence scoring | Duplicates Supervisor review workflow |
119
+ | `pr-review-toolkit` | Specialized agents for tests, error handling, type design | Duplicates Supervisor review workflow |
120
+ | `commit-commands` | `/commit`, `/push`, `/pr` slash commands | Duplicates `meta-commit` workflow |
121
+ | `feature-dev` | Feature development with exploration + architecture agents | Overlaps with Orchestrator pipeline |
122
+ | `claude-code-setup` | Analyzes codebase and recommends hooks, skills, MCP servers | Complementary to `forge:init` |
123
+ | `claude-md-management` | Audits and improves CLAUDE.md files | Complementary — runs alongside Forge |
124
+
125
+ ---
126
+
127
+ ## Confidence Levels
128
+
129
+ - **High** — primary language or framework detected; install without hesitation
130
+ - **Medium** — relevant but not central to the stack; user should decide
131
+ - **Low** — generally useful; surface in health report, not init prompt
132
+
133
+ ---
134
+
135
+ ## Persona Integration Pattern
136
+
137
+ When a skill is installed, Forge-generated personas should invoke it explicitly
138
+ at the relevant workflow step — not mention it in a notes section.
139
+
140
+ Template (fill in skill name and trigger context):
141
+
142
+ ```
143
+ When [doing X], YOU MUST invoke the `<skill-name>` skill before proceeding.
144
+ That skill provides universal [domain] technique knowledge; the stack checklist
145
+ provides project-specific conventions. Both layers are required. No exceptions.
146
+ ```
147
+
148
+ Apply this to whichever workflow step overlaps with the skill's domain:
149
+ - Architect reviewing a plan → invoke LSP skill + domain technique skill
150
+ - Supervisor reviewing implementation → invoke LSP skill + domain technique skill
151
+ - Engineer implementing → invoke LSP skill at task start
152
+
153
+ LSP skills in particular should be wired into every Engineer workflow that
154
+ touches the language, not just review steps.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: architect-skills
3
+ name: Architect Meta-Skills
4
+ description: Core capabilities and toolsets for the Architect role.
5
+ role: Architect
6
+ applies_to: [architect]
7
+ summary: >
8
+ High-level system design, strategic planning, and architecture review
9
+ capabilities that prioritise scalability, maintainability, and integrity.
10
+ capabilities:
11
+ - Evaluate system structure for debt and bottlenecks
12
+ - Select design patterns and define interface contracts
13
+ - Map technical roadmaps across sprints
14
+ - Perform trade-off and scalability analysis
15
+ - Review implementations for architectural drift
16
+ file_ref: .forge/skills/architect-skills.md
17
+ ---
18
+
19
+ ## Generation Instructions
20
+
21
+ When generating the project-specific skill set for the Architect role in `.forge/skills/architect-skills.md`, the generator must:
22
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
23
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
24
+ 3. Focus on high-level analysis, system design, and strategic planning tools.
25
+ 4. Ensure the resulting skill set prioritizes scalability, maintainability, and architectural integrity.
26
+
27
+ ## Skill Set
28
+
29
+ ### 🏗️ System Design & Modeling
30
+ - **Architecture Analysis**: Evaluating the current system structure to identify technical debt and bottlenecks.
31
+ - **Design Pattern Selection**: Determining the most appropriate patterns (e.g., Microservices, Event-driven) for new features.
32
+ - **Data Modeling**: Designing efficient database schemas and data flow diagrams.
33
+ - **Interface Specification**: Defining clear API contracts and communication protocols between components.
34
+
35
+ ### 🗺️ Strategic Planning
36
+ - **Technical Roadmap**: Mapping out the evolution of the system over multiple sprints.
37
+ - **Trade-off Analysis**: Weighing the pros and cons of different technical approaches (e.g., Build vs. Buy).
38
+ - **Complexity Management**: Breaking down large architectural goals into manageable technical tasks.
39
+
40
+ ### 🔍 High-Level Review
41
+ - **Architecture Review**: Ensuring that implementations align with the intended design and don't introduce "architectural drift".
42
+ - **Scalability Assessment**: Analyzing how the system will handle growth in users or data volume.
43
+ - **Security Modeling**: Identifying potential attack vectors and designing mitigation strategies.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: bug-fixer-skills
3
+ name: Bug-Fixer Meta-Skills
4
+ description: Core capabilities and toolsets for the Bug-Fixer role.
5
+ role: BugFixer
6
+ applies_to: [bug-fixer]
7
+ summary: >
8
+ Rapid reproduction, isolation, surgical remediation, and regression-safe
9
+ verification of reported bugs.
10
+ capabilities:
11
+ - Create minimal reproducible examples
12
+ - Bisect commits and analyse logs to locate failure
13
+ - Apply surgical fixes that avoid collateral damage
14
+ - Write a regression test that fails without the fix and passes with it
15
+ - Verify fixes across environments and under stress
16
+ file_ref: .forge/skills/bug-fixer-skills.md
17
+ ---
18
+
19
+ ## Generation Instructions
20
+
21
+ When generating the project-specific skill set for the Bug-Fixer role in `.forge/skills/bug-fixer-skills.md`, the generator must:
22
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
23
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
24
+ 3. Emphasize tools for rapid reproduction, isolation, and verification.
25
+ 4. Ensure the resulting skill set focuses on minimizing regression and maximizing fix stability.
26
+
27
+ ## Skill Set
28
+
29
+ ### 🐛 Triage & Isolation
30
+ - **Reproduction**: Creating minimal, reproducible examples of the reported bug.
31
+ - **Log Analysis**: Sifting through system and application logs to identify the point of failure.
32
+ - **State Inspection**: Using debuggers or telemetry to examine the system state at the moment of the crash.
33
+ - **Bisection**: Using git bisect or similar techniques to find the commit that introduced the bug.
34
+
35
+ ### 🛠️ Targeted Remediation
36
+ - **Surgical Fixes**: Applying the most precise fix possible to avoid collateral damage.
37
+ - **Regression Prevention**: Writing a specific test case that fails without the fix and passes with it.
38
+ - **Hotfix Deployment**: Managing the rapid release of critical fixes to production environments.
39
+
40
+ ### 🧪 Verification & Validation
41
+ - **Stress Testing**: Subjecting the fix to high loads or unusual inputs to ensure stability.
42
+ - **Cross-Environment Testing**: Verifying the fix across different OSs, browsers, or hardware configurations.
43
+ - **Verification Sign-off**: Providing evidence that the bug is resolved and no new issues were introduced.
@@ -0,0 +1,41 @@
1
+ ---
2
+ id: collator-skills
3
+ name: Collator Meta-Skills
4
+ description: Core capabilities and toolsets for the Collator role.
5
+ role: Collator
6
+ applies_to: [collator]
7
+ summary: >
8
+ Deterministic data aggregation, markdown regeneration, and store
9
+ consistency — accurate writeback, entity linking, and index maintenance.
10
+ capabilities:
11
+ - Regenerate MASTER_INDEX.md, TIMESHEET.md, and sprint summaries
12
+ - Cross-reference tasks, bugs, features, events in the store
13
+ - Detect referential integrity gaps and schema drift
14
+ - Merge multi-source subagent outputs atomically
15
+ file_ref: .forge/skills/collator-skills.md
16
+ ---
17
+
18
+ ## Generation Instructions
19
+
20
+ When generating the project-specific skill set for the Collator role in `.forge/skills/collator-skills.md`, the generator must:
21
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
22
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
23
+ 3. Emphasize tools for data aggregation, markdown regeneration, and store consistency.
24
+ 4. Ensure the resulting skill set focuses on accurate writeback, entity linking, and index maintenance.
25
+
26
+ ## Skill Set
27
+
28
+ ### 📑 Data Aggregation & Writeback
29
+ - **Markdown Regeneration**: Rebuilding `MASTER_INDEX.md`, sprint summaries, and progress reports from the JSON store.
30
+ - **Entity Linking**: Ensuring tasks, bugs, features, and events are correctly cross-referenced in the store.
31
+ - **Store Writeback**: Persisting generated artifacts using `store-cli.cjs` via the Store Custodian skill.
32
+
33
+ ### 🔍 Consistency & Validation
34
+ - **Referential Integrity**: Detecting orphaned entities, broken links, and stale references across store records.
35
+ - **Index Reconciliation**: Comparing `MASTER_INDEX.md` against the actual store contents and flagging drift.
36
+ - **Schema Compliance**: Validating that store records conform to their respective JSON schemas before writeback.
37
+
38
+ ### 🔄 Synchronization
39
+ - **Multi-Source Merge**: Combining data from multiple subagent outputs into a single coherent artifact.
40
+ - **Change Detection**: Identifying which store records have been modified since the last collation pass.
41
+ - **Atomic Updates**: Ensuring that partial writeback failures do not leave the store in an inconsistent state.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: engineer-skills
3
+ name: Engineer Meta-Skills
4
+ description: Core capabilities and toolsets for the Engineer role.
5
+ role: Engineer
6
+ applies_to: [engineer]
7
+ summary: >
8
+ Concrete capabilities the Engineer persona must use to execute a task:
9
+ code analysis, implementation, testing, debugging, and CI/CD alignment.
10
+ capabilities:
11
+ - Analyse codebases using Grep, Read, Glob
12
+ - Implement features per approved plans and project conventions
13
+ - Write unit, integration, and end-to-end tests
14
+ - Perform root cause analysis and impact analysis
15
+ - Align commits and branches with the project's git flow
16
+ file_ref: .forge/skills/engineer-skills.md
17
+ ---
18
+
19
+ ## Generation Instructions
20
+
21
+ When generating the project-specific skill set for the Engineer role in `.forge/skills/engineer-skills.md`, the generator must:
22
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
23
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
24
+ 3. Interpolate any project-specific tool names or internal CLI commands used for build, test, and deployment.
25
+ 4. Ensure that the resulting skill set is actionable, providing clear triggers for when each skill should be invoked.
26
+
27
+ ## Skill Set
28
+
29
+ ### 🛠️ Implementation & Coding
30
+ - **Code Analysis**: Ability to read, analyze, and understand existing codebases using `Grep`, `Read`, and `Glob`.
31
+ - **Feature Implementation**: Converting technical designs into working code while adhering to project style guides.
32
+ - **Refactoring**: Improving code structure without altering behavior, focusing on maintainability and efficiency.
33
+ - **Test Writing**: Implementing unit, integration, and end-to-end tests to ensure correctness.
34
+
35
+ ### 🔍 Investigation & Debugging
36
+ - **Root Cause Analysis**: Using logs, debugger tools, and hypothesis testing to isolate bugs.
37
+ - **Impact Analysis**: Assessing how a change in one part of the system affects other components.
38
+ - **Performance Profiling**: Identifying bottlenecks and optimizing critical paths.
39
+
40
+ ### ⚙️ Workflow Integration
41
+ - **Git Mastery**: Managing branches, commits, and PRs following the project's git flow.
42
+ - **CI/CD Alignment**: Ensuring code passes pipeline checks and is deployable.
43
+ - **Tool Synthesis**: Creating small scripts or tools to automate repetitive engineering tasks.
@@ -0,0 +1,58 @@
1
+ ---
2
+ id: generic-skills
3
+ name: Generic Meta-Skills
4
+ description: Baseline capabilities for support and orchestration roles.
5
+ role: Generic
6
+ applies_to: [orchestrator, collator, supervisor]
7
+ summary: >
8
+ Baseline coordination, information synthesis, and basic tooling that
9
+ every support role needs regardless of domain.
10
+ capabilities:
11
+ - Schedule tasks and manage dependency resolution
12
+ - Hand off context between roles cleanly
13
+ - Aggregate progress from multiple agents
14
+ - Perform basic file and git operations
15
+ - Monitor logs and events for triggers
16
+ file_ref: .forge/skills/generic-skills.md
17
+ ---
18
+
19
+ ## Generation Instructions
20
+
21
+ When generating the project-specific skill set for support roles (e.g., Orchestrator, Collator) in `.forge/skills/generic-skills.md`, the generator must:
22
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
23
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
24
+ 3. Focus on data aggregation, communication, and process management.
25
+ 4. Ensure the resulting skill set is lightweight and focused on efficiency.
26
+
27
+ ## Skill Set
28
+
29
+ ### 🔄 Coordination & Orchestration
30
+ - **Task Scheduling**: Managing the sequence of task execution and dependency resolution.
31
+ - **Agent Handoff**: Ensuring smooth transitions of context and responsibility between different roles.
32
+ - **Status Reporting**: Aggregating progress from multiple agents into a concise summary.
33
+
34
+ ### 📑 Information Synthesis
35
+ - **Data Collation**: Gathering disparate pieces of information into a structured format.
36
+ - **Summary Generation**: Distilling complex technical discussions into key takeaways and action items.
37
+ - **Artifact Mapping**: Ensuring that tasks, bugs, and features are correctly linked in the store.
38
+
39
+ ### 🛠️ Basic Tooling
40
+ - **File Management**: Basic use of `Read`, `Write`, and `Glob` for housekeeping.
41
+ - **Git Basics**: Performing simple commits and status checks.
42
+ - **Log Monitoring**: Watching for specific event patterns to trigger transitions.
43
+
44
+ ## Orchestrator Iron Laws
45
+
46
+ These laws apply to every orchestrator workflow (task pipeline and bug-fix pipeline). They are the non-negotiable invariants of the phase loop.
47
+
48
+ **YOU MUST NOT advance a phase until its gate checks pass.** Skipping a gate because "it's probably fine" or "it's a small change" is not allowed. No exceptions.
49
+
50
+ **Review ordering is hardcoded:** spec compliance review ALWAYS runs before code quality review. Never reverse this. Checking quality before confirming correctness is wasted work.
51
+
52
+ **Revision loop exhaustion is an escalation trigger.** If max_iterations is reached without approval, escalate to the human immediately. Do NOT approve to unblock the pipeline.
53
+
54
+ **Always read the verdict from the artifact.** Never assume approval because the review phase ran without error. The artifact is the source of truth.
55
+
56
+ **Phase banners are orchestrator-owned.** Do NOT include banner-first instructions in subagent prompts. The orchestrator displays the badge before spawning and the exit signal after return.
57
+
58
+ **No emoji in machine-readable fields.** Emoji belong only in stdout announcements and human-facing Markdown. JSON fields use plain values only.
@@ -0,0 +1,46 @@
1
+ ---
2
+ id: qa-engineer-skills
3
+ name: QA Engineer Meta-Skills
4
+ description: Core capabilities and toolsets for the QA Engineer role.
5
+ role: QAEngineer
6
+ applies_to: [qa-engineer]
7
+ summary: >
8
+ Test strategy, coverage analysis, and verification that prevents
9
+ regressions and validates acceptance criteria against implementations.
10
+ capabilities:
11
+ - Design test plans mapping each acceptance criterion to test cases
12
+ - Analyse coverage reports and identify untested paths
13
+ - Probe edge cases, boundary conditions, and unusual inputs
14
+ - Detect flaky tests and enforce quality gates
15
+ file_ref: .forge/skills/qa-engineer-skills.md
16
+ ---
17
+
18
+ ## Generation Instructions
19
+
20
+ When generating the project-specific skill set for the QA Engineer role in `.forge/skills/qa-engineer-skills.md`, the generator must:
21
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
22
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
23
+ 3. Emphasize tools for test strategy, coverage analysis, and verification.
24
+ 4. Ensure the resulting skill set focuses on preventing regressions and validating acceptance criteria.
25
+
26
+ ## Skill Set
27
+
28
+ ### 🧪 Test Strategy & Design
29
+ - **Test Plan Creation**: Designing comprehensive test plans that cover functional, integration, and edge-case scenarios.
30
+ - **Acceptance Criteria Validation**: Mapping each acceptance criterion to specific test cases that prove compliance.
31
+ - **Risk-Based Testing**: Prioritizing test effort on areas with the highest defect probability or business impact.
32
+
33
+ ### 📊 Coverage & Analysis
34
+ - **Coverage Analysis**: Interpreting code coverage reports and identifying untested paths.
35
+ - **Gap Identification**: Finding scenarios not covered by the existing test suite and proposing new tests.
36
+ - **Regression Risk Assessment**: Evaluating the blast radius of code changes to determine regression risk.
37
+
38
+ ### ✅ Verification & Validation
39
+ - **Build Verification**: Running the project's build and test commands to confirm that implementation meets specifications.
40
+ - **Specification Compliance**: Checking that the implementation matches the approved plan's acceptance criteria.
41
+ - **Edge Case Discovery**: Probing boundary conditions, error paths, and unusual input combinations.
42
+
43
+ ### 🔄 Continuous Quality
44
+ - **Test Maintenance**: Keeping the test suite current as the codebase evolves.
45
+ - **Flakiness Detection**: Identifying and resolving non-deterministic test failures.
46
+ - **Quality Gates**: Enforcing test pass requirements before marking tasks as complete.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: supervisor-skills
3
+ name: Supervisor Meta-Skills
4
+ description: Core capabilities and toolsets for the Supervisor and QA role.
5
+ role: Supervisor
6
+ applies_to: [supervisor]
7
+ summary: >
8
+ Quality assurance, review governance, and defect feedback — verifying
9
+ specifications, test coverage, and compliance before work advances.
10
+ capabilities:
11
+ - Validate requirements against implementations
12
+ - Review test plans for coverage and effectiveness
13
+ - Conduct code reviews for logic, style, and maintainability
14
+ - Maintain audit trails and compliance checks
15
+ - Orchestrate approval transitions from implementing to review-approved
16
+ file_ref: .forge/skills/supervisor-skills.md
17
+ ---
18
+
19
+ ## Generation Instructions
20
+
21
+ When generating the project-specific skill set for the Supervisor role in `.forge/skills/supervisor-skills.md`, the generator must:
22
+ 1. Cross-reference the `installedSkills` list in `.forge/config.json`.
23
+ 2. Map the universal skills listed below to the specific implementation names found in `installedSkills`.
24
+ 3. Include triggers for quality gates, review cycles, and validation checks.
25
+ 4. Ensure the resulting skill set emphasizes verification, correctness, and adherence to specifications.
26
+
27
+ ## Skill Set
28
+
29
+ ### ✅ Quality Assurance & Verification
30
+ - **Requirement Validation**: Comparing implemented features against the original specifications and acceptance criteria.
31
+ - **Test Plan Review**: Evaluating the coverage and effectiveness of the Engineer's test suite.
32
+ - **Edge Case Discovery**: Identifying potential failure modes and boundary conditions that may have been missed.
33
+ - **Regression Testing**: Ensuring that new changes do not break existing functionality.
34
+
35
+ ### 📋 Review & Governance
36
+ - **Code Review**: Conducting thorough reviews of PRs for logic, style, and maintainability.
37
+ - **Audit Trails**: Ensuring that all changes are documented and linked to the appropriate tasks/bugs.
38
+ - **Compliance Checking**: Verifying that the code adheres to organizational standards and security policies.
39
+
40
+ ### 📈 Feedback & Coordination
41
+ - **Defect Reporting**: Clearly documenting bugs and assigning them back to engineers with reproducible steps.
42
+ - **Progress Tracking**: Monitoring task completion and identifying blockers in the pipeline.
43
+ - **Approval Orchestration**: Managing the transition of tasks from `implementing` to `review-approved`.
@@ -0,0 +1,71 @@
1
+ # Store Schema: Bug
2
+
3
+ ## File Location
4
+
5
+ `.forge/store/bugs/{BUG_ID}.json`
6
+
7
+ ## Fields
8
+
9
+ | Field | Type | Required | Description |
10
+ |-------|------|----------|-------------|
11
+ | `bugId` | string | yes | e.g. `ACME-BUG-01` |
12
+ | `title` | string | yes | Bug title |
13
+ | `description` | string | no | Detailed description |
14
+ | `severity` | enum | yes | `critical` / `major` / `minor` |
15
+ | `status` | enum | yes | See status values below |
16
+ | `path` | string | yes | Relative path to bug artifact directory |
17
+ | `rootCauseCategory` | enum | no | See categories below |
18
+ | `similarBugs` | string[] | no | Bug IDs with similar root cause |
19
+ | `checklistItemAdded` | boolean | no | Whether a stack-checklist item was added |
20
+ | `businessRuleUpdated` | boolean | no | Whether business domain docs were updated |
21
+ | `reportedAt` | string | yes | ISO 8601 timestamp |
22
+ | `resolvedAt` | string | no | ISO 8601 timestamp |
23
+
24
+ ## Status Values
25
+
26
+ `reported` → `triaged` → `in-progress` → `fixed`
27
+
28
+ `fixed` is the terminal state — set by the commit phase after the bug-fix
29
+ commit lands. The architect's approval signal travels through
30
+ `bug.summaries.approve.verdict` (read by `read-verdict.cjs §
31
+ BUG_PHASE_VERDICT_SOURCE`), not through `bug.status`. Earlier revisions of
32
+ this schema included `approved` and `verified` enum values; they were
33
+ removed because no workflow phase wrote them and their mere presence in the
34
+ schema invited LLM-translated task workflows to attempt `update-status bug
35
+ ... approved`, which produced FORGE-BUG-002.
36
+
37
+ ## Root Cause Categories
38
+
39
+ `validation` / `auth` / `business-rule` / `data-integrity` / `race-condition` / `integration` / `configuration` / `regression`
40
+
41
+ ## JSON Schema
42
+
43
+ This block is the canonical machine-readable definition embedded in `validate-store.cjs`.
44
+
45
+ ```json
46
+ {
47
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
48
+ "$id": "forge/bug.schema.json",
49
+ "title": "Bug",
50
+ "type": "object",
51
+ "required": ["bugId", "title", "severity", "status", "path", "reportedAt"],
52
+ "properties": {
53
+ "bugId": { "type": "string" },
54
+ "title": { "type": "string" },
55
+ "description": { "type": "string" },
56
+ "severity": { "type": "string", "enum": ["critical", "major", "minor"] },
57
+ "status": { "type": "string", "enum": ["reported", "triaged", "in-progress", "fixed"] },
58
+ "path": { "type": "string" },
59
+ "rootCauseCategory": {
60
+ "type": "string",
61
+ "enum": ["validation", "auth", "business-rule", "data-integrity", "race-condition", "integration", "configuration", "regression"]
62
+ },
63
+ "similarBugs": { "type": "array", "items": { "type": "string" } },
64
+ "checklistItemAdded": { "type": "boolean" },
65
+ "businessRuleUpdated": { "type": "boolean" },
66
+ "reportedAt": { "type": "string", "format": "date-time" },
67
+ "resolvedAt": { "type": "string", "format": "date-time" }
68
+ },
69
+ "additionalProperties": false
70
+ }
71
+ ```
@@ -0,0 +1,76 @@
1
+ # Store Schema: Event
2
+
3
+ ## File Location
4
+
5
+ `.forge/store/events/{SPRINT_ID}/{EVENT_ID}.json`
6
+
7
+ ## Event ID Format
8
+
9
+ `{ISO_TIMESTAMP}_{TASK_ID}_{ROLE}_{ACTION}`
10
+
11
+ Example: `20260415T141523000Z_ACME-S02-T03_engineer_implement`
12
+
13
+ ## Fields
14
+
15
+ | Field | Type | Required | Description |
16
+ |-------|------|----------|-------------|
17
+ | `eventId` | string | yes | Unique event identifier |
18
+ | `taskId` | string | yes | Task this event belongs to |
19
+ | `sprintId` | string | yes | Sprint this event belongs to |
20
+ | `role` | string | yes | Agent role (Engineer, Supervisor, Architect) |
21
+ | `action` | string | yes | Command invoked (e.g. `/implement`) |
22
+ | `phase` | string | yes | Pipeline phase (plan, review-plan, implement, etc.) |
23
+ | `iteration` | integer | yes | Which iteration of this phase (1-based) |
24
+ | `startTimestamp` | string | yes | ISO 8601 |
25
+ | `endTimestamp` | string | yes | ISO 8601 |
26
+ | `durationMinutes` | number | yes | Computed duration |
27
+ | `model` | string | yes | Full model identifier as reported by the host CLI (e.g. `claude-sonnet-4-6`, `gpt-4o`, `o3`) — use the full ID, not a short alias |
28
+ | `provider` | string | yes | Provider name (e.g. `anthropic`, `zai`, `openai`, `bedrock`) — required for cost attribution since same model is priced differently across providers |
29
+ | `verdict` | string | no | For review phases: Approved / Revision Required |
30
+ | `notes` | string | no | Free-form notes |
31
+ | `inputTokens` | integer | no | Input token count (minimum 0). Omit when telemetry is unavailable — never write zero as a placeholder. |
32
+ | `outputTokens` | integer | no | Output token count (minimum 0) |
33
+ | `cacheReadTokens` | integer | no | Cache-read token count (minimum 0) |
34
+ | `cacheWriteTokens` | integer | no | Cache-write token count (minimum 0) |
35
+ | `tokenSource` | enum | no | `reported` / `estimated` — how token counts were obtained. Omit when no telemetry is available; events without tokens surface as husks in collate reports. |
36
+
37
+ > **Cost note:** `estimatedCostUSD` is NOT persisted on event records. Cost is derived at collate time from `(provider, model, tokens)` via `tools/lib/pricing.cjs`. This keeps the dataset truthful when pricing changes.
38
+
39
+ ## JSON Schema
40
+
41
+ This block is the canonical machine-readable definition embedded in `validate-store.cjs`.
42
+
43
+ ```json
44
+ {
45
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
46
+ "$id": "forge/event.schema.json",
47
+ "title": "Event",
48
+ "type": "object",
49
+ "required": [
50
+ "eventId", "taskId", "sprintId", "role", "action",
51
+ "phase", "iteration", "startTimestamp", "endTimestamp", "durationMinutes", "model", "provider"
52
+ ],
53
+ "properties": {
54
+ "eventId": { "type": "string" },
55
+ "taskId": { "type": "string" },
56
+ "sprintId": { "type": "string" },
57
+ "role": { "type": "string" },
58
+ "action": { "type": "string" },
59
+ "phase": { "type": "string" },
60
+ "iteration": { "type": "integer", "minimum": 1 },
61
+ "startTimestamp": { "type": "string", "format": "date-time" },
62
+ "endTimestamp": { "type": "string", "format": "date-time" },
63
+ "durationMinutes": { "type": "number", "minimum": 0 },
64
+ "model": { "type": "string" },
65
+ "provider": { "type": "string", "maxLength": 60 },
66
+ "verdict": { "type": "string" },
67
+ "notes": { "type": "string" },
68
+ "inputTokens": { "type": "integer", "minimum": 0 },
69
+ "outputTokens": { "type": "integer", "minimum": 0 },
70
+ "cacheReadTokens": { "type": "integer", "minimum": 0 },
71
+ "cacheWriteTokens": { "type": "integer", "minimum": 0 },
72
+ "tokenSource": { "type": "string", "enum": ["reported", "estimated"] }
73
+ },
74
+ "additionalProperties": false
75
+ }
76
+ ```