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,405 @@
1
+ ---
2
+ conversionFrom: 'src/workflows/quick-skill/quick-skill.spec.md'
3
+ originalFormat: 'Workflow Specification (spec.md)'
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-steps-02-06']
5
+ created: 2026-02-26
6
+ status: VALIDATED
7
+ approvedDate: 2026-02-27
8
+ confirmationDate: 2026-02-27
9
+ confirmationType: conversion
10
+ coverageStatus: complete
11
+ validationDate: 2026-02-27
12
+ validationStatus: COMPLETE
13
+ validationReport: './validation-report.md'
14
+ ---
15
+
16
+ # Workflow Creation Plan
17
+
18
+ ## Conversion Source
19
+
20
+ **Original Path:** src/workflows/quick-skill/quick-skill.spec.md
21
+ **Original Format:** Workflow Specification (spec.md) — pre-designed blueprint with step table, inputs/outputs, and agent integration
22
+ **Detected Structure:** Single specification document defining a 6-step create-only workflow for brief-less skill generation from package names or GitHub URLs
23
+
24
+ ---
25
+
26
+ ## Original Workflow Analysis
27
+
28
+ ### Goal (from source)
29
+
30
+ Brief-less fast skill with package-to-repo resolution. The fastest path to a skill — accepts a GitHub URL or package name, resolves to source, reads exports via source reading (no AST required), and produces a best-effort SKILL.md. No brief needed. Package-to-repo resolution handles npm/PyPI/crates.io names.
31
+
32
+ ### Original Steps (Complete List)
33
+
34
+ **Step 1:** resolve-target - Resolve package name or URL to GitHub repo
35
+ **Step 2:** ecosystem-check - Search if official skill already exists
36
+ **Step 3:** quick-extract - Read source, extract public API surface
37
+ **Step 4:** compile - Assemble best-effort SKILL.md
38
+ **Step 5:** validate - Validate against spec
39
+ **Step 6:** write - Write skill files
40
+
41
+ ### Output / Deliverable
42
+
43
+ Document-producing workflow generating three files:
44
+ - `{skills_output_folder}/{name}/SKILL.md` — Best-effort skill document
45
+ - `{skills_output_folder}/{name}/context-snippet.md` — Passive context for platform injection
46
+ - `{skills_output_folder}/{name}/metadata.json` — With `source_authority: community`
47
+
48
+ ### Input Requirements
49
+
50
+ **Required:**
51
+ - GitHub URL or package name (npm/PyPI/crates.io)
52
+
53
+ **Optional:**
54
+ - Language hint
55
+ - Scope hint (specific directories)
56
+
57
+ ### Key Instructions to LLM
58
+
59
+ - Uses Ferris agent persona (Architect mode) as primary agent
60
+ - No brief needed — this is a speed-first entry point
61
+ - Package-to-repo resolution via `manifest_reader` internal utility
62
+ - Source reading approach (no AST required) — reads exports directly
63
+ - Best-effort output quality — not full-depth skill analysis
64
+ - `source_authority: community` designation for all outputs
65
+
66
+ ---
67
+
68
+ ## Conversion Notes
69
+
70
+ **What works well in original:**
71
+ - Clear 6-step pipeline with well-defined boundaries between steps
72
+ - Smart input flexibility (URL or package name from multiple registries)
73
+ - Explicit output file list with metadata conventions
74
+ - Ecosystem-aware (checks for existing official skills before duplicating work)
75
+
76
+ **What needs improvement:**
77
+ - Spec only — no step-level implementation details exist yet
78
+ - No menu structures or user interaction points defined
79
+ - No data files or templates specified
80
+ - Step granularity may need adjustment during build (e.g., resolve-target could be complex)
81
+
82
+ **Compliance gaps identified:**
83
+ - No step files exist (need full creation, not conversion)
84
+ - No frontmatter definitions for steps
85
+ - No workflow.md entry point
86
+ - No data/ folder templates
87
+ - No validation mode steps defined (spec says create-only, which is valid)
88
+ - Need to define critical path and state tracking across steps
89
+
90
+ ---
91
+
92
+ ## Memory-Informed Discovery Notes
93
+
94
+ **Preserve:**
95
+ - 6-step linear pipeline matches proven create-skill pattern
96
+ - Ecosystem-check advisory gate pattern (5s timeout, graceful degradation, P/I/A menu only on match)
97
+ - `source_authority: community` correctly positions output in SKF authority hierarchy
98
+ - No-brief differentiator — alternative entry point to create-skill pipeline
99
+
100
+ **Address:**
101
+ - `manifest_reader` utility doesn't exist — need self-contained resolution logic or clear tool requirements
102
+ - No tier awareness needed — operates at fixed Quick-tier equivalent (best-effort)
103
+ - Need explicit error handling table (hard halt, graceful degradation, silent skip patterns)
104
+ - Step 03 "source reading" needs clear definition: README, manifest files, top-level exports
105
+
106
+ **Add:**
107
+ - Graceful fallback chain for resolution: GitHub URL direct > registry API lookup > web search > fail gracefully
108
+ - Advisory ecosystem-check following create-skill step-02 exact pattern
109
+ - Lighter validation for community source_authority tier
110
+ - Ferris Architect mode with tier-aware acknowledgment
111
+
112
+ **Audience:** Same SKF users — developers wanting fast community skill generation without full brief-skill > create-skill pipeline. Phase 1b (Entry Points) build priority.
113
+
114
+ ---
115
+
116
+ ## Classification Decisions
117
+
118
+ **Workflow Name:** quick-skill
119
+ **Target Path:** {project-root}/_bmad/skf/workflows/quick-skill/
120
+ **Build Path:** {bmb_creations_output_folder}/workflows/quick-skill/
121
+
122
+ **4 Key Decisions:**
123
+ 1. **Document Output:** true — produces SKILL.md, context-snippet.md, metadata.json
124
+ 2. **Module Affiliation:** skf — part of Skills Knowledge Framework module
125
+ 3. **Session Type:** single-session — speed-first, 6 focused steps, best-effort output
126
+ 4. **Lifecycle Support:** create-only — steps-c/ only, no edit/validate modes
127
+
128
+ **Structure Implications:**
129
+ - Needs `steps-c/` directory only (no steps-e/ or steps-v/)
130
+ - Standard `step-01` init (no continuation logic, no step-01b-continue)
131
+ - Document-producing: steps contribute progressively to output files
132
+ - Module-based: has access to SKF-specific variables (skills_output_folder, forge-tier, etc.)
133
+ - No stepsCompleted tracking needed in output document (single-session)
134
+
135
+ ---
136
+
137
+ ## Requirements
138
+
139
+ **Flow Structure:**
140
+ - Pattern: linear
141
+ - Phases: resolve input (01), dedup check (02), extraction (03), compilation (04), validation (05), output (06)
142
+ - Estimated steps: 6
143
+ - Conditional branch: step-02 ecosystem-check shows P/I/A menu only if match found, otherwise auto-proceeds
144
+
145
+ **User Interaction:**
146
+ - Style: mostly autonomous
147
+ - Decision points: step-01 (user provides input), step-02 (conditional — only if ecosystem match), step-04 (optional checkpoint to review compiled SKILL.md)
148
+ - Checkpoint frequency: minimal — speed-first design, most steps auto-proceed (P3)
149
+
150
+ **Inputs Required:**
151
+ - Required: GitHub URL or package name (npm/PyPI/crates.io)
152
+ - Optional: language hint, scope hint (specific directories)
153
+ - Prerequisites: none — this is the brief-less entry point, no setup-forge or brief-skill needed
154
+
155
+ **Output Specifications:**
156
+ - Type: multi-file document output
157
+ - Files:
158
+ - `{skills_output_folder}/{name}/SKILL.md` — structured template following agentskills.io spec sections
159
+ - `{skills_output_folder}/{name}/context-snippet.md` — strict two-line format per ADR-L (~30 tokens)
160
+ - `{skills_output_folder}/{name}/metadata.json` — strict JSON with `source_authority: community`
161
+ - Format: structured (SKILL.md), strict (context-snippet.md, metadata.json)
162
+ - Frequency: single run per skill
163
+
164
+ **Success Criteria:**
165
+ - Package/URL successfully resolved to GitHub repo source
166
+ - Public exports documented (best-effort, may be incomplete)
167
+ - Valid SKILL.md with core sections populated
168
+ - context-snippet.md in correct two-line format
169
+ - metadata.json with `source_authority: community` and required fields
170
+ - No ecosystem duplicate if official skill already exists (user chose to proceed)
171
+
172
+ **Instruction Style:**
173
+ - Overall: prescriptive
174
+ - Notes: mechanical pipeline with exact operations per step. Ferris Architect mode provides precision execution. Matches Tax Organizer / SOP Writer pattern — focused questions, specific operations, no creative facilitation.
175
+
176
+ ---
177
+
178
+ ## Tools Configuration
179
+
180
+ **Core BMAD Tools:**
181
+ - **Party Mode:** excluded — prescriptive pipeline, no creative facilitation needed
182
+ - **Advanced Elicitation:** excluded — mechanical steps, no deep exploration needed
183
+ - **Brainstorming:** excluded — no ideation phases
184
+
185
+ **LLM Features:**
186
+ - **Web-Browsing:** included — critical for step-01 (registry API lookups, package-to-repo resolution), step-02 (ecosystem search), step-03 (reading GitHub source)
187
+ - **File I/O:** included — step-03 reads source files, step-06 writes three output files
188
+ - **Sub-Agents:** excluded — linear pipeline, no parallelization needed
189
+ - **Sub-Processes:** excluded — linear pipeline, no parallelization needed
190
+
191
+ **Memory:**
192
+ - Type: single-session
193
+ - Tracking: none — no complex state management needed
194
+
195
+ **External Integrations:**
196
+ - None required — web-browsing handles registry lookups and GitHub access
197
+
198
+ **Installation Requirements:**
199
+ - None — all selected tools are built-in
200
+
201
+ **Workflow Structure Preview:**
202
+
203
+ | Phase | Step | Name | Purpose | Menu |
204
+ |-------|------|------|---------|------|
205
+ | 1 | 01 | resolve-target | Accept input, resolve package/URL to GitHub repo | Init — user provides input |
206
+ | 2 | 02 | ecosystem-check | Query agentskills.io for existing official skill | Conditional P/I/A (match only) |
207
+ | 3 | 03 | quick-extract | Read source, extract public API surface | P3 auto-proceed |
208
+ | 4 | 04 | compile | Assemble SKILL.md, context-snippet, metadata | P2 checkpoint (review output) |
209
+ | 5 | 05 | validate | Validate against agentskills.io spec (community tier) | P3 auto-proceed |
210
+ | 6 | 06 | write | Write files to output folder, display summary | Final step |
211
+
212
+ ---
213
+
214
+ ## Workflow Design
215
+
216
+ ### File Structure
217
+
218
+ ```
219
+ quick-skill/
220
+ ├── workflow.md # Entry point
221
+ ├── data/
222
+ │ ├── skill-template.md # SKILL.md section template
223
+ │ └── registry-resolution.md # Package-to-repo resolution patterns
224
+ └── steps-c/
225
+ ├── step-01-resolve-target.md
226
+ ├── step-02-ecosystem-check.md
227
+ ├── step-03-quick-extract.md
228
+ ├── step-04-compile.md
229
+ ├── step-05-validate.md
230
+ └── step-06-write.md
231
+ ```
232
+
233
+ ### Step Sequence Table
234
+
235
+ | # | Name | Type | Menu | Frontmatter Refs |
236
+ |---|------|------|------|-----------------|
237
+ | 01 | resolve-target | Init (non-continuable) | User input → auto-proceed | nextStepFile, registryResolutionData |
238
+ | 02 | ecosystem-check | Middle (Simple) | Conditional P/I/A if match, else P3 | nextStepFile |
239
+ | 03 | quick-extract | Middle (Simple) | P3 auto-proceed | nextStepFile |
240
+ | 04 | compile | Middle (Simple) | P2 (C only) checkpoint | nextStepFile, skillTemplateData |
241
+ | 05 | validate | Middle (Simple) | P3 auto-proceed | nextStepFile |
242
+ | 06 | write | Final | No next step | — |
243
+
244
+ ### Step Action Plans
245
+
246
+ **Step 01 — resolve-target (Init):**
247
+ - Accept user input: GitHub URL or package name
248
+ - If GitHub URL: validate URL format, extract org/repo
249
+ - If package name: resolution fallback chain (from registry-resolution.md data):
250
+ 1. npm registry API → extract `repository.url`
251
+ 2. PyPI API → extract `project_urls.Source`
252
+ 3. crates.io API → extract `repository`
253
+ 4. Web search fallback → find GitHub repo
254
+ - Accept optional: language hint, scope hint
255
+ - Set state: resolved_url, repo_name, language_hint, scope_hint
256
+ - Auto-proceed to step-02
257
+
258
+ **Step 02 — ecosystem-check (Conditional):**
259
+ - Query agentskills.io ecosystem for repo_name skill
260
+ - 5-second timeout, tool unavailability = silent skip
261
+ - No match: auto-proceed to step-03 (no user interaction)
262
+ - Match found: conditional menu P/I/A
263
+ - [P] Proceed — compile custom skill anyway
264
+ - [I] Install — install existing official skill (exit workflow)
265
+ - [A] Abort — cancel compilation
266
+
267
+ **Step 03 — quick-extract (Auto-proceed):**
268
+ - Read repo README.md for description, features, usage
269
+ - Read manifest file (package.json / pyproject.toml / Cargo.toml)
270
+ - Scan top-level exports (index.js/ts, __init__.py, lib.rs)
271
+ - If scope hint: focus on specified directories
272
+ - Extract: export names, function signatures, type definitions (surface-level)
273
+ - No AST — grep/pattern-based extraction
274
+ - Set state: extraction_inventory
275
+ - Auto-proceed to step-04
276
+
277
+ **Step 04 — compile (Checkpoint):**
278
+ - Load skill-template.md from data/
279
+ - Assemble SKILL.md from extraction_inventory
280
+ - Generate context-snippet.md in two-line format (ADR-L, ~30 tokens)
281
+ - Generate metadata.json with source_authority: community
282
+ - Present compiled SKILL.md for review
283
+ - [C] Continue to validation
284
+
285
+ **Step 05 — validate (Auto-proceed):**
286
+ - Check SKILL.md has required sections populated
287
+ - Check context-snippet.md format compliance (two-line)
288
+ - Check metadata.json has required fields
289
+ - Community-tier validation (lighter than official)
290
+ - Report any gaps/issues
291
+ - Auto-proceed to step-06
292
+
293
+ **Step 06 — write (Final):**
294
+ - Create output directory: {skills_output_folder}/{name}/
295
+ - Write SKILL.md, context-snippet.md, metadata.json
296
+ - Display summary: files written, paths, token estimate
297
+ - Recommend next: test-skill (advisory), export-skill
298
+
299
+ ### Data Flow
300
+
301
+ ```
302
+ step-01 → resolved_url, repo_name, language_hint, scope_hint
303
+
304
+ step-02 → ecosystem_status (match/no-match/skip)
305
+
306
+ step-03 → extraction_inventory (exports, description, manifest_data)
307
+
308
+ step-04 → skill_content (SKILL.md), context_snippet, metadata_json
309
+
310
+ step-05 → validation_result (pass/fail, issues_list)
311
+
312
+ step-06 → writes files, displays summary
313
+ ```
314
+
315
+ ### Error Handling
316
+
317
+ | Error | Response |
318
+ |-------|----------|
319
+ | Unresolvable package name | Hard halt — cannot proceed without source |
320
+ | GitHub repo inaccessible | Hard halt — need source to extract |
321
+ | Ecosystem check tool unavailable | Silent skip — proceed as no-match |
322
+ | Ecosystem check timeout (>5s) | Silent skip — proceed as no-match |
323
+ | No exports found in source | Graceful — minimal SKILL.md from README |
324
+ | Validation failures | Advisory — report issues, allow proceed |
325
+ | File write failure | Hard halt — cannot complete without output |
326
+
327
+ ### Workflow Chaining
328
+
329
+ - **Prerequisites:** none (brief-less entry point)
330
+ - **Alternative to:** brief-skill → create-skill pipeline
331
+ - **Recommended next:** test-skill (advisory), export-skill
332
+ - **Output contract:** {skills_output_folder}/{name}/ with SKILL.md, context-snippet.md, metadata.json
333
+
334
+ ### Subprocess Optimization
335
+
336
+ No subprocess optimization needed — linear pipeline, no parallelization opportunities.
337
+
338
+ ### Role and Persona
339
+
340
+ Ferris — Architect mode. Prescriptive precision execution, speed-first, no creative facilitation.
341
+
342
+ ---
343
+
344
+ ## Foundation Build Complete
345
+
346
+ **Created:**
347
+ - Folder structure at: {bmb_creations_output_folder}/workflows/quick-skill/
348
+ - workflow.md — entry point with SKF config loading, Ferris rapid compiler role
349
+ - data/skill-template.md — SKILL.md section structure, context-snippet format (ADR-L), metadata.json format
350
+ - data/registry-resolution.md — package-to-repo resolution fallback chain (npm/PyPI/crates.io/web search)
351
+ - steps-c/ directory — ready for step file creation
352
+
353
+ **Configuration:**
354
+ - Workflow name: quick-skill
355
+ - Continuable: no (single-session)
356
+ - Document output: yes — multi-file (SKILL.md, context-snippet.md, metadata.json)
357
+ - Mode: create-only (steps-c/ only)
358
+ - Module config: {project-root}/_bmad/skf/config.yaml
359
+ - Module variables: skills_output_folder, forge_data_folder
360
+
361
+ **Next Steps:**
362
+ - Step 8: Build step-01-resolve-target (Init)
363
+ - Step 9: Build remaining steps 02-06 (repeatable)
364
+
365
+ ---
366
+
367
+ ## Step 01 Build Complete
368
+
369
+ **Created:**
370
+ - steps-c/step-01-resolve-target.md
371
+
372
+ **Step Configuration:**
373
+ - Type: Init (non-continuable, no input discovery)
374
+ - Menu: Auto-proceed after successful resolution
375
+ - Next Step: step-02-ecosystem-check
376
+ - Data ref: registry-resolution.md for fallback chain
377
+ - No step-01b (single-session workflow)
378
+
379
+ **Supporting Files:**
380
+ - data/registry-resolution.md (created in foundation)
381
+
382
+ ---
383
+
384
+ ## Steps 02-06 Build Complete
385
+
386
+ **Created:**
387
+ - steps-c/step-02-ecosystem-check.md (143 lines) — Conditional advisory gate, P/I/A on match, auto-proceed on no-match/skip
388
+ - steps-c/step-03-quick-extract.md (177 lines) — Surface-level source reading, extraction inventory, auto-proceed
389
+ - steps-c/step-04-compile.md (180 lines) — Assembles SKILL.md/snippet/metadata from inventory, P2 checkpoint for review
390
+ - steps-c/step-05-validate.md (150 lines) — Community-tier advisory validation, auto-proceed
391
+ - steps-c/step-06-write.md (160 lines) — Final step, writes files, displays summary, recommends next workflows
392
+
393
+ **All step files within size limits except step-01 (165 vs 150 Init guideline — minor, 15 lines over)**
394
+
395
+ **Complete file manifest:**
396
+ - workflow.md (56 lines)
397
+ - data/skill-template.md (66 lines)
398
+ - data/registry-resolution.md (91 lines)
399
+ - steps-c/step-01-resolve-target.md (165 lines)
400
+ - steps-c/step-02-ecosystem-check.md (143 lines)
401
+ - steps-c/step-03-quick-extract.md (177 lines)
402
+ - steps-c/step-04-compile.md (180 lines)
403
+ - steps-c/step-05-validate.md (150 lines)
404
+ - steps-c/step-06-write.md (160 lines)
405
+ - Total: 10 files, 1188 lines
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: quick-skill
3
+ description: Brief-less fast skill with package-to-repo resolution
4
+ web_bundle: true
5
+ installed_path: '{project-root}/_bmad/skf/workflows/quick-skill'
6
+ ---
7
+
8
+ # Quick Skill
9
+
10
+ **Goal:** The fastest path to a skill — accept a GitHub URL or package name, resolve to source, extract public API surface, and produce a best-effort SKILL.md with context snippet and metadata. No brief needed.
11
+
12
+ **Your Role:** In addition to your name, communication_style, and persona, you are also a rapid skill compiler collaborating with a developer. This is a partnership, not a client-vendor relationship. You bring source analysis and skill document assembly expertise, while the user brings the target package or repository they want to create a skill for. Work together efficiently — speed is the priority.
13
+
14
+ ---
15
+
16
+ ## WORKFLOW ARCHITECTURE
17
+
18
+ ### Core Principles
19
+
20
+ - **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
21
+ - **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
22
+ - **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
23
+ - **Append-Only Building**: Build output files progressively as directed by each step
24
+
25
+ ### Step Processing Rules
26
+
27
+ 1. **READ COMPLETELY**: Always read the entire step file before taking any action
28
+ 2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
29
+ 3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
30
+ 4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
31
+ 5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
32
+
33
+ ### Critical Rules (NO EXCEPTIONS)
34
+
35
+ - 🛑 **NEVER** load multiple step files simultaneously
36
+ - 📖 **ALWAYS** read entire step file before execution
37
+ - 🚫 **NEVER** skip steps or optimize the sequence
38
+ - 🎯 **ALWAYS** follow the exact instructions in the step file
39
+ - ⏸️ **ALWAYS** halt at menus and wait for user input
40
+ - 📋 **NEVER** create mental todo lists from future steps
41
+ - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
42
+
43
+ ---
44
+
45
+ ## INITIALIZATION SEQUENCE
46
+
47
+ ### 1. Module Configuration Loading
48
+
49
+ Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
50
+
51
+ - `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
52
+ - `skills_output_folder`, `forge_data_folder`
53
+
54
+ ### 2. First Step Execution
55
+
56
+ Load, read the full file and then execute `./steps-c/step-01-resolve-target.md` to begin the workflow.
@@ -0,0 +1,50 @@
1
+ # Tier Calculation Rules
2
+
3
+ ## Tool Detection Commands
4
+
5
+ | Tool | Verification Command | What Confirms Availability |
6
+ |------|---------------------|---------------------------|
7
+ | ast-grep | `ast-grep --version` | Returns version string without error |
8
+ | gh | `gh --version` | Returns version string without error |
9
+ | qmd | `qmd status` | Returns status indicating initialized and operational |
10
+
11
+ **Important:** Use verification commands, not existence checks (`which`, `command -v`). A tool must be functional, not just present on PATH.
12
+
13
+ ## Tier Calculation
14
+
15
+ | Tier | Required Tools | Rule |
16
+ |------|---------------|------|
17
+ | Quick | None | Default when no tools are available |
18
+ | Forge | ast-grep | ast-grep available, regardless of gh/qmd |
19
+ | Deep | ast-grep + gh + qmd | All three tools available and functional |
20
+
21
+ **Override:** If `tier_override` is set in preferences.yaml, use that value instead of calculated tier.
22
+
23
+ **Edge cases:**
24
+ - gh available but no ast-grep → Quick (gh alone doesn't unlock Forge)
25
+ - ast-grep + gh but no qmd → Forge (qmd required for Deep)
26
+ - ast-grep + qmd but no gh → Forge (gh required for Deep)
27
+
28
+ ## Tier Capability Descriptions
29
+
30
+ Use these for positive-framing in the report step. Describe what the tier GIVES, never what it lacks.
31
+
32
+ ### Quick Tier
33
+ "Quick tier active. You have fast, template-driven skill generation with package-name resolution. Perfect for getting started quickly."
34
+
35
+ ### Forge Tier
36
+ "Forge tier active. You have AST-backed structural code analysis with line-level citations, plus template-driven generation. Every skill instruction traces to verified source code."
37
+
38
+ ### Deep Tier
39
+ "Deep tier active. Full capability unlocked — AST-backed code analysis, GitHub repository exploration, and QMD knowledge search with cross-repository synthesis. Maximum provenance and intelligence."
40
+
41
+ ## Re-run Tier Change Messages
42
+
43
+ ### Upgrade
44
+ "Tier upgraded from {previous} to {current}. {newly available tool(s)} now detected — expanded capabilities unlocked."
45
+
46
+ ### Downgrade
47
+ "Tier changed from {previous} to {current}. {tool} no longer detected. Run the tool's installation to restore capabilities."
48
+
49
+ ### Same
50
+ "Tier unchanged: {current}. All previously detected tools confirmed."
@@ -0,0 +1,140 @@
1
+ ---
2
+ name: 'step-01-detect-and-tier'
3
+ description: 'Detect available tools and determine forge capability tier'
4
+
5
+ nextStepFile: './step-02-write-config.md'
6
+ tierRulesData: '../data/tier-rules.md'
7
+ ---
8
+
9
+ # Step 1: Detect Tools and Determine Tier
10
+
11
+ ## STEP GOAL:
12
+
13
+ Verify availability of the three forge tools (ast-grep, gh, qmd), read any existing configuration for re-run comparison, check for tier override, and calculate the capability tier.
14
+
15
+ ## MANDATORY EXECUTION RULES (READ FIRST):
16
+
17
+ ### Universal Rules:
18
+
19
+ - 📖 CRITICAL: Read the complete step file before taking any action
20
+ - 🔄 CRITICAL: When loading next step, ensure entire file is read
21
+ - 🎯 Execute all operations autonomously — no user interaction
22
+
23
+ ### Role Reinforcement:
24
+
25
+ - ✅ You are a system executor performing environment resolution
26
+ - ✅ Tool detection must be empirical — run actual commands, never assume
27
+ - ✅ Record exact results (version strings, error messages)
28
+
29
+ ### Step-Specific Rules:
30
+
31
+ - 🎯 Focus only on tool detection and tier calculation
32
+ - 🚫 FORBIDDEN to write any files — that is step-02's job
33
+ - 🚫 FORBIDDEN to skip any tool check — all 3 must be verified
34
+ - 💬 Tool command failures are NOT errors — they indicate unavailability
35
+
36
+ ## EXECUTION PROTOCOLS:
37
+
38
+ - 🎯 Follow the MANDATORY SEQUENCE exactly
39
+ - 💾 Store all results in memory for step-02
40
+ - 📖 Load tier-rules.md for calculation reference
41
+ - 🚫 FORBIDDEN to proceed without checking all 3 tools
42
+
43
+ ## CONTEXT BOUNDARIES:
44
+
45
+ - This is the first step — no prior context exists
46
+ - Available: forge-tier.yaml and preferences.yaml may exist from prior runs
47
+ - Focus: tool verification and tier calculation only
48
+ - Dependencies: none — this step bootstraps everything
49
+
50
+ ## MANDATORY SEQUENCE
51
+
52
+ **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
53
+
54
+ ### 1. Load Tier Rules
55
+
56
+ Load and read {tierRulesData} for the tool detection commands and tier calculation logic.
57
+
58
+ ### 2. Check for Existing Configuration (Re-run Detection)
59
+
60
+ **Read existing forge-tier.yaml** at `{project-root}/_bmad/_memory/forger-sidecar/forge-tier.yaml`:
61
+ - If exists: store the current `tier` value as `{previous_tier}` and `tier_detected_at` as `{previous_detection_date}`
62
+ - If not found: set `{previous_tier}` to null (first run)
63
+
64
+ **Read existing preferences.yaml** at `{project-root}/_bmad/_memory/forger-sidecar/preferences.yaml`:
65
+ - If exists: check for `tier_override` value
66
+ - If not found: set `{tier_override}` to null
67
+
68
+ ### 3. Verify Tool: ast-grep
69
+
70
+ Run: `ast-grep --version`
71
+
72
+ - If succeeds: record `{ast_grep: true}` and store version string
73
+ - If fails (command not found or error): record `{ast_grep: false}`
74
+
75
+ ### 4. Verify Tool: gh
76
+
77
+ Run: `gh --version`
78
+
79
+ - If succeeds: record `{gh_cli: true}` and store version string
80
+ - If fails: record `{gh_cli: false}`
81
+
82
+ ### 5. Verify Tool: qmd
83
+
84
+ Run: `qmd status`
85
+
86
+ - If succeeds and indicates operational: record `{qmd: true}`
87
+ - If fails or indicates not initialized: record `{qmd: false}`
88
+
89
+ ### 6. Calculate Tier
90
+
91
+ **If `{tier_override}` is set and valid (Quick, Forge, or Deep):**
92
+ - Use `{tier_override}` as `{calculated_tier}`
93
+ - Note that override is active for the report step
94
+
95
+ **If no override, apply tier rules from {tierRulesData}:**
96
+ - `{ast_grep}` AND `{gh_cli}` AND `{qmd}` all true → **Deep**
97
+ - `{ast_grep}` true (regardless of gh/qmd) → **Forge**
98
+ - Otherwise → **Quick**
99
+
100
+ **If `{tier_override}` is set but invalid:** ignore it, use detected tier, flag for warning in report.
101
+
102
+ ### 7. Auto-Proceed
103
+
104
+ "**Proceeding to write configuration...**"
105
+
106
+ #### Menu Handling Logic:
107
+
108
+ - After tier calculation is complete, immediately load, read entire file, then execute {nextStepFile}
109
+
110
+ #### EXECUTION RULES:
111
+
112
+ - This is an auto-proceed step with no user choices
113
+ - Proceed directly to next step after detection and calculation
114
+
115
+ ## CRITICAL STEP COMPLETION NOTE
116
+
117
+ ONLY WHEN all 3 tools have been verified and the tier has been calculated will you load and read fully `{nextStepFile}` to execute the configuration write step.
118
+
119
+ ---
120
+
121
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
122
+
123
+ ### ✅ SUCCESS:
124
+
125
+ - All 3 tools checked via verification commands (not existence checks)
126
+ - Existing forge-tier.yaml read for re-run comparison (if present)
127
+ - Existing preferences.yaml read for tier_override (if present)
128
+ - Tier correctly calculated from tool results or override applied
129
+ - All results stored in context for step-02
130
+ - Auto-proceeded to step-02
131
+
132
+ ### ❌ SYSTEM FAILURE:
133
+
134
+ - Skipping any tool verification
135
+ - Using `which` or `command -v` instead of verification commands
136
+ - Assuming tool availability without running the command
137
+ - Writing files in this step (that is step-02)
138
+ - Not checking for existing configuration on re-runs
139
+
140
+ **Master Rule:** Every tool MUST be verified empirically. No assumptions, no shortcuts.