bmad-module-skill-forge 0.6.0 → 0.7.1
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.
- package/README.md +2 -2
- package/docs/agents.md +9 -5
- package/docs/concepts.md +17 -13
- package/docs/examples.md +19 -4
- package/docs/getting-started.md +34 -19
- package/docs/how-it-works.md +87 -84
- package/docs/index.md +1 -1
- package/docs/workflows.md +88 -40
- package/package.json +1 -1
- package/src/agents/forger.agent.yaml +17 -5
- package/src/forger/README.md +1 -1
- package/src/forger/forge-tier.yaml +2 -1
- package/src/forger/preferences.yaml +5 -7
- package/src/knowledge/agentskills-spec.md +1 -1
- package/src/knowledge/architecture-verification.md +102 -0
- package/src/knowledge/ccc-bridge.md +3 -2
- package/src/knowledge/confidence-tiers.md +12 -1
- package/src/knowledge/doc-fetcher.md +1 -1
- package/src/knowledge/manual-section-integrity.md +2 -2
- package/src/knowledge/overview.md +11 -7
- package/src/knowledge/progressive-capability.md +5 -2
- package/src/knowledge/qmd-registry.md +5 -2
- package/src/knowledge/skf-knowledge-index.csv +2 -0
- package/src/knowledge/skill-lifecycle.md +26 -2
- package/src/knowledge/split-body-strategy.md +16 -2
- package/src/knowledge/tool-resolution.md +55 -0
- package/src/knowledge/zero-hallucination.md +11 -8
- package/src/module-help.csv +9 -6
- package/src/module.yaml +3 -0
- package/src/workflows/README.md +35 -17
- package/src/workflows/analyze-source/data/skill-brief-schema.md +18 -5
- package/src/workflows/analyze-source/steps-c/step-01-init.md +2 -2
- package/src/workflows/analyze-source/steps-c/step-01b-continue.md +1 -1
- package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +1 -1
- package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +1 -1
- package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +3 -3
- package/src/workflows/analyze-source/steps-c/step-05-recommend.md +1 -1
- package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +2 -2
- package/src/workflows/analyze-source/workflow.md +2 -2
- package/src/workflows/audit-skill/data/severity-rules.md +1 -1
- package/src/workflows/audit-skill/steps-c/step-01-init.md +2 -1
- package/src/workflows/audit-skill/steps-c/step-02-re-index.md +8 -1
- package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +2 -2
- package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +2 -2
- package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +1 -1
- package/src/workflows/audit-skill/workflow.md +2 -1
- package/src/workflows/brief-skill/data/scope-templates.md +10 -0
- package/src/workflows/brief-skill/data/skill-brief-schema.md +25 -23
- package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +1 -1
- package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +1 -1
- package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +3 -0
- package/src/workflows/create-skill/data/extraction-patterns.md +7 -1
- package/src/workflows/create-skill/data/skill-sections.md +12 -11
- package/src/workflows/create-skill/data/source-resolution-protocols.md +2 -2
- package/src/workflows/create-skill/data/tier-degradation-rules.md +1 -1
- package/src/workflows/create-skill/steps-c/step-01-load-brief.md +14 -10
- package/src/workflows/create-skill/steps-c/step-02b-ccc-discover.md +4 -0
- package/src/workflows/create-skill/steps-c/step-03-extract.md +19 -19
- package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +3 -3
- package/src/workflows/create-skill/steps-c/step-03c-fetch-docs.md +3 -1
- package/src/workflows/create-skill/steps-c/step-04-enrich.md +3 -1
- package/src/workflows/create-skill/steps-c/step-05-compile.md +4 -3
- package/src/workflows/create-skill/steps-c/step-06-validate.md +2 -2
- package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +33 -44
- package/src/workflows/create-skill/steps-c/step-08-report.md +25 -11
- package/src/workflows/create-skill/workflow.md +2 -2
- package/src/workflows/create-stack-skill/data/compose-mode-rules.md +65 -0
- package/src/workflows/create-stack-skill/data/manifest-patterns.md +23 -1
- package/src/workflows/create-stack-skill/data/stack-skill-template.md +28 -6
- package/src/workflows/create-stack-skill/steps-c/step-01-init.md +25 -7
- package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +37 -3
- package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +29 -3
- package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +50 -7
- package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +35 -3
- package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +5 -1
- package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +53 -5
- package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +3 -3
- package/src/workflows/create-stack-skill/steps-c/step-09-report.md +8 -2
- package/src/workflows/create-stack-skill/workflow.md +2 -2
- package/src/workflows/export-skill/data/managed-section-format.md +8 -1
- package/src/workflows/export-skill/data/snippet-format.md +1 -1
- package/src/workflows/export-skill/steps-c/step-04-update-context.md +7 -2
- package/src/workflows/export-skill/steps-c/step-05-token-report.md +1 -1
- package/src/workflows/export-skill/workflow.md +3 -1
- package/src/workflows/quick-skill/data/skill-template.md +18 -6
- package/src/workflows/quick-skill/steps-c/step-04-compile.md +26 -6
- package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
- package/src/workflows/quick-skill/steps-c/step-06-write.md +3 -0
- package/src/workflows/quick-skill/workflow.md +1 -1
- package/src/workflows/refine-architecture/data/refinement-rules.md +102 -0
- package/src/workflows/refine-architecture/steps-c/step-01-init.md +188 -0
- package/src/workflows/refine-architecture/steps-c/step-02-gap-analysis.md +179 -0
- package/src/workflows/refine-architecture/steps-c/step-03-issue-detection.md +182 -0
- package/src/workflows/refine-architecture/steps-c/step-04-improvements.md +169 -0
- package/src/workflows/refine-architecture/steps-c/step-05-compile.md +200 -0
- package/src/workflows/refine-architecture/steps-c/step-06-report.md +147 -0
- package/src/workflows/refine-architecture/workflow.md +61 -0
- package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +2 -1
- package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +5 -3
- package/src/workflows/setup-forge/steps-c/step-02-write-config.md +15 -16
- package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +1 -1
- package/src/workflows/setup-forge/steps-c/step-04-report.md +2 -2
- package/src/workflows/setup-forge/workflow.md +3 -2
- package/src/workflows/test-skill/data/scoring-rules.md +3 -0
- package/src/workflows/test-skill/data/source-access-protocol.md +1 -1
- package/src/workflows/test-skill/steps-c/step-01-init.md +1 -0
- package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +2 -0
- package/src/workflows/test-skill/workflow.md +2 -2
- package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +3 -3
- package/src/workflows/update-skill/steps-c/step-03-re-extract.md +8 -3
- package/src/workflows/update-skill/steps-c/step-05-validate.md +8 -12
- package/src/workflows/update-skill/steps-c/step-06-write.md +5 -2
- package/src/workflows/update-skill/workflow.md +1 -1
- package/src/workflows/verify-stack/data/coverage-patterns.md +45 -0
- package/src/workflows/verify-stack/data/feasibility-report-template.md +63 -0
- package/src/workflows/verify-stack/data/integration-verification-rules.md +73 -0
- package/src/workflows/verify-stack/steps-c/step-01-init.md +174 -0
- package/src/workflows/verify-stack/steps-c/step-02-coverage.md +181 -0
- package/src/workflows/verify-stack/steps-c/step-03-integrations.md +195 -0
- package/src/workflows/verify-stack/steps-c/step-04-requirements.md +168 -0
- package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +191 -0
- package/src/workflows/verify-stack/steps-c/step-06-report.md +197 -0
- package/src/workflows/verify-stack/workflow.md +61 -0
- package/src/workflows/analyze-source/validation-report.md +0 -657
- package/src/workflows/analyze-source/workflow-plan-analyze-source.md +0 -385
- package/src/workflows/audit-skill/validation-report.md +0 -545
- package/src/workflows/audit-skill/workflow-plan-audit-skill.md +0 -318
- package/src/workflows/brief-skill/validation-report.md +0 -630
- package/src/workflows/brief-skill/workflow-plan-brief-skill.md +0 -360
- package/src/workflows/create-skill/validation-report.md +0 -189
- package/src/workflows/create-skill/workflow-plan-create-skill.md +0 -525
- package/src/workflows/create-stack-skill/validation-report.md +0 -401
- package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +0 -481
- package/src/workflows/export-skill/validation-report.md +0 -263
- package/src/workflows/export-skill/workflow-plan-export-skill.md +0 -369
- package/src/workflows/quick-skill/validation-report.md +0 -543
- package/src/workflows/quick-skill/workflow-plan-quick-skill.md +0 -405
- package/src/workflows/setup-forge/validation-report.md +0 -504
- package/src/workflows/setup-forge/workflow-plan-setup-forge.md +0 -430
- package/src/workflows/test-skill/validation-report.md +0 -390
- package/src/workflows/test-skill/workflow-plan-test-skill.md +0 -292
- package/src/workflows/update-skill/data/tier-degradation-rules.md +0 -46
- package/src/workflows/update-skill/validation-report.md +0 -559
- 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
|