bmad-module-skill-forge 0.6.0 → 0.7.0

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 (136) hide show
  1. package/README.md +2 -2
  2. package/docs/agents.md +9 -5
  3. package/docs/concepts.md +17 -13
  4. package/docs/examples.md +19 -4
  5. package/docs/getting-started.md +34 -19
  6. package/docs/how-it-works.md +85 -84
  7. package/docs/index.md +1 -1
  8. package/docs/workflows.md +88 -40
  9. package/package.json +1 -1
  10. package/src/agents/forger.agent.yaml +17 -5
  11. package/src/forger/README.md +1 -1
  12. package/src/forger/forge-tier.yaml +2 -1
  13. package/src/forger/preferences.yaml +5 -7
  14. package/src/knowledge/agentskills-spec.md +1 -1
  15. package/src/knowledge/architecture-verification.md +102 -0
  16. package/src/knowledge/ccc-bridge.md +1 -1
  17. package/src/knowledge/confidence-tiers.md +12 -1
  18. package/src/knowledge/doc-fetcher.md +1 -1
  19. package/src/knowledge/manual-section-integrity.md +2 -2
  20. package/src/knowledge/overview.md +10 -7
  21. package/src/knowledge/progressive-capability.md +3 -2
  22. package/src/knowledge/qmd-registry.md +4 -1
  23. package/src/knowledge/skf-knowledge-index.csv +1 -0
  24. package/src/knowledge/skill-lifecycle.md +26 -2
  25. package/src/knowledge/split-body-strategy.md +16 -2
  26. package/src/knowledge/zero-hallucination.md +11 -8
  27. package/src/module-help.csv +9 -6
  28. package/src/module.yaml +3 -0
  29. package/src/workflows/README.md +35 -17
  30. package/src/workflows/analyze-source/data/skill-brief-schema.md +18 -5
  31. package/src/workflows/analyze-source/steps-c/step-01-init.md +2 -2
  32. package/src/workflows/analyze-source/steps-c/step-01b-continue.md +1 -1
  33. package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +1 -1
  34. package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +1 -1
  35. package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +1 -1
  36. package/src/workflows/analyze-source/steps-c/step-05-recommend.md +1 -1
  37. package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +2 -2
  38. package/src/workflows/analyze-source/workflow.md +2 -2
  39. package/src/workflows/audit-skill/data/severity-rules.md +1 -1
  40. package/src/workflows/audit-skill/steps-c/step-01-init.md +1 -0
  41. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +5 -0
  42. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +1 -1
  43. package/src/workflows/audit-skill/workflow.md +2 -1
  44. package/src/workflows/brief-skill/data/scope-templates.md +10 -0
  45. package/src/workflows/brief-skill/data/skill-brief-schema.md +25 -23
  46. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +1 -1
  47. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +3 -0
  48. package/src/workflows/create-skill/data/skill-sections.md +12 -11
  49. package/src/workflows/create-skill/data/source-resolution-protocols.md +1 -1
  50. package/src/workflows/create-skill/steps-c/step-01-load-brief.md +13 -9
  51. package/src/workflows/create-skill/steps-c/step-03-extract.md +15 -19
  52. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +3 -3
  53. package/src/workflows/create-skill/steps-c/step-03c-fetch-docs.md +3 -1
  54. package/src/workflows/create-skill/steps-c/step-04-enrich.md +1 -1
  55. package/src/workflows/create-skill/steps-c/step-05-compile.md +4 -3
  56. package/src/workflows/create-skill/steps-c/step-06-validate.md +2 -2
  57. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +33 -44
  58. package/src/workflows/create-skill/steps-c/step-08-report.md +25 -11
  59. package/src/workflows/create-skill/workflow.md +2 -2
  60. package/src/workflows/create-stack-skill/data/compose-mode-rules.md +65 -0
  61. package/src/workflows/create-stack-skill/data/stack-skill-template.md +28 -6
  62. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +23 -7
  63. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +35 -2
  64. package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +26 -2
  65. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +24 -0
  66. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +30 -2
  67. package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +5 -1
  68. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +53 -5
  69. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +3 -3
  70. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +8 -2
  71. package/src/workflows/create-stack-skill/workflow.md +2 -2
  72. package/src/workflows/export-skill/data/managed-section-format.md +8 -1
  73. package/src/workflows/export-skill/data/snippet-format.md +1 -1
  74. package/src/workflows/export-skill/steps-c/step-04-update-context.md +7 -2
  75. package/src/workflows/export-skill/steps-c/step-05-token-report.md +1 -1
  76. package/src/workflows/export-skill/workflow.md +3 -1
  77. package/src/workflows/quick-skill/data/skill-template.md +18 -6
  78. package/src/workflows/quick-skill/steps-c/step-04-compile.md +26 -6
  79. package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
  80. package/src/workflows/quick-skill/steps-c/step-06-write.md +3 -0
  81. package/src/workflows/quick-skill/workflow.md +1 -1
  82. package/src/workflows/refine-architecture/data/refinement-rules.md +102 -0
  83. package/src/workflows/refine-architecture/steps-c/step-01-init.md +188 -0
  84. package/src/workflows/refine-architecture/steps-c/step-02-gap-analysis.md +179 -0
  85. package/src/workflows/refine-architecture/steps-c/step-03-issue-detection.md +182 -0
  86. package/src/workflows/refine-architecture/steps-c/step-04-improvements.md +169 -0
  87. package/src/workflows/refine-architecture/steps-c/step-05-compile.md +200 -0
  88. package/src/workflows/refine-architecture/steps-c/step-06-report.md +147 -0
  89. package/src/workflows/refine-architecture/workflow.md +61 -0
  90. package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +2 -1
  91. package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +1 -1
  92. package/src/workflows/setup-forge/steps-c/step-02-write-config.md +15 -16
  93. package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +1 -1
  94. package/src/workflows/setup-forge/steps-c/step-04-report.md +2 -2
  95. package/src/workflows/setup-forge/workflow.md +3 -2
  96. package/src/workflows/test-skill/data/scoring-rules.md +3 -0
  97. package/src/workflows/test-skill/data/source-access-protocol.md +1 -1
  98. package/src/workflows/test-skill/steps-c/step-01-init.md +1 -0
  99. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +2 -0
  100. package/src/workflows/test-skill/workflow.md +2 -2
  101. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +2 -2
  102. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +5 -2
  103. package/src/workflows/update-skill/steps-c/step-05-validate.md +7 -11
  104. package/src/workflows/update-skill/steps-c/step-06-write.md +5 -2
  105. package/src/workflows/update-skill/workflow.md +1 -1
  106. package/src/workflows/verify-stack/data/coverage-patterns.md +45 -0
  107. package/src/workflows/verify-stack/data/feasibility-report-template.md +63 -0
  108. package/src/workflows/verify-stack/data/integration-verification-rules.md +73 -0
  109. package/src/workflows/verify-stack/steps-c/step-01-init.md +174 -0
  110. package/src/workflows/verify-stack/steps-c/step-02-coverage.md +181 -0
  111. package/src/workflows/verify-stack/steps-c/step-03-integrations.md +195 -0
  112. package/src/workflows/verify-stack/steps-c/step-04-requirements.md +168 -0
  113. package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +191 -0
  114. package/src/workflows/verify-stack/steps-c/step-06-report.md +197 -0
  115. package/src/workflows/verify-stack/workflow.md +61 -0
  116. package/src/workflows/analyze-source/validation-report.md +0 -657
  117. package/src/workflows/analyze-source/workflow-plan-analyze-source.md +0 -385
  118. package/src/workflows/audit-skill/validation-report.md +0 -545
  119. package/src/workflows/audit-skill/workflow-plan-audit-skill.md +0 -318
  120. package/src/workflows/brief-skill/validation-report.md +0 -630
  121. package/src/workflows/brief-skill/workflow-plan-brief-skill.md +0 -360
  122. package/src/workflows/create-skill/validation-report.md +0 -189
  123. package/src/workflows/create-skill/workflow-plan-create-skill.md +0 -525
  124. package/src/workflows/create-stack-skill/validation-report.md +0 -401
  125. package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +0 -481
  126. package/src/workflows/export-skill/validation-report.md +0 -263
  127. package/src/workflows/export-skill/workflow-plan-export-skill.md +0 -369
  128. package/src/workflows/quick-skill/validation-report.md +0 -543
  129. package/src/workflows/quick-skill/workflow-plan-quick-skill.md +0 -405
  130. package/src/workflows/setup-forge/validation-report.md +0 -504
  131. package/src/workflows/setup-forge/workflow-plan-setup-forge.md +0 -430
  132. package/src/workflows/test-skill/validation-report.md +0 -390
  133. package/src/workflows/test-skill/workflow-plan-test-skill.md +0 -292
  134. package/src/workflows/update-skill/data/tier-degradation-rules.md +0 -46
  135. package/src/workflows/update-skill/validation-report.md +0 -559
  136. package/src/workflows/update-skill/workflow-plan-update-skill.md +0 -441
