bmad-module-skill-forge 0.2.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 (154) hide show
  1. package/.nvmrc +1 -0
  2. package/LICENSE +26 -0
  3. package/README.md +213 -0
  4. package/docs/404.md +20 -0
  5. package/docs/agents.md +73 -0
  6. package/docs/architecture.md +301 -0
  7. package/docs/examples.md +144 -0
  8. package/docs/getting-started.md +198 -0
  9. package/docs/index.md +75 -0
  10. package/docs/workflows.md +190 -0
  11. package/package.json +109 -0
  12. package/src/agents/forger.agent.yaml +93 -0
  13. package/src/forger/README.md +17 -0
  14. package/src/forger/forge-tier.yaml +13 -0
  15. package/src/forger/preferences.yaml +10 -0
  16. package/src/knowledge/agentskills-spec.md +158 -0
  17. package/src/knowledge/confidence-tiers.md +153 -0
  18. package/src/knowledge/manual-section-integrity.md +156 -0
  19. package/src/knowledge/overview.md +56 -0
  20. package/src/knowledge/progressive-capability.md +120 -0
  21. package/src/knowledge/provenance-tracking.md +163 -0
  22. package/src/knowledge/skf-knowledge-index.csv +9 -0
  23. package/src/knowledge/skill-lifecycle.md +150 -0
  24. package/src/knowledge/zero-hallucination.md +101 -0
  25. package/src/module-help.csv +12 -0
  26. package/src/module.yaml +22 -0
  27. package/src/workflows/README.md +148 -0
  28. package/src/workflows/analyze-source/data/skill-brief-schema.md +75 -0
  29. package/src/workflows/analyze-source/data/unit-detection-heuristics.md +88 -0
  30. package/src/workflows/analyze-source/steps-c/step-01-init.md +191 -0
  31. package/src/workflows/analyze-source/steps-c/step-01b-continue.md +144 -0
  32. package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +208 -0
  33. package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +199 -0
  34. package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +222 -0
  35. package/src/workflows/analyze-source/steps-c/step-05-recommend.md +236 -0
  36. package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +239 -0
  37. package/src/workflows/analyze-source/templates/analysis-report-template.md +41 -0
  38. package/src/workflows/analyze-source/validation-report.md +657 -0
  39. package/src/workflows/analyze-source/workflow-plan-analyze-source.md +385 -0
  40. package/src/workflows/analyze-source/workflow.md +61 -0
  41. package/src/workflows/audit-skill/data/drift-report-template.md +62 -0
  42. package/src/workflows/audit-skill/data/severity-rules.md +52 -0
  43. package/src/workflows/audit-skill/steps-c/step-01-init.md +195 -0
  44. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +191 -0
  45. package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +194 -0
  46. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +199 -0
  47. package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +210 -0
  48. package/src/workflows/audit-skill/steps-c/step-06-report.md +217 -0
  49. package/src/workflows/audit-skill/validation-report.md +545 -0
  50. package/src/workflows/audit-skill/workflow-plan-audit-skill.md +318 -0
  51. package/src/workflows/audit-skill/workflow.md +63 -0
  52. package/src/workflows/brief-skill/data/skill-brief-schema.md +82 -0
  53. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +184 -0
  54. package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +203 -0
  55. package/src/workflows/brief-skill/steps-c/step-03-scope-definition.md +225 -0
  56. package/src/workflows/brief-skill/steps-c/step-04-confirm-brief.md +185 -0
  57. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +156 -0
  58. package/src/workflows/brief-skill/validation-report.md +630 -0
  59. package/src/workflows/brief-skill/workflow-plan-brief-skill.md +360 -0
  60. package/src/workflows/brief-skill/workflow.md +57 -0
  61. package/src/workflows/create-skill/data/extraction-patterns.md +63 -0
  62. package/src/workflows/create-skill/data/skill-sections.md +166 -0
  63. package/src/workflows/create-skill/steps-c/step-01-load-brief.md +176 -0
  64. package/src/workflows/create-skill/steps-c/step-02-ecosystem-check.md +143 -0
  65. package/src/workflows/create-skill/steps-c/step-03-extract.md +184 -0
  66. package/src/workflows/create-skill/steps-c/step-04-enrich.md +152 -0
  67. package/src/workflows/create-skill/steps-c/step-05-compile.md +198 -0
  68. package/src/workflows/create-skill/steps-c/step-06-validate.md +162 -0
  69. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +165 -0
  70. package/src/workflows/create-skill/steps-c/step-08-report.md +160 -0
  71. package/src/workflows/create-skill/validation-report.md +189 -0
  72. package/src/workflows/create-skill/workflow-plan-create-skill.md +491 -0
  73. package/src/workflows/create-skill/workflow.md +52 -0
  74. package/src/workflows/create-stack-skill/data/integration-patterns.md +61 -0
  75. package/src/workflows/create-stack-skill/data/manifest-patterns.md +35 -0
  76. package/src/workflows/create-stack-skill/data/stack-skill-template.md +110 -0
  77. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +142 -0
  78. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +145 -0
  79. package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +161 -0
  80. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +155 -0
  81. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +154 -0
  82. package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +160 -0
  83. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +202 -0
  84. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +193 -0
  85. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +137 -0
  86. package/src/workflows/create-stack-skill/validation-report.md +401 -0
  87. package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +481 -0
  88. package/src/workflows/create-stack-skill/workflow.md +59 -0
  89. package/src/workflows/export-skill/data/managed-section-format.md +70 -0
  90. package/src/workflows/export-skill/data/snippet-format.md +32 -0
  91. package/src/workflows/export-skill/steps-c/step-01-load-skill.md +184 -0
  92. package/src/workflows/export-skill/steps-c/step-02-package.md +153 -0
  93. package/src/workflows/export-skill/steps-c/step-03-generate-snippet.md +166 -0
  94. package/src/workflows/export-skill/steps-c/step-04-update-context.md +222 -0
  95. package/src/workflows/export-skill/steps-c/step-05-token-report.md +126 -0
  96. package/src/workflows/export-skill/steps-c/step-06-summary.md +167 -0
  97. package/src/workflows/export-skill/validation-report.md +263 -0
  98. package/src/workflows/export-skill/workflow-plan-export-skill.md +369 -0
  99. package/src/workflows/export-skill/workflow.md +56 -0
  100. package/src/workflows/quick-skill/data/registry-resolution.md +91 -0
  101. package/src/workflows/quick-skill/data/skill-template.md +66 -0
  102. package/src/workflows/quick-skill/steps-c/step-01-resolve-target.md +165 -0
  103. package/src/workflows/quick-skill/steps-c/step-02-ecosystem-check.md +143 -0
  104. package/src/workflows/quick-skill/steps-c/step-03-quick-extract.md +177 -0
  105. package/src/workflows/quick-skill/steps-c/step-04-compile.md +180 -0
  106. package/src/workflows/quick-skill/steps-c/step-05-validate.md +150 -0
  107. package/src/workflows/quick-skill/steps-c/step-06-write.md +160 -0
  108. package/src/workflows/quick-skill/validation-report.md +543 -0
  109. package/src/workflows/quick-skill/workflow-plan-quick-skill.md +405 -0
  110. package/src/workflows/quick-skill/workflow.md +56 -0
  111. package/src/workflows/setup-forge/data/tier-rules.md +50 -0
  112. package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +140 -0
  113. package/src/workflows/setup-forge/steps-c/step-02-write-config.md +141 -0
  114. package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +116 -0
  115. package/src/workflows/setup-forge/steps-c/step-04-report.md +131 -0
  116. package/src/workflows/setup-forge/validation-report.md +504 -0
  117. package/src/workflows/setup-forge/workflow-plan-setup-forge.md +428 -0
  118. package/src/workflows/setup-forge/workflow.md +49 -0
  119. package/src/workflows/test-skill/data/output-section-formats.md +96 -0
  120. package/src/workflows/test-skill/data/scoring-rules.md +74 -0
  121. package/src/workflows/test-skill/steps-c/step-01-init.md +185 -0
  122. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +162 -0
  123. package/src/workflows/test-skill/steps-c/step-03-coverage-check.md +222 -0
  124. package/src/workflows/test-skill/steps-c/step-04-coherence-check.md +249 -0
  125. package/src/workflows/test-skill/steps-c/step-05-score.md +222 -0
  126. package/src/workflows/test-skill/steps-c/step-06-report.md +175 -0
  127. package/src/workflows/test-skill/templates/test-report-template.md +24 -0
  128. package/src/workflows/test-skill/validation-report.md +390 -0
  129. package/src/workflows/test-skill/workflow-plan-test-skill.md +288 -0
  130. package/src/workflows/test-skill/workflow.md +57 -0
  131. package/src/workflows/update-skill/data/manual-section-rules.md +44 -0
  132. package/src/workflows/update-skill/data/merge-conflict-rules.md +62 -0
  133. package/src/workflows/update-skill/steps-c/step-01-init.md +208 -0
  134. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +184 -0
  135. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +187 -0
  136. package/src/workflows/update-skill/steps-c/step-04-merge.md +230 -0
  137. package/src/workflows/update-skill/steps-c/step-05-validate.md +187 -0
  138. package/src/workflows/update-skill/steps-c/step-06-write.md +204 -0
  139. package/src/workflows/update-skill/steps-c/step-07-report.md +201 -0
  140. package/src/workflows/update-skill/validation-report.md +559 -0
  141. package/src/workflows/update-skill/workflow-plan-update-skill.md +441 -0
  142. package/src/workflows/update-skill/workflow.md +56 -0
  143. package/tools/cli/commands/install.js +33 -0
  144. package/tools/cli/commands/status.js +195 -0
  145. package/tools/cli/commands/uninstall.js +226 -0
  146. package/tools/cli/commands/update.js +63 -0
  147. package/tools/cli/lib/compiler.js +306 -0
  148. package/tools/cli/lib/ide-commands.js +244 -0
  149. package/tools/cli/lib/installer.js +307 -0
  150. package/tools/cli/lib/manifest.js +109 -0
  151. package/tools/cli/lib/ui.js +277 -0
  152. package/tools/cli/lib/version-check.js +86 -0
  153. package/tools/cli/skf-cli.js +45 -0
  154. package/tools/skf-npx-wrapper.js +36 -0
