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.
Files changed (144) 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 +87 -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 +3 -2
  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 +11 -7
  21. package/src/knowledge/progressive-capability.md +5 -2
  22. package/src/knowledge/qmd-registry.md +5 -2
  23. package/src/knowledge/skf-knowledge-index.csv +2 -0
  24. package/src/knowledge/skill-lifecycle.md +26 -2
  25. package/src/knowledge/split-body-strategy.md +16 -2
  26. package/src/knowledge/tool-resolution.md +55 -0
  27. package/src/knowledge/zero-hallucination.md +11 -8
  28. package/src/module-help.csv +9 -6
  29. package/src/module.yaml +3 -0
  30. package/src/workflows/README.md +35 -17
  31. package/src/workflows/analyze-source/data/skill-brief-schema.md +18 -5
  32. package/src/workflows/analyze-source/steps-c/step-01-init.md +2 -2
  33. package/src/workflows/analyze-source/steps-c/step-01b-continue.md +1 -1
  34. package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +1 -1
  35. package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +1 -1
  36. package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +3 -3
  37. package/src/workflows/analyze-source/steps-c/step-05-recommend.md +1 -1
  38. package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +2 -2
  39. package/src/workflows/analyze-source/workflow.md +2 -2
  40. package/src/workflows/audit-skill/data/severity-rules.md +1 -1
  41. package/src/workflows/audit-skill/steps-c/step-01-init.md +2 -1
  42. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +8 -1
  43. package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +2 -2
  44. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +2 -2
  45. package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +1 -1
  46. package/src/workflows/audit-skill/workflow.md +2 -1
  47. package/src/workflows/brief-skill/data/scope-templates.md +10 -0
  48. package/src/workflows/brief-skill/data/skill-brief-schema.md +25 -23
  49. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +1 -1
  50. package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +1 -1
  51. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +3 -0
  52. package/src/workflows/create-skill/data/extraction-patterns.md +7 -1
  53. package/src/workflows/create-skill/data/skill-sections.md +12 -11
  54. package/src/workflows/create-skill/data/source-resolution-protocols.md +2 -2
  55. package/src/workflows/create-skill/data/tier-degradation-rules.md +1 -1
  56. package/src/workflows/create-skill/steps-c/step-01-load-brief.md +14 -10
  57. package/src/workflows/create-skill/steps-c/step-02b-ccc-discover.md +4 -0
  58. package/src/workflows/create-skill/steps-c/step-03-extract.md +19 -19
  59. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +3 -3
  60. package/src/workflows/create-skill/steps-c/step-03c-fetch-docs.md +3 -1
  61. package/src/workflows/create-skill/steps-c/step-04-enrich.md +3 -1
  62. package/src/workflows/create-skill/steps-c/step-05-compile.md +4 -3
  63. package/src/workflows/create-skill/steps-c/step-06-validate.md +2 -2
  64. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +33 -44
  65. package/src/workflows/create-skill/steps-c/step-08-report.md +25 -11
  66. package/src/workflows/create-skill/workflow.md +2 -2
  67. package/src/workflows/create-stack-skill/data/compose-mode-rules.md +65 -0
  68. package/src/workflows/create-stack-skill/data/manifest-patterns.md +23 -1
  69. package/src/workflows/create-stack-skill/data/stack-skill-template.md +28 -6
  70. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +25 -7
  71. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +37 -3
  72. package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +29 -3
  73. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +50 -7
  74. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +35 -3
  75. package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +5 -1
  76. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +53 -5
  77. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +3 -3
  78. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +8 -2
  79. package/src/workflows/create-stack-skill/workflow.md +2 -2
  80. package/src/workflows/export-skill/data/managed-section-format.md +8 -1
  81. package/src/workflows/export-skill/data/snippet-format.md +1 -1
  82. package/src/workflows/export-skill/steps-c/step-04-update-context.md +7 -2
  83. package/src/workflows/export-skill/steps-c/step-05-token-report.md +1 -1
  84. package/src/workflows/export-skill/workflow.md +3 -1
  85. package/src/workflows/quick-skill/data/skill-template.md +18 -6
  86. package/src/workflows/quick-skill/steps-c/step-04-compile.md +26 -6
  87. package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
  88. package/src/workflows/quick-skill/steps-c/step-06-write.md +3 -0
  89. package/src/workflows/quick-skill/workflow.md +1 -1
  90. package/src/workflows/refine-architecture/data/refinement-rules.md +102 -0
  91. package/src/workflows/refine-architecture/steps-c/step-01-init.md +188 -0
  92. package/src/workflows/refine-architecture/steps-c/step-02-gap-analysis.md +179 -0
  93. package/src/workflows/refine-architecture/steps-c/step-03-issue-detection.md +182 -0
  94. package/src/workflows/refine-architecture/steps-c/step-04-improvements.md +169 -0
  95. package/src/workflows/refine-architecture/steps-c/step-05-compile.md +200 -0
  96. package/src/workflows/refine-architecture/steps-c/step-06-report.md +147 -0
  97. package/src/workflows/refine-architecture/workflow.md +61 -0
  98. package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +2 -1
  99. package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +5 -3
  100. package/src/workflows/setup-forge/steps-c/step-02-write-config.md +15 -16
  101. package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +1 -1
  102. package/src/workflows/setup-forge/steps-c/step-04-report.md +2 -2
  103. package/src/workflows/setup-forge/workflow.md +3 -2
  104. package/src/workflows/test-skill/data/scoring-rules.md +3 -0
  105. package/src/workflows/test-skill/data/source-access-protocol.md +1 -1
  106. package/src/workflows/test-skill/steps-c/step-01-init.md +1 -0
  107. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +2 -0
  108. package/src/workflows/test-skill/workflow.md +2 -2
  109. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +3 -3
  110. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +8 -3
  111. package/src/workflows/update-skill/steps-c/step-05-validate.md +8 -12
  112. package/src/workflows/update-skill/steps-c/step-06-write.md +5 -2
  113. package/src/workflows/update-skill/workflow.md +1 -1
  114. package/src/workflows/verify-stack/data/coverage-patterns.md +45 -0
  115. package/src/workflows/verify-stack/data/feasibility-report-template.md +63 -0
  116. package/src/workflows/verify-stack/data/integration-verification-rules.md +73 -0
  117. package/src/workflows/verify-stack/steps-c/step-01-init.md +174 -0
  118. package/src/workflows/verify-stack/steps-c/step-02-coverage.md +181 -0
  119. package/src/workflows/verify-stack/steps-c/step-03-integrations.md +195 -0
  120. package/src/workflows/verify-stack/steps-c/step-04-requirements.md +168 -0
  121. package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +191 -0
  122. package/src/workflows/verify-stack/steps-c/step-06-report.md +197 -0
  123. package/src/workflows/verify-stack/workflow.md +61 -0
  124. package/src/workflows/analyze-source/validation-report.md +0 -657
  125. package/src/workflows/analyze-source/workflow-plan-analyze-source.md +0 -385
  126. package/src/workflows/audit-skill/validation-report.md +0 -545
  127. package/src/workflows/audit-skill/workflow-plan-audit-skill.md +0 -318
  128. package/src/workflows/brief-skill/validation-report.md +0 -630
  129. package/src/workflows/brief-skill/workflow-plan-brief-skill.md +0 -360
  130. package/src/workflows/create-skill/validation-report.md +0 -189
  131. package/src/workflows/create-skill/workflow-plan-create-skill.md +0 -525
  132. package/src/workflows/create-stack-skill/validation-report.md +0 -401
  133. package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +0 -481
  134. package/src/workflows/export-skill/validation-report.md +0 -263
  135. package/src/workflows/export-skill/workflow-plan-export-skill.md +0 -369
  136. package/src/workflows/quick-skill/validation-report.md +0 -543
  137. package/src/workflows/quick-skill/workflow-plan-quick-skill.md +0 -405
  138. package/src/workflows/setup-forge/validation-report.md +0 -504
  139. package/src/workflows/setup-forge/workflow-plan-setup-forge.md +0 -430
  140. package/src/workflows/test-skill/validation-report.md +0 -390
  141. package/src/workflows/test-skill/workflow-plan-test-skill.md +0 -292
  142. package/src/workflows/update-skill/data/tier-degradation-rules.md +0 -46
  143. package/src/workflows/update-skill/validation-report.md +0 -559
  144. package/src/workflows/update-skill/workflow-plan-update-skill.md +0 -441