@@ -1,430 +0,0 @@
1
- ---
2
- conversionFrom: 'src/workflows/setup-forge/setup-forge.spec.md'
3
- originalFormat: 'Specification/Placeholder'
4
- stepsCompleted: ['step-00-conversion', 'step-02-classification', 'step-03-requirements', 'step-04-tools', 'step-05-plan-review', 'step-06-design', 'step-07-foundation', 'step-08-build-step-01', 'step-09-build-remaining', 'step-10-confirmation']
5
- created: 2026-02-26
6
- status: CONFIRMED
7
- confirmationDate: 2026-02-26
8
- confirmationType: conversion
9
- coverageStatus: complete
10
- approvedDate: 2026-02-26
11
- validationStatus: COMPLETE
12
- validationDate: 2026-02-26
13
- validationReport: validation-report.md
14
- ---
15
-
16
- # Workflow Creation Plan
17
-
18
- ## Conversion Source
19
-
20
- **Original Path:** src/workflows/setup-forge/setup-forge.spec.md
21
- **Original Format:** Specification/Placeholder (not yet implemented)
22
- **Detected Structure:** 5-step create-only workflow spec with defined steps, inputs, outputs, and agent integration
23
-
24
- ---
25
-
26
- ## Original Workflow Analysis
27
-
28
- ### Goal (from source)
29
-
30
- Initialize forge environment, detect tools, set tier, auto-index project
31
-
32
- ### Original Steps (Complete List)
33
-
34
- **Step 1:** detect-tools - Check for gh, ast-grep, QMD availability
35
- **Step 2:** determine-tier - Set Quick/Forge/Forge+/Deep based on tools found
36
- **Step 3:** create-config - Generate forge-config.yaml with tier and tool flags
37
- **Step 4:** auto-index - Index current project as QMD collection (Deep only)
38
- **Step 5:** report - Display forge status, tier, and capabilities
39
-
40
- ### Output / Deliverable
41
-
42
- - `forge-config.yaml` — Tier and tool configuration
43
- - `forge-data/` directory created
44
- - `_bmad/_memory/forger-sidecar/forge-tier.yaml` — Capability flags
45
- - `_bmad/_memory/forger-sidecar/preferences.yaml` — User preferences (defaults on first run)
46
-
47
- ### Input Requirements
48
-
49
- **Required:**
50
- - Project root path
51
-
52
- **Optional:**
53
- - `--update-spec` flag to fetch latest agentskills.io spec schema
54
-
55
- ### Key Instructions to LLM
56
-
57
- - Ferris agent in Architect mode is the primary operator
58
- - Tier-aware communication: acknowledge detected tier in responses
59
- - Zero hallucination: tool detection must be empirical (actually run commands), not assumed
60
- - Progressive capability: adapt behavior based on detected tier
61
-
62
- ---
63
-
64
- ## Conversion Notes
65
-
66
- **What works well in original:**
67
- - Clear 5-step decomposition with logical progression
68
- - Well-defined progressive tier system (Quick/Forge/Forge+/Deep)
69
- - Three distinct output artifacts with clear purposes
70
- - Correctly identified as foundation workflow all others depend on
71
-
72
- **What needs improvement:**
73
- - `--update-spec` is underspecified — deduced as convenience flag to fetch agentskills.io schema for downstream validation, not a core step
74
- - No re-run behavior defined — deduced as re-detect and overwrite (config/tier), preserve (preferences), skip-if-exists (forge-data/), report changes
75
- - Step 04 (auto-index) is conditional (Deep-only) — needs graceful skip logic
76
- - Missing `preferences.yaml` creation with defaults on first run
77
-
78
- **Compliance gaps identified:**
79
- - No workflow.md entry point file
80
- - No step files exist (steps-c/ directory not created)
81
- - No BMAD frontmatter or step architecture
82
- - No menu handling or continuation logic
83
- - No state tracking via stepsCompleted
84
- - No data/ or templates/ directories
85
-
86
- **Deduced design decisions:**
87
- - `--update-spec` handled as optional action within report step, not its own step
88
- - Re-run behavior: re-detect tools, overwrite config/tier, preserve preferences, report tier changes
89
- - `preferences.yaml` created with defaults if missing, never overwritten
90
- - `forge-data/` directory creation is idempotent (skip if exists)
91
-
92
- ---
93
-
94
- ## Classification Decisions
95
-
96
- **Workflow Name:** setup-forge
97
- **Target Path:** `_bmad/skf/workflows/setup-forge/`
98
-
99
- **4 Key Decisions:**
100
- 1. **Document Output:** false — action-based workflow producing config files as side effects, not a progressively-built document
101
- 2. **Module Affiliation:** SKF — core initializer for the Skill Forge module
102
- 3. **Session Type:** single-session — tool detection and config generation completes in under 5 minutes
103
- 4. **Lifecycle Support:** create-only — idempotent re-run replaces the need for edit/validate modes
104
-
105
- **Structure Implications:**
106
- - Simple `steps-c/` folder only, no edit/validate modes
107
- - step-01b added for CCC index verification (Forge+ integration)
108
- - No document template — output is config files written directly
109
- - Standard init step with step-01b bridge to config writing
110
-
111
- ---
112
-
113
- ## Advanced Elicitation Refinements
114
-
115
- *Applied from 5-method analysis: Architecture Decision Records, Pre-mortem, First Principles, Critique and Refine, Red Team vs Blue Team*
116
-
117
- ### Config File Consolidation
118
- - **forge-tier.yaml** (sidecar) is the single source of truth for tool availability and tier
119
- - **forge-config.yaml** must have a distinct, non-overlapping purpose — module-level settings (output paths, skill defaults, module preferences) NOT tier/tool duplication
120
- - If forge-config.yaml has no unique purpose beyond tier data, eliminate it and use forge-tier.yaml only
121
-
122
- ### Tool Verification Over Detection
123
- - Step 01 must verify tools are functional, not just present
124
- - Use `ast-grep --version`, `gh --version`, `qmd status` — not just `which` or `command -v`
125
- - QMD specifically: check it's initialized, not just installed
126
-
127
- ### Preferences Enhancement
128
- - Add `tier_override` field to preferences.yaml for manual tier forcing
129
- - Allows users to force Deep when tools are partially available (e.g., QMD coming soon)
130
- - Re-run respects override: if set, skip detection for that tier and use override
131
-
132
- ### Step 04 Resilience
133
- - QMD auto-indexing could be slow on large projects
134
- - Step 04 needs timeout awareness and graceful degradation
135
- - If indexing fails/times out, forge-tier.yaml still records `qmd: true` — index can be re-attempted later
136
-
137
- ### Report Framing
138
- - Frame capabilities positively: "Your Forge tier gives you AST-backed analysis and structural code search"
139
- - Do NOT list what was skipped or missing — no "You're missing QMD for Deep tier"
140
- - On re-run: report tier changes explicitly ("Upgraded from Quick to Forge — ast-grep now available")
141
-
142
- ### `--update-spec` Placement
143
- - Owned by report step as optional post-action
144
- - Not its own step — fires at end if flag is present
145
- - Requires gh or web access to fetch latest agentskills.io schema
146
-
147
- ---
148
-
149
- ## Requirements
150
-
151
- **Flow Structure:**
152
- - Pattern: Linear with conditional branch (step 03 auto-index is Deep-only)
153
- - Phases: Init → Detect & Verify + Determine Tier → Write Config → [Deep?] Auto-Index → Report
154
- - Estimated steps: 4 step files (merged detect+tier into one, auto-index+report could merge but kept separate for conditional clarity)
155
- - Revised step plan:
156
- - step-01: detect-and-tier — verify all 3 tools functional, calculate tier (or apply tier_override)
157
- - step-02: write-config — write forge-tier.yaml, create preferences.yaml defaults if missing, ensure forge-data/ exists
158
- - step-03: auto-index — QMD collection indexing of project (Deep tier only, skip gracefully for Quick/Forge, timeout resilient)
159
- - step-04: report — display forge status with positive capability framing, handle --update-spec if flagged, report tier changes on re-run
160
-
161
- **User Interaction:**
162
- - Style: Fully autonomous — zero user interaction during execution
163
- - Decision points: None — all decisions are algorithmic (tool exists? → tier assignment)
164
- - Checkpoint frequency: None — runs straight through, report at end
165
-
166
- **Inputs Required:**
167
- - Required: Project root path (implicit from BMAD context)
168
- - Optional: `--update-spec` flag, `tier_override` in preferences.yaml
169
- - Prerequisites: BMAD installed with SKF module active, Ferris agent available
170
-
171
- **Output Specifications:**
172
- - Type: Action-based (config file generation + directory creation + tool verification)
173
- - Files created/updated:
174
- - `_bmad/_memory/forger-sidecar/forge-tier.yaml` — single source of truth for tools + tier + timestamp
175
- - `_bmad/_memory/forger-sidecar/preferences.yaml` — user defaults (create if missing, never overwrite)
176
- - `forge-data/` directory — created if missing, skipped if exists
177
- - Eliminated: `forge-config.yaml` — consolidated into forge-tier.yaml to prevent drift
178
- - Display: Forge status report with tier, capabilities, and positive framing
179
- - Frequency: Single execution per run (idempotent, safe to re-run)
180
-
181
- **Success Criteria:**
182
- - All 4 tools (ast-grep, gh, qmd, ccc) verified via version/status commands, results accurately recorded
183
- - Correct tier assigned from tool availability (or tier_override respected if set)
184
- - forge-tier.yaml written with tools, tier, and tier_detected_at timestamp
185
- - preferences.yaml exists with defaults (created on first run, preserved on re-run)
186
- - forge-data/ directory exists
187
- - Report displayed with positive capability framing (no "missing" language)
188
- - On re-run: tier changes detected and reported (upgrade/downgrade/same)
189
- - QMD auto-index completes or degrades gracefully on timeout (Deep tier only)
190
-
191
- **Instruction Style:**
192
- - Overall: Prescriptive — exact operations, no creative facilitation
193
- - Notes: Each step has precise shell commands, file write operations, and conditional logic. No open-ended questions or user discovery needed. Tool verification uses specific commands (ast-grep --version, gh --version, qmd status), not existence checks.
194
-
195
- ---
196
-
197
- ## Tools Configuration
198
-
199
- **Core BMAD Tools:**
200
- - **Party Mode:** Excluded — fully autonomous workflow, no creative exploration needed
201
- - **Advanced Elicitation:** Excluded — no content to refine, purely mechanical operations
202
- - **Brainstorming:** Excluded — no ideation needed in tool detection
203
-
204
- **LLM Features:**
205
- - **Web-Browsing:** Excluded — tool detection is local; --update-spec uses gh/curl via shell
206
- - **File I/O:** Included — core to workflow (read/write forge-tier.yaml, preferences.yaml, create forge-data/)
207
- - **Sub-Agents:** Excluded — simple linear flow, no parallel specialization
208
- - **Sub-Processes:** Excluded — no parallel processing needed
209
-
210
- **Memory:**
211
- - Type: Single-session, no complex tracking
212
- - Sidecar file: forge-tier.yaml serves as persistent state (read on re-run to detect tier changes)
213
- - No stepsCompleted tracking needed (non-document, single-session)
214
-
215
- **External Integrations:**
216
- - **QMD MCP server:** Required for step-03 auto-index (Deep tier only) — must be manually installed by the user following official QMD documentation
217
- - No other external integrations
218
-
219
- **Installation Requirements:**
220
- - **QMD MCP server:** Manual installation required for Deep tier — not bundled with BMAD, user follows official docs
221
- - ast-grep and gh are standard CLI tools installed independently by the user
222
-
223
- ---
224
-
225
- ## Workflow Design
226
-
227
- ### File Structure
228
-
229
- ```
230
- setup-forge/
231
- ├── workflow.md # Entry point
232
- ├── data/
233
- │ └── tier-rules.md # Tier calculation rules + capability descriptions
234
- └── steps-c/
235
- ├── step-01-detect-and-tier.md
236
- ├── step-01b-ccc-index.md
237
- ├── step-02-write-config.md
238
- ├── step-03-auto-index.md
239
- └── step-04-report.md
240
- ```
241
-
242
- No templates/ directory (non-document workflow).
243
-
244
- ### Step Sequence
245
-
246
- | Step | File | Type | Menu | Goal |
247
- |------|------|------|------|------|
248
- | 01 | step-01-detect-and-tier.md | Init (Non-Continuable) | Auto-proceed | Verify 4 tools functional (ast-grep, gh, qmd, ccc), check tier_override, calculate tier, read previous tier |
249
- | 01b | step-01b-ccc-index.md | Middle (Simple + Conditional) | Auto-proceed | Verify/create CCC index for Forge+/Deep tiers when ccc available, skip silently otherwise |
250
- | 02 | step-02-write-config.md | Middle (Simple) | Auto-proceed | Write forge-tier.yaml, create preferences.yaml defaults if missing, ensure forge-data/ exists |
251
- | 03 | step-03-auto-index.md | Middle (Simple + Conditional) | Auto-proceed | QMD index project (Deep only) + CCC registry hygiene, skip gracefully otherwise |
252
- | 04 | step-04-report.md | Final Step | None | Display status with positive framing, handle --update-spec, report tier changes |
253
-
254
- ### Step Detail: step-01-detect-and-tier
255
-
256
- **Frontmatter refs:** nextStepFile, tierRulesData (../data/tier-rules.md)
257
- **Actions:**
258
- 1. Load tier-rules.md for tier calculation reference
259
- 2. Read existing forge-tier.yaml if present → store as {previous_tier}
260
- 3. Read existing preferences.yaml if present → check for tier_override
261
- 4. Run `ast-grep --version` → record result (available/unavailable + version)
262
- 5. Run `gh --version` → record result
263
- 6. Run `qmd status` → record result (check initialized, not just installed)
264
- 7. Calculate tier from tier-rules.md logic (or apply tier_override if set)
265
- 8. Store {detected_tools}, {calculated_tier}, {previous_tier} in context
266
- 9. Auto-proceed to step-02
267
-
268
- **Error handling:** Tool command failures are NOT errors — they indicate tool unavailability. Record as unavailable and continue.
269
-
270
- ### Step Detail: step-02-write-config
271
-
272
- **Frontmatter refs:** nextStepFile
273
- **Actions:**
274
- 1. Write forge-tier.yaml with: tools (ast_grep, gh_cli, qmd booleans), tier, tier_detected_at timestamp
275
- 2. Check if preferences.yaml exists
276
- - If missing: create with defaults (tier_override: ~, plus any other default preferences)
277
- - If exists: preserve entirely, do not modify
278
- 3. Check if forge-data/ directory exists
279
- - If missing: create it
280
- - If exists: skip
281
- 4. Auto-proceed to step-03
282
-
283
- **Error handling:** File write failure → report error clearly, halt workflow.
284
-
285
- ### Step Detail: step-03-auto-index
286
-
287
- **Frontmatter refs:** nextStepFile
288
- **Actions:**
289
- 1. Check {calculated_tier}
290
- 2. If Deep:
291
- - Run QMD collection indexing of current project
292
- - Handle timeout gracefully (if indexing exceeds reasonable time, log and continue)
293
- - If indexing fails: log that index needs retry, do NOT fail the workflow
294
- 3. If Quick or Forge:
295
- - Skip silently — no output, no "missing" messaging
296
- 4. Auto-proceed to step-04
297
-
298
- **Error handling:** QMD failures degrade gracefully. forge-tier.yaml already records qmd: true — index can be retried later.
299
-
300
- ### Step Detail: step-04-report
301
-
302
- **Frontmatter refs:** tierRulesData (../data/tier-rules.md)
303
- **Actions:**
304
- 1. Load tier-rules.md for capability descriptions
305
- 2. Display forge status report:
306
- - Detected tier with positive capability framing (from tier-rules.md)
307
- - Tool availability summary (versions detected)
308
- - If re-run: report tier change (upgrade/downgrade/same) with what changed
309
- 3. If --update-spec flag present:
310
- - Fetch latest agentskills.io schema via gh/curl
311
- - Store in forge-data/
312
- 4. Final summary: "Forge ready. [Tier] tier active."
313
-
314
- **Error handling:** --update-spec fetch failure → warn but don't fail.
315
-
316
- ### Data Flow
317
-
318
- ```
319
- step-01 ──→ step-02 ──→ step-03 ──→ step-04
320
- │ │ │ │
321
- │reads: │reads: │reads: │reads:
322
- │ tier-rules │ context │ context │ tier-rules
323
- │ forge-tier │ │ │ context
324
- │ prefs │writes: │writes: │
325
- │ │ forge-tier │ QMD index │displays:
326
- │sets: │ prefs │ (Deep) │ report
327
- │ tools │ forge-data/│ │
328
- │ tier │ │ │fetches:
329
- │ prev_tier │ │ │ spec (opt)
330
- ```
331
-
332
- ### Interaction Pattern
333
- - All steps: Auto-proceed (Menu Pattern 3)
334
- - Zero user interaction during execution
335
- - Report step is display-only output
336
-
337
- ### Role and Persona
338
- - Ferris agent, prescriptive system task execution
339
- - Forge metaphor used briefly in final report only
340
- - No collaborative dialogue, no questions asked
341
-
342
- ### Validation and Error Handling
343
- - Tool command failures → not errors, record as unavailable
344
- - File write failures → real errors, halt and report
345
- - QMD index failures → degrade gracefully, log for retry
346
- - Invalid tier_override → ignore, use detected tier, warn in report
347
-
348
- ### Special Features
349
- - Conditional logic in step-03 (Deep-only indexing)
350
- - Re-run detection via existing forge-tier.yaml comparison
351
- - No input discovery (first workflow, no dependencies)
352
- - Upstream of ALL other SKF workflows (produces forge-tier.yaml)
353
-
354
- ### Subprocess Optimization
355
- - Not applicable — simple sequential operations, no parallel analysis needed
356
-
357
- ---
358
-
359
- ## Foundation Build Complete
360
-
361
- **Created:**
362
- - Folder structure at: `_bmad-output/bmb-creations/workflows/setup-forge/`
363
- - `workflow.md` — entry point with auto-proceed architecture, SKF config loading
364
- - `data/tier-rules.md` — tier calculation rules, capability descriptions, re-run messages
365
- - `steps-c/` directory — ready for step files
366
-
367
- **Configuration:**
368
- - Workflow name: setup-forge
369
- - Continuable: no
370
- - Document output: no (non-document, action-based)
371
- - Mode: create-only
372
- - Output template: none (non-document workflow)
373
-
374
- **Next Steps:**
375
- - Step 8: Build step-01-detect-and-tier.md
376
- - Step 9: Build remaining steps (02, 03, 04)
377
-
378
- ---
379
-
380
- ## Step 01 Build Complete
381
-
382
- **Created:**
383
- - steps-c/step-01-detect-and-tier.md
384
-
385
- **Step Configuration:**
386
- - Type: Init (Non-Continuable)
387
- - Input Discovery: No
388
- - Menu: Auto-proceed (Pattern 3)
389
- - Next Step: step-01b-ccc-index.md
390
- - step-01b handles CCC index verification before config writing
391
-
392
- **Supporting Files:**
393
- - data/tier-rules.md (created in foundation step)
394
-
395
- ---
396
-
397
- ## Step 02 Build Complete
398
-
399
- **Created:**
400
- - steps-c/step-02-write-config.md
401
-
402
- **Step Configuration:**
403
- - Type: Middle (Simple)
404
- - Menu: Auto-proceed (Pattern 3)
405
- - Next Step: step-03-auto-index.md
406
-
407
- ---
408
-
409
- ## Step 03 Build Complete
410
-
411
- **Created:**
412
- - steps-c/step-03-auto-index.md
413
-
414
- **Step Configuration:**
415
- - Type: Middle (Simple + Conditional)
416
- - Menu: Auto-proceed (Pattern 3)
417
- - Conditional: Deep tier → QMD indexing, other tiers → silent skip
418
- - Next Step: step-04-report.md
419
-
420
- ---
421
-
422
- ## Step 04 Build Complete
423
-
424
- **Created:**
425
- - steps-c/step-04-report.md
426
-
427
- **Step Configuration:**
428
- - Type: Final Step
429
- - Menu: None (workflow ends)
430
- - References: data/tier-rules.md for capability descriptions