@@ -0,0 +1,189 @@
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/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
@@ -0,0 +1,491 @@
1
+ ---
2
+ conversionFrom: 'src/workflows/create-skill/create-skill.spec.md'
3
+ originalFormat: 'Workflow 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-all-steps', 'step-10-confirmation', 'step-11-completion']
5
+ created: 2026-02-26
6
+ completionDate: 2026-02-26
7
+ status: COMPLETE
8
+ approvedDate: 2026-02-26
9
+ confirmationDate: 2026-02-26
10
+ confirmationType: conversion
11
+ coverageStatus: complete
12
+ ---
13
+
14
+ # Workflow Creation Plan
15
+
16
+ ## Conversion Source
17
+
18
+ **Original Path:** src/workflows/create-skill/create-skill.spec.md
19
+ **Original Format:** Workflow Specification / Placeholder (pre-implementation spec from module build step-05)
20
+ **Detected Structure:** Single spec file with 8 planned steps, input/output contracts, agent integration notes. No workflow.md, no step files, no templates, no data files.
21
+
22
+ ---
23
+
24
+ ## Original Workflow Analysis
25
+
26
+ ### Goal (from source)
27
+
28
+ Compile a skill from a brief — the core compilation engine. Takes a skill-brief.yaml and source code, extracts function signatures and type definitions via AST analysis, enriches with QMD knowledge (Deep tier), validates against agentskills.io spec, and produces a complete SKILL.md with provenance map and evidence report. Supports `--batch` for multiple briefs.
29
+
30
+ ### Original Steps (Complete List)
31
+
32
+ **Step 1:** load-brief — Load and validate skill-brief.yaml, resolve source code location
33
+ **Step 2:** ecosystem-check — Search if official skill already exists (advisory, not blocking)
34
+ **Step 3:** extract — AST extraction of exports, signatures, types (tier-dependent: Quick=source reading, Forge=AST, Deep=AST)
35
+ **Step 4:** enrich — QMD knowledge search for temporal context (Deep tier only, skip for Quick/Forge)
36
+ **Step 5:** compile — Assemble SKILL.md sections from extracted data with confidence tiers
37
+ **Step 6:** validate — Validate against agentskills.io spec via skills_ref tool
38
+ **Step 7:** generate-artifacts — Write SKILL.md, provenance-map.json, evidence-report.md, metadata.json, context-snippet.md, extraction-rules.yaml
39
+ **Step 8:** report — Display compilation summary with confidence tiers, suggest next steps
40
+
41
+ ### Output / Deliverable
42
+
43
+ 7 output files across two directory trees:
44
+
45
+ **skills/{name}/ (deliverables):**
46
+ - SKILL.md — Active skill (trigger-based)
47
+ - context-snippet.md — Passive context source template
48
+ - metadata.json — Machine-readable birth certificate
49
+ - references/ — Progressive disclosure files per function
50
+
51
+ **forge-data/{name}/ (workspace artifacts):**
52
+ - provenance-map.json — Source map, AST bindings
53
+ - evidence-report.md — Build artifact, audit trail
54
+ - extraction-rules.yaml — Language + ast-grep schema
55
+
56
+ ### Input Requirements
57
+
58
+ **Required:**
59
+ - `{forge_data_folder}/{skill-name}/skill-brief.yaml` — Compilation config from brief-skill workflow
60
+ - Source code (local path or GitHub repo URL)
61
+
62
+ **Optional:**
63
+ - `--batch` flag with list of briefs or directory path
64
+ - `--continue` flag for resuming interrupted batch operations
65
+
66
+ ### Key Instructions to LLM
67
+
68
+ - Ferris operates in **Architect mode** — exploratory, structural, assembling
69
+ - Structured reports with inline AST citations during work, no metaphor
70
+ - Zero hallucination tolerance — every instruction traces to code
71
+ - Confidence tier labeling: T1 (AST extraction), T2 (QMD evidence), T3 (external docs)
72
+ - Positive capability framing — describe what the tier enables, not what's missing
73
+ - Tool invisibility — tools are backstage, results are center stage
74
+
75
+ ---
76
+
77
+ ## Conversion Notes
78
+
79
+ **What works well in original:**
80
+ - Clean 8-step decomposition with single-responsibility boundaries
81
+ - Tier-dependent behavior design at steps 03/04
82
+ - Dual-output architecture (skills/ for deliverables, forge-data/ for workspace)
83
+ - agentskills.io spec compliance as first-class concern
84
+ - Confidence tier system (T1/T2/T3) well-defined in module brief
85
+ - Progressive disclosure via references/ directory
86
+
87
+ **What needs improvement:**
88
+ - Spec incorrectly marks as "document-producing" — this is a multi-file action workflow
89
+ - Quick tier fallback for step-03 needs explicit design (source reading via gh_bridge)
90
+ - No detail on how --batch works (loop wrapper? sub-process per brief?)
91
+ - Ecosystem check nuances missing (5-second timeout, 24-hour cache, advisory not blocking)
92
+ - No error handling patterns defined
93
+ - No sidecar checkpointing design for --continue recovery
94
+
95
+ **Compliance gaps identified:**
96
+ - No workflow.md entry point
97
+ - No step files in steps-c/ directory
98
+ - No BMAD frontmatter with stepsCompleted tracking
99
+ - No menu/auto-proceed patterns defined
100
+ - No data files or templates
101
+ - No tier-dependent conditional logic architecture
102
+ - Missing [MANUAL] section marker seeding for future update-skill compatibility
103
+
104
+ **Deduced interaction model:**
105
+ - Mostly autonomous with 2 strategic confirmation gates
106
+ - Gate 1: After ecosystem check — if official skill found, user decides (proceed/abort/install existing)
107
+ - Gate 2: After extraction — show findings (export count, confidence breakdown) before compilation
108
+ - All other steps auto-proceed
109
+ - Matches module brief use case stories (47s Quick, 8min batch)
110
+
111
+ ---
112
+
113
+ ## Classification Decisions
114
+
115
+ **Workflow Name:** create-skill
116
+ **Target Path:** _bmad-output/bmb-creations/workflows/create-skill/ (build location)
117
+ **Installed Path:** {project-root}/_bmad/skf/workflows/skillforge/create-skill/ (per Ferris agent menu)
118
+
119
+ **4 Key Decisions:**
120
+ 1. **Document Output:** false — action-based workflow producing multiple files as side effects, not a progressively-built document. Steps accumulate data in context, step-07 writes all files at once.
121
+ 2. **Module Affiliation:** SKF — part of the Skill Forge module, invoked through Ferris agent [CS] trigger, has access to SKF config variables (forge tier, tool availability, sidecar paths).
122
+ 3. **Session Type:** single-session — primary use case is fast (47s Quick, minutes for Forge/Deep). Batch mode (`--batch`) is a loop wrapper repeating single-session runs, not a reason for continuable architecture. `--continue` resumes the batch loop via sidecar checkpointing.
123
+ 4. **Lifecycle Support:** create-only — SKF splits lifecycle across specialized workflows: update-skill (edits/Surgeon mode), test-skill (validation/Audit mode), audit-skill (drift detection). No tri-modal needed.
124
+
125
+ **Structure Implications:**
126
+ - Only `steps-c/` directory needed
127
+ - No `step-01b-continue.md` (single-session)
128
+ - No `stepsCompleted` tracking in output (non-document)
129
+ - No templates directory (non-document)
130
+ - Data directory needed for shared reference files (extraction patterns, spec schema references)
131
+ - Standard `step-01-init.md` with no continuation logic
132
+
133
+ ---
134
+
135
+ ## Requirements
136
+
137
+ **Flow Structure:**
138
+ - Pattern: Linear with conditional branches within steps (tier-dependent)
139
+ - Phases: Load → Check → Extract → Enrich → Compile → Validate → Generate → Report
140
+ - Estimated steps: 8
141
+ - Conditional logic: Steps 03/04 branch internally by forge tier (Quick/Forge/Deep)
142
+ - No branching steps — conditions stay within each step
143
+
144
+ **User Interaction:**
145
+ - Style: Mostly autonomous with 2 strategic confirmation gates
146
+ - Gate 1 (step-02): If ecosystem check finds official skill — user decides: proceed / abort / install existing. No match = auto-proceed silently.
147
+ - Gate 2 (step-03): After extraction — display export count, confidence breakdown, tier used. User confirms before compilation.
148
+ - All other steps: Auto-proceed with no user interaction
149
+ - Checkpoint frequency: Only at the 2 gates above
150
+
151
+ **Inputs Required:**
152
+ - Required: `forge-data/{skill-name}/skill-brief.yaml` (from brief-skill workflow)
153
+ - Required: Source code location (local path or GitHub owner/repo)
154
+ - Prerequisite: `setup-forge` must have run — `forge-tier.yaml` must exist in sidecar
155
+ - Optional: `--batch` flag (list of briefs or directory for batch compilation)
156
+ - Optional: `--continue` flag (resume interrupted batch from sidecar checkpoint)
157
+
158
+ **Output Specifications:**
159
+ - Type: Multi-file action — 7 files written to 2 directory trees
160
+ - skills/{name}/: SKILL.md, context-snippet.md, metadata.json, references/
161
+ - forge-data/{name}/: provenance-map.json, evidence-report.md, extraction-rules.yaml
162
+ - Frequency: Single skill per run; batch mode loops the workflow per brief
163
+ - [MANUAL] markers: Seed empty `<!-- [MANUAL] -->` sections in SKILL.md for future update-skill compatibility
164
+
165
+ **Success Criteria:**
166
+ - All 7 output files generated without errors
167
+ - SKILL.md validates against agentskills.io spec (via skills_ref)
168
+ - Every instruction has provenance citation with confidence tier (T1/T2/T3)
169
+ - Zero hallucinated content — uncitable claims excluded, not guessed
170
+ - Confidence tier distribution reported (e.g., "20 T1, 3 T2, 0 T3")
171
+ - Forge completion message: "Skill forged: {name} v{version} — {count} functions, T1 confidence."
172
+
173
+ **Instruction Style:**
174
+ - Overall: Prescriptive — compilation pipeline with exact operations
175
+ - Tool commands specific (ast-grep scan, QMD search, gh read)
176
+ - File operations exact with defined paths and formats
177
+ - Matches setup-forge prescriptive pattern: deterministic operations, specific commands, conditional logic
178
+ - Notes: Ferris Architect mode communication style during execution (structured reports, AST citations, no metaphor except at transitions)
179
+
180
+ ---
181
+
182
+ ## Tools Configuration
183
+
184
+ **Core BMAD Tools:**
185
+ - **Party Mode:** Excluded — prescriptive compilation pipeline, no creative exploration phases
186
+ - **Advanced Elicitation:** Excluded — no facilitative deep-dive phases in a compilation workflow
187
+ - **Brainstorming:** Excluded — no ideation phases, all steps are deterministic operations
188
+
189
+ **LLM Features:**
190
+ - **Web-Browsing:** Excluded — source access via gh_bridge, ecosystem check via skills_ref. No raw web needed.
191
+ - **File I/O:** Included — essential. Reads skill-brief.yaml, forge-tier.yaml, source files. Writes 7 output files across 2 directory trees (skills/{name}/, forge-data/{name}/).
192
+ - **Sub-Agents:** Excluded — linear pipeline with step dependencies, no parallelizable specialized tasks for single skill compilation
193
+ - **Sub-Processes:** Excluded — sequential dependency chain. Batch mode is a loop wrapper, not parallel processes.
194
+
195
+ **Memory:**
196
+ - Type: Single-session
197
+ - Reads forge-tier.yaml from sidecar at init (existing state from setup-forge)
198
+ - Batch --continue: checkpoint progress in sidecar (batch-progress.yaml)
199
+ - No stepsCompleted tracking (non-document workflow)
200
+
201
+ **External Integrations (SKF MCP Tools — all pre-detected by setup-forge):**
202
+ - **gh_bridge:** Required all tiers — source reading, file trees, issues, releases, changelog
203
+ - **skills_ref:** Required all tiers — agentskills.io spec validation, ecosystem check (5s timeout, 24h cache)
204
+ - **ast_bridge:** Required Forge/Deep tiers — AST scan_definitions, run_rule, detect_co_imports
205
+ - **qmd_bridge:** Required Deep tier only — search, vector_search, deep_search for temporal context
206
+
207
+ **Installation Requirements:**
208
+ - All tools pre-detected by setup-forge workflow
209
+ - No new installations needed — workflow reads forge-tier.yaml to know what's available
210
+ - Graceful degradation: if tier is Quick, AST and QMD steps skip automatically
211
+
212
+ ---
213
+
214
+ ## Workflow Design
215
+
216
+ ### File Structure
217
+
218
+ ```
219
+ create-skill/
220
+ ├── workflow.md (entry point, ~50 lines)
221
+ ├── workflow-plan-create-skill.md (this plan file)
222
+ ├── data/
223
+ │ ├── skill-sections.md (SKILL.md section structure + agentskills.io format)
224
+ │ └── extraction-patterns.md (tier-specific extraction instructions)
225
+ └── steps-c/
226
+ ├── step-01-load-brief.md (~150 lines, Init with Input Discovery)
227
+ ├── step-02-ecosystem-check.md (~120 lines, conditional gate)
228
+ ├── step-03-extract.md (~200 lines, complex middle)
229
+ ├── step-04-enrich.md (~130 lines, conditional middle)
230
+ ├── step-05-compile.md (~200 lines, complex middle)
231
+ ├── step-06-validate.md (~120 lines, simple middle)
232
+ ├── step-07-generate-artifacts.md (~180 lines, simple middle)
233
+ └── step-08-report.md (~120 lines, final)
234
+ ```
235
+
236
+ ### Step Sequence Table
237
+
238
+ | Step | Name | Type | Menu Pattern | Goal |
239
+ |------|------|------|-------------|------|
240
+ | 01 | load-brief | Init (Input Discovery) | Auto-proceed (P3) | Load brief, resolve source, load forge tier |
241
+ | 02 | ecosystem-check | Middle (Simple) | Conditional: auto if no match, user choice if match | Check ecosystem |
242
+ | 03 | extract | Middle (Standard) | C only (P2) — Gate 2 | Tier-dependent extraction |
243
+ | 04 | enrich | Middle (Simple) | Auto-proceed (P3) — Deep only | QMD enrichment |
244
+ | 05 | compile | Middle (Simple) | Auto-proceed (P3) | Assemble SKILL.md |
245
+ | 06 | validate | Middle (Simple) | Auto-proceed (P3) | Validate spec |
246
+ | 07 | generate-artifacts | Middle (Simple) | Auto-proceed (P3) | Write output files |
247
+ | 08 | report | Final | None | Summary + next step |
248
+
249
+ ### Step Action Plans
250
+
251
+ **step-01-load-brief** (Init with Input Discovery)
252
+ - Search forge-data/ for skill-brief.yaml matching user's request
253
+ - If --batch: discover all briefs in specified directory
254
+ - Load and validate brief structure (required fields: name, version, source_repo, language, scope)
255
+ - Resolve source code location (local path or GitHub owner/repo)
256
+ - Load forge-tier.yaml from sidecar — determine tier (Quick/Forge/Deep)
257
+ - If forge-tier.yaml missing: halt with "Run [SF] Setup Forge first"
258
+ - Auto-proceed to step-02
259
+
260
+ **step-02-ecosystem-check** (Conditional Gate)
261
+ - Call skills_ref.check_ecosystem(brief.name) — 5-second timeout, 24-hour cache
262
+ - If match found: present to user with [P] Proceed / [I] Install existing / [A] Abort
263
+ - If no match OR timeout: auto-proceed silently
264
+ - If skills_ref unavailable: skip silently (tool unavailability is not an error)
265
+
266
+ **step-03-extract** (Standard Middle — Gate 2)
267
+ - Load extraction-patterns.md data file
268
+ - Quick tier: source reading via gh_bridge (list_tree + read_file), infer exports. T1-low confidence.
269
+ - Forge/Deep tier: ast_bridge.scan_definitions() + detect_co_imports(). T1 confidence.
270
+ - Build extraction inventory: export count, signatures, types, confidence breakdown
271
+ - Present summary, user confirms [C] Continue
272
+
273
+ **step-04-enrich** (Simple Middle — Conditional)
274
+ - Deep tier: QMD searches per extracted function — issues, PRs, changelogs. T2 annotations.
275
+ - Not Deep: skip silently, auto-proceed
276
+ - QMD failure: degrade gracefully, continue without enrichment
277
+
278
+ **step-05-compile** (Simple Middle)
279
+ - Load skill-sections.md data file
280
+ - Assemble SKILL.md: frontmatter, overview, quick start, API sections, [MANUAL] markers
281
+ - Generate references/ content per function/type
282
+ - Generate context-snippet.md (compressed 2-line format)
283
+ - Auto-proceed
284
+
285
+ **step-06-validate** (Simple Middle)
286
+ - skills_ref.validate_schema() + validate_frontmatter()
287
+ - Pass: auto-proceed. Fail: attempt auto-fix, re-validate, halt if still failing.
288
+ - skills_ref unavailable: skip, add warning to evidence report
289
+
290
+ **step-07-generate-artifacts** (Simple Middle)
291
+ - Create directories: skills/{name}/, skills/{name}/references/, forge-data/{name}/
292
+ - Write 4 deliverables to skills/{name}/
293
+ - Write 3 workspace artifacts to forge-data/{name}/
294
+ - Auto-proceed
295
+
296
+ **step-08-report** (Final)
297
+ - Display: skill name, version, source, export count, confidence distribution, tier, file list, warnings
298
+ - Forge completion: "Skill forged: {name} v{version} — {count} functions, T1 confidence."
299
+ - Suggest next: "[TS] Test Skill — verify completeness before export"
300
+ - No nextStepFile (final)
301
+
302
+ ### Data Flow
303
+
304
+ ```
305
+ step-01 READS: forge-tier.yaml, skill-brief.yaml
306
+ SETS: tier, brief_data, source_location
307
+
308
+ step-02 READS: skills_ref ecosystem
309
+ SETS: ecosystem_status
310
+
311
+ step-03 READS: source code via gh_bridge/ast_bridge
312
+ SETS: extraction_inventory
313
+
314
+ step-04 READS: QMD collections (Deep only)
315
+ SETS: enrichment_annotations
316
+
317
+ step-05 READS: extraction_inventory + enrichment_annotations
318
+ BUILDS: skill_content
319
+
320
+ step-06 READS: skill_content
321
+ VALIDATES: agentskills.io spec
322
+
323
+ step-07 READS: skill_content + validation_result
324
+ WRITES: 7 output files
325
+
326
+ step-08 DISPLAYS: compilation summary
327
+ ```
328
+
329
+ ### Error Handling
330
+
331
+ | Error Type | Response | Pattern |
332
+ |-----------|----------|---------|
333
+ | Missing forge-tier.yaml | Halt: "Run [SF] Setup Forge first" | Hard prerequisite |
334
+ | Missing skill-brief.yaml | Halt: "Run [BS] Brief Skill first, or [QS] Quick Skill" | Hard prerequisite |
335
+ | Tool unavailable | Degrade to lower tier silently | Graceful degradation |
336
+ | Ecosystem check timeout | Skip silently, proceed | Advisory, not blocking |
337
+ | AST extraction file failure | Log warning, skip file, continue | Partial success |
338
+ | Spec validation failure | Report, auto-fix, re-validate | Retry once |
339
+ | File write failure | Halt with specific error | Real error |
340
+
341
+ ### Workflow Chaining
342
+
343
+ - Previous: brief-skill (produces skill-brief.yaml) — required
344
+ - Prerequisite: setup-forge (produces forge-tier.yaml) — required
345
+ - Alternative entry: quick-skill bypasses brief, invokes create-skill internally
346
+ - Next recommended: test-skill → export-skill
347
+
348
+ ### Subprocess Optimization
349
+
350
+ No high-priority opportunities. Linear pipeline with tool-delegated heavy lifting.
351
+ Low-priority: Pattern 4 could parallelize batch --batch per-brief, not primary use case.
352
+
353
+ ---
354
+
355
+ ## Step 01 Build Complete
356
+
357
+ **Created:**
358
+ - steps-c/step-01-load-brief.md (~175 lines)
359
+
360
+ **Step Configuration:**
361
+ - Type: Init with Input Discovery (non-continuable)
362
+ - Menu: Auto-proceed (P3) — no user interaction
363
+ - Next Step: step-02-ecosystem-check.md
364
+
365
+ **Key Design Decisions:**
366
+ - Frontmatter references forgeTierFile and extractionPatternsData
367
+ - 6-section mandatory sequence: Load Forge Tier → Discover Skill Brief → Validate Brief Structure → Resolve Source Code Location → Report Initialization → Auto-proceed
368
+ - Handles --batch flag for batch brief discovery
369
+ - Positive capability framing for tier descriptions
370
+ - Required brief fields: name, version, source_repo, language, scope
371
+ - Halt with actionable errors if prerequisites missing
372
+
373
+ ## Step 02 Build Complete
374
+
375
+ **Created:**
376
+ - steps-c/step-02-ecosystem-check.md (~110 lines)
377
+
378
+ **Step Configuration:**
379
+ - Type: Middle (Simple) — Conditional Gate
380
+ - Menu: Conditional — auto-proceed if no match, custom [P]/[I]/[A] if match found
381
+ - Next Step: step-03-extract.md
382
+
383
+ **Key Design Decisions:**
384
+ - Advisory, never blocking — tool failures and timeouts are silent skips
385
+ - 5-second timeout on ecosystem queries, 24-hour cache
386
+ - Custom menu only appears when a match is found (not standard A/P/C)
387
+ - Three user options on match: Proceed / Install existing / Abort
388
+
389
+ ## Step 03 Build Complete
390
+
391
+ **Created:**
392
+ - steps-c/step-03-extract.md (~170 lines)
393
+
394
+ **Step Configuration:**
395
+ - Type: Middle (Standard) — Gate 2 confirmation
396
+ - Menu: C only after extraction summary presentation
397
+ - Next Step: step-04-enrich.md
398
+
399
+ **Key Design Decisions:**
400
+ - Tier-dependent extraction: Quick (source reading, T1-low) vs Forge/Deep (AST, T1)
401
+ - Graceful degradation if AST tools unavailable at Forge tier
402
+ - Per-file failure handling: skip and continue
403
+ - Extraction inventory with aggregate counts and confidence breakdown
404
+ - Gate 2: user must confirm extraction findings before compilation
405
+ - Zero hallucination — every export must have provenance citation
406
+
407
+ ## Step 04 Build Complete
408
+
409
+ **Created:**
410
+ - steps-c/step-04-enrich.md (~115 lines)
411
+
412
+ **Step Configuration:**
413
+ - Type: Middle (Simple) — Conditional auto-proceed
414
+ - Menu: Auto-proceed (P3) — no user interaction
415
+ - Next Step: step-05-compile.md
416
+
417
+ **Key Design Decisions:**
418
+ - Deep tier only — Quick/Forge skip silently with no output
419
+ - QMD searches per function: issues/PRs, changelog, migration/deprecation
420
+ - T2 annotations with temporal classification (T2-past, T2-future)
421
+ - Additive only — never modifies T1 extraction data
422
+ - QMD failures degrade gracefully
423
+
424
+ ## Step 05 Build Complete
425
+
426
+ **Created:**
427
+ - steps-c/step-05-compile.md (~175 lines)
428
+
429
+ **Step Configuration:**
430
+ - Type: Middle (Simple) — auto-proceed
431
+ - Menu: Auto-proceed (P3)
432
+ - Next Step: step-06-validate.md
433
+
434
+ **Key Design Decisions:**
435
+ - Loads skill-sections.md data file for agentskills.io format
436
+ - Assembles all 7 content artifacts in context (no file writes)
437
+ - [MANUAL] markers seeded for update-skill compatibility
438
+ - Zero hallucination enforcement — no fabricated examples
439
+ - References grouped by module/file/functional area
440
+
441
+ ## Step 06 Build Complete
442
+
443
+ **Created:**
444
+ - steps-c/step-06-validate.md (~120 lines)
445
+
446
+ **Step Configuration:**
447
+ - Type: Middle (Simple) — auto-proceed
448
+ - Menu: Auto-proceed (P3)
449
+ - Next Step: step-07-generate-artifacts.md
450
+
451
+ **Key Design Decisions:**
452
+ - skills_ref validation: schema + frontmatter + metadata cross-check
453
+ - Auto-fix pattern: validate → fix → re-validate (once per failure)
454
+ - Tool unavailability: skip with warning, not halt
455
+ - Validation failures are warnings — proceed to generation
456
+ - Results recorded in evidence-report content
457
+
458
+ ## Step 07 Build Complete
459
+
460
+ **Created:**
461
+ - steps-c/step-07-generate-artifacts.md (~130 lines)
462
+
463
+ **Step Configuration:**
464
+ - Type: Middle (Simple) — auto-proceed
465
+ - Menu: Auto-proceed (P3)
466
+ - Next Step: step-08-report.md
467
+
468
+ **Key Design Decisions:**
469
+ - Creates directory structure: skills/{name}/, forge-data/{name}/
470
+ - Writes all 7 files from compiled content in context
471
+ - Write-only step — no content modification
472
+ - File write failures are real errors (halt, not degrade)
473
+ - Verification step confirms all files exist
474
+
475
+ ## Step 08 Build Complete
476
+
477
+ **Created:**
478
+ - steps-c/step-08-report.md (~140 lines)
479
+
480
+ **Step Configuration:**
481
+ - Type: Final — no next step
482
+ - Menu: None (final step)
483
+ - Next Step: N/A
484
+
485
+ **Key Design Decisions:**
486
+ - Forge completion banner: "Skill forged: {name} v{version}"
487
+ - Full compilation summary with confidence distribution table
488
+ - All output file paths listed
489
+ - Next steps: test-skill, export-skill, update-skill
490
+ - Context snippet provided for immediate CLAUDE.md use
491
+ - Batch mode: loop back to step-01 for remaining briefs