bmad-module-skill-forge 0.5.0 → 0.6.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.
- package/README.md +2 -1
- package/docs/agents.md +3 -0
- package/docs/concepts.md +23 -5
- package/docs/examples.md +30 -1
- package/docs/getting-started.md +11 -0
- package/docs/how-it-works.md +49 -25
- package/docs/index.md +1 -1
- package/docs/workflows.md +6 -6
- package/package.json +2 -2
- package/src/agents/forger.agent.yaml +1 -1
- package/src/forger/forge-tier.yaml +17 -1
- package/src/forger/preferences.yaml +1 -1
- package/src/knowledge/ccc-bridge.md +110 -0
- package/src/knowledge/confidence-tiers.md +3 -3
- package/src/knowledge/overview.md +2 -1
- package/src/knowledge/progressive-capability.md +12 -4
- package/src/knowledge/qmd-registry.md +14 -0
- package/src/knowledge/skf-knowledge-index.csv +2 -1
- package/src/module-help.csv +1 -1
- package/src/module.yaml +1 -1
- package/src/workflows/README.md +1 -1
- package/src/workflows/analyze-source/data/skill-brief-schema.md +1 -1
- package/src/workflows/analyze-source/data/unit-detection-heuristics.md +1 -0
- package/src/workflows/analyze-source/steps-c/step-01-init.md +2 -2
- package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +7 -3
- package/src/workflows/analyze-source/validation-report.md +2 -2
- package/src/workflows/analyze-source/workflow-plan-analyze-source.md +1 -1
- package/src/workflows/audit-skill/data/drift-report-template.md +6 -6
- package/src/workflows/audit-skill/steps-c/step-01-init.md +2 -2
- package/src/workflows/audit-skill/steps-c/step-02-re-index.md +18 -1
- package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +5 -5
- package/src/workflows/audit-skill/validation-report.md +3 -3
- package/src/workflows/audit-skill/workflow-plan-audit-skill.md +2 -2
- package/src/workflows/audit-skill/workflow.md +1 -1
- package/src/workflows/brief-skill/data/skill-brief-schema.md +3 -3
- package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +3 -3
- package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +15 -0
- package/src/workflows/create-skill/data/extraction-patterns.md +37 -1
- package/src/workflows/create-skill/data/skill-sections.md +2 -2
- package/src/workflows/create-skill/steps-c/step-01-load-brief.md +5 -3
- package/src/workflows/create-skill/steps-c/step-02-ecosystem-check.md +2 -2
- package/src/workflows/create-skill/steps-c/step-02b-ccc-discover.md +157 -0
- package/src/workflows/create-skill/steps-c/step-03-extract.md +10 -1
- package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +5 -5
- package/src/workflows/create-skill/steps-c/step-04-enrich.md +8 -8
- package/src/workflows/create-skill/steps-c/step-06-validate.md +1 -1
- package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +32 -0
- package/src/workflows/create-skill/steps-c/step-08-report.md +1 -0
- package/src/workflows/create-skill/validation-report.md +1 -1
- package/src/workflows/create-skill/workflow-plan-create-skill.md +4 -2
- package/src/workflows/create-skill/workflow.md +1 -1
- package/src/workflows/create-stack-skill/data/stack-skill-template.md +1 -1
- package/src/workflows/create-stack-skill/steps-c/step-01-init.md +3 -2
- package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +10 -0
- package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +1 -1
- package/src/workflows/create-stack-skill/validation-report.md +1 -1
- package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +2 -2
- package/src/workflows/create-stack-skill/workflow.md +1 -1
- package/src/workflows/export-skill/steps-c/step-01-load-skill.md +1 -1
- package/src/workflows/export-skill/steps-c/step-02-package.md +1 -1
- package/src/workflows/export-skill/workflow-plan-export-skill.md +1 -1
- package/src/workflows/quick-skill/data/skill-template.md +8 -0
- package/src/workflows/quick-skill/steps-c/step-02-ecosystem-check.md +1 -3
- package/src/workflows/setup-forge/data/tier-rules.md +16 -6
- package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +32 -15
- package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +148 -0
- package/src/workflows/setup-forge/steps-c/step-02-write-config.md +24 -6
- package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +29 -6
- package/src/workflows/setup-forge/steps-c/step-04-report.md +14 -2
- package/src/workflows/setup-forge/validation-report.md +1 -1
- package/src/workflows/setup-forge/workflow-plan-setup-forge.md +11 -9
- package/src/workflows/setup-forge/workflow.md +1 -1
- package/src/workflows/test-skill/data/scoring-rules.md +5 -0
- package/src/workflows/test-skill/steps-c/step-01-init.md +2 -2
- package/src/workflows/test-skill/templates/test-report-template.md +3 -0
- package/src/workflows/test-skill/validation-report.md +2 -2
- package/src/workflows/test-skill/workflow-plan-test-skill.md +2 -2
- package/src/workflows/update-skill/steps-c/step-01-init.md +3 -2
- package/src/workflows/update-skill/steps-c/step-03-re-extract.md +19 -2
- package/src/workflows/update-skill/steps-c/step-05-validate.md +1 -1
- package/src/workflows/update-skill/steps-c/step-06-write.md +2 -2
- package/src/workflows/update-skill/validation-report.md +1 -1
- package/src/workflows/update-skill/workflow-plan-update-skill.md +1 -1
- package/tools/cli/commands/status.js +2 -1
|
@@ -103,7 +103,7 @@ Perform tier-aware extraction on only the changed files identified in step 02, p
|
|
|
103
103
|
DO NOT BE LAZY — For EACH file in the change manifest with status MODIFIED, ADDED, or RENAMED, launch a subprocess that:
|
|
104
104
|
|
|
105
105
|
1. Loads the source file
|
|
106
|
-
2. Performs tier-appropriate extraction (Quick/Forge/Deep)
|
|
106
|
+
2. Performs tier-appropriate extraction (Quick/Forge/Forge+/Deep)
|
|
107
107
|
3. For each export found:
|
|
108
108
|
- Record: export name, type (function/class/type/constant), signature
|
|
109
109
|
- Record: file path, start line, end line
|
|
@@ -119,6 +119,23 @@ DO NOT BE LAZY — For EACH file in the change manifest with status MODIFIED, AD
|
|
|
119
119
|
|
|
120
120
|
**Re-export tracing (Forge/Deep only):** After extracting changed files, check if any public exports from the package entry point (`__init__.py`, `index.ts`, `lib.rs`) are unresolved — particularly when a changed file is part of a module re-export chain. Follow the **Re-Export Tracing** protocol in `{extractionPatternsData}` to trace unresolved symbols to their actual definition files.
|
|
121
121
|
|
|
122
|
+
### 2b. CCC Semantic Ranking (Forge+ and Deep with ccc)
|
|
123
|
+
|
|
124
|
+
**IF `tools.ccc` is true in forge-tier.yaml:**
|
|
125
|
+
|
|
126
|
+
Before aggregating extraction results, use CCC to assess semantic significance of changes:
|
|
127
|
+
|
|
128
|
+
1. Run `ccc_bridge.search("{skill_name}", source_root, top_k=15)` to get the skill's most semantically central files
|
|
129
|
+
2. Cross-reference the change manifest files with CCC results
|
|
130
|
+
3. Files appearing in BOTH the change manifest AND CCC's top results are **semantically significant changes** — flag them for priority in the merge step
|
|
131
|
+
4. Store `{ccc_significant_changes: [{file, score}]}` in context
|
|
132
|
+
|
|
133
|
+
This helps the merge step (section 4) prioritize which changes are most likely to affect the skill's core content vs. peripheral modifications.
|
|
134
|
+
|
|
135
|
+
CCC failures: skip ranking silently, all changes treated equally.
|
|
136
|
+
|
|
137
|
+
**IF `tools.ccc` is false:** Skip this section silently.
|
|
138
|
+
|
|
122
139
|
### 3. Deep Tier QMD Enrichment (Conditional)
|
|
123
140
|
|
|
124
141
|
**ONLY if forge_tier == Deep:**
|
|
@@ -200,7 +217,7 @@ ONLY WHEN all changed files have been extracted and results compiled will you lo
|
|
|
200
217
|
- Every changed file from manifest extracted with tier-appropriate method
|
|
201
218
|
- All exports labeled with confidence tier (T1/T1-low/T2)
|
|
202
219
|
- AST file:line citations on every extracted export
|
|
203
|
-
- QMD enrichment performed for Deep tier (skipped with notice for Quick/Forge)
|
|
220
|
+
- QMD enrichment performed for Deep tier (skipped with notice for Quick/Forge/Forge+)
|
|
204
221
|
- Extraction results compiled with per-file detail
|
|
205
222
|
- Summary displayed before auto-proceeding
|
|
206
223
|
- No unchanged files extracted
|
|
@@ -73,7 +73,7 @@ Launch subprocesses in parallel for each validation category, aggregating result
|
|
|
73
73
|
|
|
74
74
|
**If available**, run: `npx skill-check check <skill-dir> --fix --format json --no-security-scan`
|
|
75
75
|
|
|
76
|
-
Parse JSON output for quality score (0-100), auto-fixed issues, and remaining diagnostics. If `body.max_lines` reported, prefer selective split: extract only the largest Tier 2 section(s) to `references/`, keeping all Tier 1 content inline (
|
|
76
|
+
Parse JSON output for quality score (0-100), auto-fixed issues, and remaining diagnostics. If `body.max_lines` reported, prefer selective split: extract only the largest Tier 2 section(s) to `references/`, keeping all Tier 1 content inline (selective split preserves agent accuracy — inline passive context achieves 100% task accuracy vs 79% for on-demand retrieval per Vercel research). Fall back to `npx skill-check split-body <skill-dir> --write` only if selective split is not feasible. After any split, verify `#quick-start` and `#key-types` anchors still resolve in SKILL.md.
|
|
77
77
|
|
|
78
78
|
**If unavailable**, perform manual check: validate merged SKILL.md structure, verify required sections (exports, usage patterns, conventions), verify export entries have name/type/signature/file:line reference, flag missing sections.
|
|
79
79
|
|
|
@@ -115,7 +115,7 @@ Write to `{forge_data_folder}/{skill_name}/provenance-map.json`:
|
|
|
115
115
|
|
|
116
116
|
### 4. Write Updated evidence-report.md
|
|
117
117
|
|
|
118
|
-
Append update operation section to `{forge_data_folder}/{skill_name}/evidence-report.md
|
|
118
|
+
Append update operation section to `{forge_data_folder}/{skill_name}/evidence-report.md` (create the file with a standard header if it does not yet exist):
|
|
119
119
|
|
|
120
120
|
```markdown
|
|
121
121
|
## Update Operation — {current_date}
|
|
@@ -182,7 +182,7 @@ External tool checks deferred from step-05 now run against the written files:
|
|
|
182
182
|
|
|
183
183
|
**If skill-check available:**
|
|
184
184
|
- Run: `npx skill-check check {skills_output_folder}/{skill_name} --fix --format json --no-security-scan`
|
|
185
|
-
- If `body.max_lines` reported, prefer selective split (
|
|
185
|
+
- If `body.max_lines` reported, prefer selective split — extract only the largest Tier 2 section(s) to `references/`, keeping Tier 1 inline (inline passive context achieves 100% task accuracy vs 79% for on-demand retrieval). Fall back to `npx skill-check split-body {skills_output_folder}/{skill_name} --write` if not feasible. Verify anchors resolve after split.
|
|
186
186
|
- Run: `npx skill-check diff` if original version was preserved
|
|
187
187
|
- Run: `npx skill-check check {skills_output_folder}/{skill_name} --format json` for security scan
|
|
188
188
|
|
|
@@ -413,7 +413,7 @@ This workflow is a well-architected surgical pipeline that achieves its goal of
|
|
|
413
413
|
|
|
414
414
|
1. **Zero-hallucination principle** enforced throughout — every statement must trace to actual artifacts
|
|
415
415
|
2. **[MANUAL] section preservation** treated as highest priority with multiple safeguards (inventory in step-01, preservation in step-04, integrity verification in step-05, write verification in step-06)
|
|
416
|
-
3. **Tier-aware extraction** well-implemented across Quick/Forge/Deep with graceful degradation
|
|
416
|
+
3. **Tier-aware extraction** well-implemented across Quick/Forge/Forge+/Deep with graceful degradation
|
|
417
417
|
4. **Subprocess optimization** strategically placed at the right steps (02-parallel, 03-per-file, 03-QMD, 05-parallel)
|
|
418
418
|
5. **Error handling** is comprehensive (missing artifacts → abort with helpful message, missing provenance → degraded mode, [MANUAL] conflicts → user resolution)
|
|
419
419
|
6. **Workflow chaining** properly integrated with input/output contracts
|
|
@@ -125,7 +125,7 @@ Document-producing workflow that outputs:
|
|
|
125
125
|
|
|
126
126
|
### Missing Features to Add During Conversion
|
|
127
127
|
|
|
128
|
-
1. Tier-aware re-extraction (Quick/Forge/Deep graceful degradation)
|
|
128
|
+
1. Tier-aware re-extraction (Quick/Forge/Forge+/Deep graceful degradation)
|
|
129
129
|
2. Degraded mode for missing provenance map (fallback to full re-extraction)
|
|
130
130
|
3. Stack skill multi-file update support
|
|
131
131
|
4. Batch mode with checkpoint resume
|
|
@@ -146,7 +146,7 @@ function displayStatus(status, version) {
|
|
|
146
146
|
const tools = ft.tools || {};
|
|
147
147
|
console.log(chalk.white.bold(' Forge Tier'));
|
|
148
148
|
if (status.tierDetected) {
|
|
149
|
-
const tierColors = { Quick: chalk.yellow, Forge: chalk.hex('#F59E0B'), Deep: chalk.hex('#FCD34D') };
|
|
149
|
+
const tierColors = { Quick: chalk.yellow, Forge: chalk.hex('#F59E0B'), 'Forge+': chalk.hex('#E88D0E'), Deep: chalk.hex('#FCD34D') };
|
|
150
150
|
const tierColor = tierColors[ft.tier] || chalk.white;
|
|
151
151
|
console.log(` Tier: ${tierColor(ft.tier)}`);
|
|
152
152
|
console.log(` Detected: ${chalk.dim(ft.tier_detected_at || '(unknown)')}`);
|
|
@@ -155,6 +155,7 @@ function displayStatus(status, version) {
|
|
|
155
155
|
}
|
|
156
156
|
console.log(` ast-grep: ${formatTool(tools.ast_grep)}`);
|
|
157
157
|
console.log(` gh CLI: ${formatTool(tools.gh_cli)}`);
|
|
158
|
+
console.log(` ccc: ${formatTool(tools.ccc)}`);
|
|
158
159
|
console.log(` QMD: ${formatTool(tools.qmd)}`);
|
|
159
160
|
console.log('');
|
|
160
161
|
|