@@ -1,360 +0,0 @@
1
- ---
2
- conversionFrom: 'src/workflows/brief-skill/brief-skill.spec.md'
3
- originalFormat: 'specification-document'
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-all-steps', 'step-10-confirmation']
5
- created: 2026-02-27
6
- status: CONFIRMED
7
- approvedDate: 2026-02-27
8
- confirmationDate: 2026-02-27
9
- confirmationType: conversion
10
- coverageStatus: complete
11
- validationStatus: COMPLETE
12
- validationDate: 2026-02-27
13
- validationReport: './validation-report.md'
14
- ---
15
-
16
- # Workflow Creation Plan
17
-
18
- ## Conversion Source
19
-
20
- **Original Path:** src/workflows/brief-skill/brief-skill.spec.md
21
- **Original Format:** Specification document (placeholder — not yet built)
22
- **Detected Structure:** Single spec file defining a 5-step create-only workflow with entry point frontmatter, planned step table, input/output definitions, and agent integration notes
23
-
24
- ---
25
-
26
- ## Original Workflow Analysis
27
-
28
- ### Goal (from source)
29
-
30
- Scope and design a skill through guided discovery. Interactive workflow that helps the user define what to skill — target repo, scope (full library vs subset), language, inclusion/exclusion patterns. Produces a skill-brief.yaml that drives create-skill.
31
-
32
- ### Original Steps (Complete List)
33
-
34
- **Step 1:** gather-intent - Understand what the user wants to skill
35
- **Step 2:** analyze-target - Examine source repo structure and exports
36
- **Step 3:** scope-definition - Define inclusion/exclusion boundaries
37
- **Step 4:** confirm-brief - Present brief summary for user confirmation
38
- **Step 5:** write-brief - Generate skill-brief.yaml
39
-
40
- ### Output / Deliverable
41
-
42
- - `{forge_data_folder}/{skill-name}/skill-brief.yaml` — Compilation config that drives the create-skill workflow
43
-
44
- ### Input Requirements
45
-
46
- **Required:**
47
- - Target repo (GitHub URL or local path)
48
- - User intent (what to skill and why)
49
-
50
- **Optional:**
51
- - Scope hints (specific directories, files, or patterns)
52
- - Language override
53
-
54
- ### Key Instructions to LLM
55
-
56
- - Spec designates Ferris (Architect mode) as the primary agent
57
- - Create-only mode (steps-c/ only) — no edit or validate modes specified
58
- - Document-producing workflow (outputs skill-brief.yaml)
59
- - No explicit collaborative style defined yet — to be designed during conversion
60
-
61
- ---
62
-
63
- ## Conversion Notes
64
-
65
- **What works well in original:**
66
- - Clear 5-step progression from intent gathering through output generation
67
- - Clean separation of concerns: gather → analyze → scope → confirm → write
68
- - Well-defined input/output contract (repo path in, skill-brief.yaml out)
69
- - Sensible agent assignment (Ferris in Architect mode)
70
-
71
- **What needs improvement:**
72
- - No step file content exists — only step names and one-line goals
73
- - No menu handling, continuation logic, or user interaction patterns defined
74
- - No frontmatter variable definitions for the step files
75
- - No collaborative facilitation approach specified
76
- - Output path uses `{forge_data_folder}` which needs resolution against module config
77
- - No validation or error handling patterns
78
-
79
- **Compliance gaps identified:**
80
- - Missing: Complete step files with BMAD step-file architecture
81
- - Missing: Frontmatter with proper variables (nextStepFile, etc.)
82
- - Missing: Menu handling and continuation patterns
83
- - Missing: Mandatory execution rules per step
84
- - Missing: State tracking via stepsCompleted
85
- - Missing: workflow.md entry point file
86
- - Missing: Step processing rules and critical rules sections
87
-
88
- ---
89
-
90
- ## Memory-Informed Discovery Notes
91
-
92
- ### Preserve
93
- - 5-step interactive discovery pipeline (gather → analyze → scope → confirm → write)
94
- - Input contract: GitHub URL or local path + user intent
95
- - Confirm-before-write gate (step 04 → 05) as collaborative checkpoint
96
- - Phase 1b Entry Point positioning feeding into create-skill pipeline
97
-
98
- ### Address
99
- - skill-brief.yaml must produce fields create-skill step-01-load-brief validates: name, version, source_repo, language, scope
100
- - {forge_data_folder} path variable needs resolution against SKF sidecar/config
101
- - No error handling patterns defined (inaccessible repo, failed analysis)
102
- - No collaborative facilitation style specified
103
-
104
- ### Add
105
- - Forge tier awareness: detect available tier from forge-tier.yaml to scope appropriately
106
- - Ecosystem check: verify if official skill already exists (pattern from create-skill/quick-skill step-02)
107
- - Multi-language detection: auto-detect primary language during analyze-target
108
- - Scope templates: common scoping patterns as selectable options (full library, specific modules, public API only)
109
-
110
- ### Audience
111
- - Developers using SKF module to create agent skills
112
- - Ferris in Architect mode (exploratory, collaborative) — interactive discovery workflow
113
- - Phase 1b Entry Points build priority
114
-
115
- ---
116
-
117
- ## Classification Decisions
118
-
119
- **Workflow Name:** brief-skill
120
- **Target Path:** {project-root}/_bmad/skf/workflows/brief-skill/
121
-
122
- **4 Key Decisions:**
123
- 1. **Document Output:** true — produces skill-brief.yaml as persistent compilation config
124
- 2. **Module Affiliation:** SKF (Skill Forge module)
125
- 3. **Session Type:** single-session — focused scoping conversation, ~10-15 minutes
126
- 4. **Lifecycle Support:** create-only — steps-c/ only
127
-
128
- **Structure Implications:**
129
- - Single `steps-c/` directory for create steps
130
- - No `step-01b-continue.md` needed (single-session)
131
- - No `steps-e/` or `steps-v/` directories
132
- - Document-producing: each step contributes progressively toward skill-brief.yaml
133
- - SKF module variables available (forge_data_folder, forge tier config)
134
- - Standard init step without continuation detection
135
-
136
- ---
137
-
138
- ## Requirements
139
-
140
- **Flow Structure:**
141
- - Pattern: Linear — 5 steps in sequence with confirmation gate at step 04
142
- - Phases: Discovery (01) → Analysis (02) → Scoping (03) → Confirmation (04) → Output (05)
143
- - Estimated steps: 5
144
-
145
- **User Interaction:**
146
- - Style: Guided session with collaborative discovery (Ferris Architect mode)
147
- - Steps 01, 03: Highly collaborative — open-ended discovery facilitation
148
- - Step 02: Mostly autonomous — Ferris reads repo, reports findings
149
- - Step 04: Mandatory user checkpoint (P2 confirmation gate)
150
- - Step 05: Autonomous — write YAML output
151
- - Decision points: Target repo + intent (01), scope boundaries (03), approve brief (04)
152
- - Checkpoint frequency: Menus at steps 01, 03, 04
153
-
154
- **Inputs Required:**
155
- - Required: Target repo (GitHub URL or local path), user intent (what to skill and why)
156
- - Optional: Scope hints (directories, files, patterns), language override, forge tier preference
157
- - Prerequisites: setup-forge completed (provides forge-tier.yaml with tier and tool availability)
158
-
159
- **Output Specifications:**
160
- - Type: Document (skill-brief.yaml)
161
- - Format: Structured YAML with required fields
162
- - Required fields: name, version, source_repo, language, scope (type, include, exclude), description, forge_tier, created, created_by
163
- - Output path: {forge_data_folder}/{skill-name}/skill-brief.yaml
164
- - Pattern: Direct-to-final — steps progressively gather data, step 05 writes complete YAML
165
- - Frequency: Single output per run
166
-
167
- **Success Criteria:**
168
- - Valid skill-brief.yaml written to {forge_data_folder}/{skill-name}/
169
- - All required fields present and valid (name, version, source_repo, language, scope)
170
- - Source repo accessible (GitHub URL resolves or local path exists)
171
- - Language correctly identified (auto-detected or user-specified)
172
- - Scope boundaries clear and actionable for create-skill consumption
173
- - User confirmed the brief before writing (step 04 gate passed)
174
-
175
- **Instruction Style:**
176
- - Overall: Mixed
177
- - Intent-based: Steps 01, 03 — open-ended discovery ("What interests you about this library?", "Which parts are most relevant?")
178
- - Prescriptive: Step 02 — exact analysis instructions (read repo structure, detect language, list exports)
179
- - Prescriptive: Steps 04, 05 — exact presentation format and YAML generation rules
180
- - Notes: Ferris Architect persona — exploratory, collaborative, zero-hallucination for analysis results
181
-
182
- ---
183
-
184
- ## Tools Configuration
185
-
186
- **Core BMAD Tools:**
187
- - **Party Mode:** excluded — focused discovery pipeline, not creative brainstorming
188
- - **Advanced Elicitation:** included as menu option [A] — available at steps 01, 03 for deeper intent/scope exploration
189
- - **Brainstorming:** excluded — scoping is analytical, not generative
190
-
191
- **LLM Features:**
192
- - **Web-Browsing:** included — Step 02 may resolve GitHub URLs, read READMEs, check package registries
193
- - **File I/O:** included — Step 02 reads repo structure (local paths), Step 05 writes skill-brief.yaml, reads forge-tier.yaml
194
- - **Sub-Agents:** excluded — linear 5-step pipeline with no parallelizable work
195
- - **Sub-Processes:** excluded — no parallel workflows needed
196
-
197
- **Memory:**
198
- - Type: single-session
199
- - Tracking: No sidecar-file needed; skill-brief.yaml is the persistent artifact
200
- - State: Minimal — data accumulated across steps, written at step 05
201
-
202
- **External Integrations:**
203
- - gh CLI — reading GitHub repository structures (pre-detected by setup-forge)
204
-
205
- **Installation Requirements:**
206
- - None — all tools are built-in or pre-detected by setup-forge
207
-
208
- ## Workflow Structure Preview
209
-
210
- **Phase 1: Initialization (Step 01 - gather-intent)**
211
- - Welcome user, explain brief-skill purpose
212
- - Ask target repo URL/path and user intent
213
- - Capture scope hints upfront
214
- - Collaborative facilitation — open-ended discovery
215
-
216
- **Phase 2: Analysis (Step 02 - analyze-target)**
217
- - Load forge-tier.yaml for tier capabilities
218
- - Read target repo structure (gh CLI or local filesystem)
219
- - Auto-detect primary language
220
- - List top-level modules, directories, exports
221
- - Report findings to user (mostly autonomous)
222
-
223
- **Phase 3: Scoping (Step 03 - scope-definition)**
224
- - Present scope templates (full library / specific modules / public API only)
225
- - Discuss inclusion/exclusion patterns
226
- - Define boundaries collaboratively
227
-
228
- **Phase 4: Confirmation (Step 04 - confirm-brief)**
229
- - Present complete brief in human-readable format
230
- - Show all fields for YAML output
231
- - P2 confirmation gate — approve or revise
232
-
233
- **Phase 5: Output (Step 05 - write-brief)**
234
- - Generate skill-brief.yaml with all fields
235
- - Write to {forge_data_folder}/{skill-name}/
236
- - Report success, suggest create-skill as next step
237
-
238
- ---
239
-
240
- ## Workflow Design
241
-
242
- ### File Structure
243
-
244
- ```
245
- brief-skill/
246
- ├── workflow.md # Entry point
247
- ├── data/
248
- │ └── skill-brief-schema.md # Required fields, validation rules, YAML template
249
- └── steps-c/
250
- ├── step-01-gather-intent.md
251
- ├── step-02-analyze-target.md
252
- ├── step-03-scope-definition.md
253
- ├── step-04-confirm-brief.md
254
- └── step-05-write-brief.md
255
- ```
256
-
257
- ### Step Sequence Table
258
-
259
- | # | Step Name | Type | Menu Pattern | Frontmatter Refs |
260
- |---|-----------|------|-------------|-----------------|
261
- | 01 | gather-intent | Init (with Input Discovery) | P2 (C only) | nextStepFile, forgeTierFile |
262
- | 02 | analyze-target | Middle (Simple) | P3 (Auto-proceed) | nextStepFile |
263
- | 03 | scope-definition | Middle (Standard) | P1 (A/P/C) | nextStepFile, advancedElicitationTask, partyModeWorkflow |
264
- | 04 | confirm-brief | Middle (Standard) | Custom (R/A/P/C) | nextStepFile, reviseStepFile, briefSchemaFile, advancedElicitationTask, partyModeWorkflow |
265
- | 05 | write-brief | Final | None | briefSchemaFile |
266
-
267
- ### Step Action Plans
268
-
269
- **Step 01 — gather-intent:**
270
- 1. Load forge-tier.yaml from Ferris sidecar (input discovery pattern)
271
- 2. If missing → warn, default to Quick tier
272
- 3. Welcome user, explain brief-skill purpose and pipeline position
273
- 4. Ask: "What do you want to skill?" — target repo URL or local path
274
- 5. Ask: "What's your intent?" — why this skill, what use case
275
- 6. Capture any upfront scope hints
276
- 7. Derive skill name from target (user can override)
277
- 8. Menu: [C] Continue
278
-
279
- **Step 02 — analyze-target:**
280
- 1. Resolve target: GitHub URL via gh api or validate local path
281
- 2. If inaccessible → halt with actionable error
282
- 3. Read repo structure (top-level files, directories)
283
- 4. Detect primary language from file extensions and config files
284
- 5. If language ambiguous → flag for user in step 03
285
- 6. List top-level modules/directories and public exports
286
- 7. Report findings summary to user
287
- 8. Auto-proceed to step 03
288
-
289
- **Step 03 — scope-definition:**
290
- 1. Present analysis findings as context
291
- 2. Offer scope templates: [F] Full library, [M] Specific modules, [P] Public API only
292
- 3. Based on selection, guide inclusion/exclusion pattern definition
293
- 4. For "Specific modules" → present directory list, let user select
294
- 5. For "Public API only" → show detected exports, confirm boundaries
295
- 6. Summarize scope decisions
296
- 7. Menu: [A] Advanced Elicitation [P] Party Mode [C] Continue
297
-
298
- **Step 04 — confirm-brief:**
299
- 1. Load skill-brief-schema.md for field reference
300
- 2. Present complete brief in human-readable format showing all YAML fields
301
- 3. Highlight any fields with low confidence or defaults
302
- 4. Menu: [R] Revise (→ reload step 03) [A] Advanced Elicitation [P] Party Mode [C] Continue
303
-
304
- **Step 05 — write-brief:**
305
- 1. Load skill-brief-schema.md for YAML template
306
- 2. Generate complete skill-brief.yaml
307
- 3. Create directory {forge_data_folder}/{skill-name}/
308
- 4. Write skill-brief.yaml
309
- 5. Display success summary
310
- 6. Recommend next: "Run create-skill to compile your skill from this brief"
311
- 7. Mark workflow complete
312
-
313
- ### Data Flow
314
-
315
- ```
316
- Step 01: user_intent, target_repo, scope_hints, skill_name, forge_tier
317
-
318
- Step 02: detected_language, repo_structure, export_list, module_list
319
-
320
- Step 03: scope_type, include_patterns, exclude_patterns
321
-
322
- Step 04: complete_brief_preview → user confirmation (or [R] revise → step 03)
323
-
324
- Step 05: all accumulated state → skill-brief.yaml file
325
- ```
326
-
327
- ### Error Handling
328
-
329
- | Error Scenario | Step | Response |
330
- |---------------|------|----------|
331
- | forge-tier.yaml missing | 01 | Warn, default to Quick tier, continue |
332
- | Target repo inaccessible | 02 | Hard halt with actionable error |
333
- | Language can't be detected | 02 | Flag for manual override in step 03 |
334
- | No exports found | 02 | Warn, suggest full-library scope |
335
- | User rejects brief | 04 | [R] loops back to step 03 |
336
- | Write failure | 05 | Hard halt with error |
337
-
338
- ### Workflow Chaining
339
-
340
- **Prerequisites:**
341
- - setup-forge → provides forge-tier.yaml (optional, defaults to Quick if missing)
342
-
343
- **Next workflows:**
344
- - create-skill → consumes skill-brief.yaml (recommended)
345
- - test-skill → after create-skill completes
346
-
347
- **Alternative entry:**
348
- - quick-skill → brief-less path, skips entire brief-skill workflow
349
-
350
- ### Subprocess Optimization
351
-
352
- No high-priority subprocess opportunities. Linear interactive workflow against a single repo — main thread execution appropriate for all steps.
353
-
354
- ### Role and Persona
355
-
356
- - Ferris in Architect mode — exploratory, collaborative, warm
357
- - Zero-hallucination for analysis results (step 02 reports only what's found)
358
- - Guiding tone for discovery (steps 01, 03)
359
- - Precise, structured presentation for confirmation (step 04)
360
- - Efficient and clean for output (step 05)
@@ -1,189 +0,0 @@
1
- ---
2
- validationDate: 2026-02-26
3
- workflowName: create-skill
4
- workflowPath: _bmad-output/bmb-creations/workflows/create-skill
5
- validationStatus: PASS
6
- ---
7
-
8
- # Validation Report: create-skill
9
-
10
- **Validation Started:** 2026-02-26
11
- **Validator:** BMAD Workflow Validation System
12
- **Standards Version:** BMAD Workflow Standards
13
-
14
- ---
15
-
16
- ## File Structure & Size: ✅ PASS
17
-
18
- ### Folder Structure
19
-
20
- ```
21
- create-skill/
22
- ├── workflow.md (52 lines)
23
- ├── workflow-plan-create-skill.md (plan file)
24
- ├── data/
25
- │ ├── extraction-patterns.md (63 lines)
26
- │ └── skill-sections.md (166 lines)
27
- └── steps-c/
28
- ├── step-01-load-brief.md (177 lines)
29
- ├── step-02-ecosystem-check.md (143 lines)
30
- ├── step-03-extract.md (184 lines)
31
- ├── step-04-enrich.md (152 lines)
32
- ├── step-05-compile.md (198 lines)
33
- ├── step-06-validate.md (162 lines)
34
- ├── step-07-generate-artifacts.md (165 lines)
35
- └── step-08-report.md (160 lines)
36
- ```
37
-
38
- All files under 200-line recommended limit. No files exceed 250-line maximum.
39
- All 8 step files present with sequential numbering, no gaps.
40
- Data files present. No templates needed (non-document workflow).
41
-
42
- ---
43
-
44
- ## Frontmatter Validation: ✅ PASS (after fix)
45
-
46
- | File | Variables | Status | Notes |
47
- |------|-----------|--------|-------|
48
- | step-01 | nextStepFile, forgeTierFile, preferencesFile | ✅ PASS | Fixed: removed unused extractionPatternsData, added preferencesFile |
49
- | step-02 | nextStepFile | ✅ PASS | |
50
- | step-03 | nextStepFile, extractionPatternsData | ✅ PASS | |
51
- | step-04 | nextStepFile | ✅ PASS | |
52
- | step-05 | nextStepFile, skillSectionsData | ✅ PASS | |
53
- | step-06 | nextStepFile | ✅ PASS | |
54
- | step-07 | nextStepFile | ✅ PASS | |
55
- | step-08 | (none — final step) | ✅ PASS | Correctly has no nextStepFile |
56
-
57
- **Fixes Applied:**
58
- - Removed unused `extractionPatternsData` from step-01 frontmatter
59
- - Added `preferencesFile` to step-01 frontmatter (was hardcoded in body)
60
- - Updated step-01 body to reference `{preferencesFile}` variable
61
-
62
- No forbidden patterns detected. All paths use correct relative format.
63
-
64
- ---
65
-
66
- ## Critical Path Violations: ✅ PASS (2 acceptable notes)
67
-
68
- ### Config Variables Identified
69
- - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
70
-
71
- ### Dead Links: ✅ PASS
72
- All frontmatter file references resolve to existing files. Step chain is complete.
73
-
74
- ### Module Awareness: ✅ PASS
75
- No BMB-specific paths in SKF module workflow. Correctly uses `{project-root}/_bmad/skf/` paths.
76
-
77
- ### Content Path Notes (Acceptable)
78
- - step-01 line 73: `{project-root}/forge-data/{skill-name}/skill-brief.yaml` — Dynamic path with runtime variable `{skill-name}`, acceptable as instructional content
79
- - step-07 line 56: `{project-root}/` prefix for output directories — Dynamic paths for runtime artifact generation, acceptable for prescriptive action workflow
80
-
81
- These use `{project-root}` (a BMAD standard variable) combined with runtime data. Not violations for prescriptive workflows.
82
-
83
- ---
84
-
85
- ## Menu Handling Validation: ✅ PASS
86
-
87
- | Step | Menu Type | Compliance |
88
- |------|-----------|------------|
89
- | step-01 | Auto-proceed (P3) | ✅ No menu, no A/P — correct for init |
90
- | step-02 | Conditional gate | ✅ Menu only if match found, auto-proceed if not |
91
- | step-03 | C-only (P2) — Gate 2 | ✅ Handler + execution rules + redisplay present |
92
- | step-04 | Auto-proceed (P3) | ✅ No menu — correct for conditional skip |
93
- | step-05 | Auto-proceed (P3) | ✅ No menu — correct for assembly |
94
- | step-06 | Auto-proceed (P3) | ✅ No menu — correct for validation |
95
- | step-07 | Auto-proceed (P3) | ✅ No menu — correct for file writing |
96
- | step-08 | Final (none) | ✅ No menu, no nextStepFile — correct for final |
97
-
98
- All menu-bearing steps (02, 03) include "halt and wait" instructions.
99
-
100
- ---
101
-
102
- ## Step Type Validation: ✅ PASS
103
-
104
- All 8 steps have correct structural elements for their assigned types:
105
- - Init with Input Discovery, 6 auto-proceed middles (1 conditional gate, 1 confirmation gate), 1 final
106
- - No mismatched step types detected
107
-
108
- ---
109
-
110
- ## Output Format Validation: ✅ PASS
111
-
112
- Non-document workflow compliance:
113
- - No `outputFile` in frontmatter (except step-07 which writes files at runtime)
114
- - No template references (non-document)
115
- - No `stepsCompleted` tracking in output
116
- - Content stays in context until step-07 materializes
117
-
118
- ---
119
-
120
- ## Instruction Style Check: ✅ PASS
121
-
122
- - Prescriptive style throughout (exact tool commands, specific operations)
123
- - No facilitator language ("shall we", "what do you think")
124
- - Zero hallucination enforcement in extraction (step-03) and compilation (step-05)
125
- - Confidence tier labeling referenced consistently (T1, T1-low, T2)
126
- - Role framing: "skill compilation engine" (not "facilitator")
127
-
128
- ---
129
-
130
- ## Collaborative Experience Check: ✅ PASS
131
-
132
- Autonomous compilation pipeline design:
133
- - No "NEVER generate content without user input" in autonomous steps (correct)
134
- - Only 2 user interaction points: Gate 1 (step-02 conditional), Gate 2 (step-03 confirmation)
135
- - All other steps auto-proceed after task completion
136
-
137
- ---
138
-
139
- ## Subprocess Optimization Opportunities: N/A
140
-
141
- Linear pipeline with tool-delegated heavy lifting. No high-priority subprocess opportunities identified per design. Low-priority batch parallelization noted in plan.
142
-
143
- ---
144
-
145
- ## Cohesive Review: ✅ PASS
146
-
147
- - Data flows logically: brief → ecosystem → extraction → enrichment → compilation → validation → generation → report
148
- - No contradictions between steps
149
- - Tier-dependent behavior consistent across all 8 steps (Quick/Forge/Forge+/Deep)
150
- - Error handling consistent: graceful degradation everywhere except file write failures (which correctly halt)
151
- - Provenance citation format consistent (`[AST:{file}:L{line}]`, `[SRC:{file}:L{line}]`, `[QMD:{collection}:{doc}]`)
152
- - Overall narrative is a clear compilation pipeline
153
-
154
- ---
155
-
156
- ## Plan Quality Validation: ✅ PASS
157
-
158
- - Plan file tracks all build steps completed
159
- - Conversion coverage verified: 8/8 original steps, all inputs/outputs, all instructions
160
- - 7 improvements beyond original spec documented
161
- - Status: CONFIRMED with full coverage
162
-
163
- ---
164
-
165
- ## Summary
166
-
167
- **Overall Validation Status: ✅ PASS**
168
-
169
- | Check | Result |
170
- |-------|--------|
171
- | File Structure & Size | ✅ PASS |
172
- | Frontmatter Validation | ✅ PASS (after fix) |
173
- | Critical Path Violations | ✅ PASS |
174
- | Menu Handling | ✅ PASS |
175
- | Step Type Validation | ✅ PASS |
176
- | Output Format | ✅ PASS |
177
- | Instruction Style | ✅ PASS |
178
- | Collaborative Experience | ✅ PASS |
179
- | Cohesive Review | ✅ PASS |
180
- | Plan Quality | ✅ PASS |
181
-
182
- **Fixes Applied During Validation:**
183
- 1. Removed unused `extractionPatternsData` from step-01 frontmatter
184
- 2. Added `preferencesFile` variable to step-01 frontmatter
185
- 3. Updated step-01 body to use `{preferencesFile}` instead of hardcoded path
186
-
187
- **Notes (Non-Blocking):**
188
- - 2 dynamic `{project-root}` paths in body content acceptable for prescriptive action workflow
189
- - step-05 at 198 lines (near 200-line recommended limit) — acceptable, no action needed