bmad-module-skill-forge 0.9.0 → 0.10.1-alpha.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/.claude-plugin/marketplace.json +39 -0
- package/.gitattributes +16 -0
- package/README.md +105 -38
- package/docs/404.md +13 -10
- package/docs/RELEASING.md +185 -0
- package/docs/STABILITY.md +123 -0
- package/docs/_data/pinned.yaml +98 -0
- package/docs/agents.md +16 -11
- package/docs/architecture.md +221 -0
- package/docs/bmad-synergy.md +11 -13
- package/docs/concepts.md +18 -108
- package/docs/examples.md +121 -80
- package/docs/getting-started.md +85 -147
- package/docs/how-it-works.md +25 -536
- package/docs/index.md +44 -27
- package/docs/skill-model.md +328 -0
- package/docs/troubleshooting.md +39 -0
- package/docs/verifying-a-skill.md +232 -0
- package/docs/why-skf.md +93 -0
- package/docs/workflows.md +119 -13
- package/package.json +25 -4
- package/src/README.md +23 -25
- package/src/forger/forge-tier.yaml +4 -2
- package/src/forger/preferences.yaml +7 -1
- package/src/knowledge/agentskills-spec.md +1 -1
- package/src/knowledge/architecture-verification.md +1 -1
- package/src/knowledge/ccc-bridge.md +16 -15
- package/src/knowledge/overview.md +11 -11
- package/src/knowledge/progressive-capability.md +3 -3
- package/src/knowledge/provenance-tracking.md +9 -3
- package/src/knowledge/qmd-registry.md +8 -8
- package/src/knowledge/skf-knowledge-index.csv +2 -2
- package/src/knowledge/skill-lifecycle.md +16 -1
- package/src/knowledge/split-body-strategy.md +1 -1
- package/src/knowledge/version-paths.md +17 -12
- package/src/module-help.csv +18 -17
- package/src/module.yaml +4 -0
- package/src/shared/health-check.md +372 -0
- package/src/shared/references/feasibility-report-schema.md +86 -0
- package/src/shared/references/headless-gate-convention.md +62 -0
- package/src/shared/references/output-contract-schema.md +35 -0
- package/src/shared/references/pipeline-contracts.md +102 -0
- package/src/shared/scripts/skf-atomic-write.py +370 -0
- package/src/shared/scripts/skf-manifest-ops.py +236 -0
- package/src/shared/scripts/skf-preflight.py +164 -0
- package/src/shared/scripts/skf-rebuild-managed-sections.py +201 -0
- package/src/shared/scripts/skf-severity-classify.py +163 -0
- package/src/shared/scripts/skf-skill-inventory.py +210 -0
- package/src/shared/scripts/skf-structural-diff.py +257 -0
- package/src/shared/scripts/skf-validate-frontmatter.py +318 -0
- package/src/shared/scripts/skf-validate-output.py +247 -0
- package/src/skf-analyze-source/SKILL.md +57 -0
- package/src/skf-analyze-source/assets/skill-brief-schema.md +125 -0
- package/src/skf-analyze-source/references/unit-detection-heuristics.md +124 -0
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-01-init.md +6 -66
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-01b-continue.md +4 -59
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-02-scan-project.md +7 -68
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-03-identify-units.md +6 -66
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-04-map-and-detect.md +7 -68
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-05-recommend.md +6 -66
- package/src/{workflows/analyze-source → skf-analyze-source}/steps-c/step-06-generate-briefs.md +14 -66
- package/src/skf-analyze-source/steps-c/step-07-health-check.md +22 -0
- package/src/skf-audit-skill/SKILL.md +59 -0
- package/src/{workflows/audit-skill/data → skf-audit-skill/assets}/drift-report-template.md +7 -7
- package/src/{workflows/audit-skill/data → skf-audit-skill/references}/severity-rules.md +11 -11
- package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-01-init.md +24 -68
- package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-02-re-index.md +36 -71
- package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-03-structural-diff.md +21 -63
- package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-04-semantic-diff.md +6 -65
- package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-05-severity-classify.md +5 -63
- package/src/{workflows/audit-skill → skf-audit-skill}/steps-c/step-06-report.md +10 -59
- package/src/skf-audit-skill/steps-c/step-07-health-check.md +22 -0
- package/src/skf-brief-skill/SKILL.md +53 -0
- package/src/{workflows/brief-skill/data → skf-brief-skill/assets}/scope-templates.md +23 -0
- package/src/skf-brief-skill/assets/skill-brief-schema.md +206 -0
- package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-01-gather-intent.md +6 -67
- package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-02-analyze-target.md +6 -66
- package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-03-scope-definition.md +12 -68
- package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-04-confirm-brief.md +5 -63
- package/src/{workflows/brief-skill → skf-brief-skill}/steps-c/step-05-write-brief.md +10 -69
- package/src/skf-brief-skill/steps-c/step-06-health-check.md +22 -0
- package/src/skf-create-skill/SKILL.md +63 -0
- package/src/{workflows/create-skill/data → skf-create-skill/assets}/compile-assembly-rules.md +60 -0
- package/src/{workflows/create-skill/data → skf-create-skill/assets}/skill-sections.md +92 -23
- package/src/skf-create-skill/assets/tessl-dismissal-rules.md +102 -0
- package/src/{workflows/create-skill/data → skf-create-skill/references}/extraction-patterns-tracing.md +13 -13
- package/src/{workflows/create-skill/data → skf-create-skill/references}/extraction-patterns.md +8 -3
- package/src/skf-create-skill/references/source-resolution-protocols.md +239 -0
- package/src/{workflows/create-skill/data → skf-create-skill/references}/tier-degradation-rules.md +8 -7
- package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-01-load-brief.md +25 -63
- package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-02-ecosystem-check.md +8 -64
- package/src/skf-create-skill/steps-c/step-03-extract.md +379 -0
- package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-03d-component-extraction.md +18 -35
- package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-04-enrich.md +12 -69
- package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-05-compile.md +71 -75
- package/src/skf-create-skill/steps-c/step-06-validate.md +267 -0
- package/src/{workflows/create-skill → skf-create-skill}/steps-c/step-07-generate-artifacts.md +30 -74
- package/src/skf-create-skill/steps-c/step-08-report.md +145 -0
- package/src/skf-create-skill/steps-c/step-09-health-check.md +23 -0
- package/src/{workflows/create-skill/steps-c → skf-create-skill/steps-c/sub}/step-02b-ccc-discover.md +8 -66
- package/src/skf-create-skill/steps-c/sub/step-03b-fetch-temporal.md +229 -0
- package/src/{workflows/create-skill/steps-c → skf-create-skill/steps-c/sub}/step-03c-fetch-docs.md +18 -42
- package/src/skf-create-stack-skill/SKILL.md +64 -0
- package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/assets}/stack-skill-template.md +2 -1
- package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/compose-mode-rules.md +19 -5
- package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/integration-patterns.md +1 -1
- package/src/{workflows/create-stack-skill/data → skf-create-stack-skill/references}/manifest-patterns.md +10 -10
- package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-01-init.md +14 -55
- package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-02-detect-manifests.md +29 -63
- package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-03-rank-and-confirm.md +9 -59
- package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-04-parallel-extract.md +29 -64
- package/src/skf-create-stack-skill/steps-c/step-05-detect-integrations.md +164 -0
- package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-06-compile-stack.md +7 -60
- package/src/skf-create-stack-skill/steps-c/step-07-generate-output.md +328 -0
- package/src/{workflows/create-stack-skill → skf-create-stack-skill}/steps-c/step-08-validate.md +17 -63
- package/src/skf-create-stack-skill/steps-c/step-09-report.md +128 -0
- package/src/skf-create-stack-skill/steps-c/step-10-health-check.md +22 -0
- package/src/skf-drop-skill/SKILL.md +57 -0
- package/src/{workflows/drop-skill → skf-drop-skill}/steps-c/step-01-select.md +9 -69
- package/src/{workflows/drop-skill → skf-drop-skill}/steps-c/step-02-execute.md +30 -106
- package/src/skf-drop-skill/steps-c/step-03-report.md +83 -0
- package/src/skf-drop-skill/steps-c/step-04-health-check.md +22 -0
- package/src/skf-export-skill/SKILL.md +57 -0
- package/src/skf-export-skill/assets/managed-section-format.md +138 -0
- package/src/{workflows/export-skill/data → skf-export-skill/assets}/snippet-format.md +8 -12
- package/src/skf-export-skill/steps-c/step-01-load-skill.md +247 -0
- package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-02-package.md +5 -58
- package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-03-generate-snippet.md +15 -77
- package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-04-update-context.md +59 -133
- package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-05-token-report.md +4 -58
- package/src/{workflows/export-skill → skf-export-skill}/steps-c/step-06-summary.md +20 -64
- package/src/skf-export-skill/steps-c/step-07-health-check.md +22 -0
- package/src/skf-forger/SKILL.md +110 -0
- package/src/skf-forger/bmad-skill-manifest.yaml +11 -0
- package/src/skf-quick-skill/SKILL.md +56 -0
- package/src/{workflows/quick-skill/data → skf-quick-skill/references}/registry-resolution.md +6 -6
- package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-01-resolve-target.md +9 -62
- package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-02-ecosystem-check.md +5 -59
- package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-03-quick-extract.md +18 -61
- package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-04-compile.md +6 -60
- package/src/{workflows/quick-skill → skf-quick-skill}/steps-c/step-05-validate.md +58 -78
- package/src/skf-quick-skill/steps-c/step-06-write.md +73 -0
- package/src/skf-quick-skill/steps-c/step-07-health-check.md +22 -0
- package/src/skf-refine-architecture/SKILL.md +57 -0
- package/src/{workflows/refine-architecture/data → skf-refine-architecture/references}/refinement-rules.md +16 -16
- package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-01-init.md +6 -63
- package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-02-gap-analysis.md +29 -71
- package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-03-issue-detection.md +5 -65
- package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-04-improvements.md +5 -64
- package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-05-compile.md +5 -56
- package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-06-report.md +14 -64
- package/src/skf-refine-architecture/steps-c/step-07-health-check.md +22 -0
- package/src/skf-rename-skill/SKILL.md +58 -0
- package/src/{workflows/rename-skill → skf-rename-skill}/steps-c/step-01-select.md +12 -73
- package/src/{workflows/rename-skill → skf-rename-skill}/steps-c/step-02-execute.md +32 -113
- package/src/skf-rename-skill/steps-c/step-03-report.md +83 -0
- package/src/skf-rename-skill/steps-c/step-04-health-check.md +22 -0
- package/src/skf-setup/SKILL.md +55 -0
- package/src/{workflows/setup-forge → skf-setup}/steps-c/step-01-detect-and-tier.md +6 -62
- package/src/{workflows/setup-forge → skf-setup}/steps-c/step-01b-ccc-index.md +9 -65
- package/src/{workflows/setup-forge → skf-setup}/steps-c/step-02-write-config.md +15 -60
- package/src/{workflows/setup-forge → skf-setup}/steps-c/step-03-auto-index.md +7 -66
- package/src/skf-setup/steps-c/step-04-report.md +92 -0
- package/src/skf-setup/steps-c/step-05-health-check.md +22 -0
- package/src/skf-test-skill/SKILL.md +59 -0
- package/src/skf-test-skill/references/migration-section-rules.md +114 -0
- package/src/skf-test-skill/references/scoring-rules.md +207 -0
- package/src/skf-test-skill/references/source-access-protocol.md +109 -0
- package/src/skf-test-skill/scripts/compute-score.py +310 -0
- package/src/skf-test-skill/steps-c/step-01-init.md +238 -0
- package/src/{workflows/test-skill → skf-test-skill}/steps-c/step-02-detect-mode.md +4 -62
- package/src/skf-test-skill/steps-c/step-03-coverage-check.md +347 -0
- package/src/skf-test-skill/steps-c/step-04-coherence-check.md +239 -0
- package/src/{workflows/test-skill → skf-test-skill}/steps-c/step-04b-external-validators.md +42 -77
- package/src/skf-test-skill/steps-c/step-05-score.md +266 -0
- package/src/skf-test-skill/steps-c/step-06-report.md +290 -0
- package/src/skf-test-skill/steps-c/step-07-health-check.md +25 -0
- package/src/skf-test-skill/templates/test-report-template.md +58 -0
- package/src/skf-update-skill/SKILL.md +58 -0
- package/src/{workflows/update-skill/data → skf-update-skill/references}/manual-section-rules.md +6 -6
- package/src/{workflows/update-skill/data → skf-update-skill/references}/merge-conflict-rules.md +5 -5
- package/src/skf-update-skill/references/remote-source-resolution.md +94 -0
- package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-01-init.md +22 -69
- package/src/skf-update-skill/steps-c/step-02-detect-changes.md +255 -0
- package/src/skf-update-skill/steps-c/step-03-re-extract.md +336 -0
- package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-04-merge.md +60 -72
- package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-05-validate.md +5 -62
- package/src/skf-update-skill/steps-c/step-06-write.md +278 -0
- package/src/{workflows/update-skill → skf-update-skill}/steps-c/step-07-report.md +11 -66
- package/src/skf-update-skill/steps-c/step-08-health-check.md +22 -0
- package/src/skf-verify-stack/SKILL.md +60 -0
- package/src/skf-verify-stack/assets/feasibility-report-template.md +76 -0
- package/src/{workflows/verify-stack/data → skf-verify-stack/references}/coverage-patterns.md +12 -4
- package/src/skf-verify-stack/references/integration-verification-rules.md +78 -0
- package/src/skf-verify-stack/steps-c/step-01-init.md +178 -0
- package/src/{workflows/verify-stack → skf-verify-stack}/steps-c/step-02-coverage.md +27 -72
- package/src/skf-verify-stack/steps-c/step-03-integrations.md +179 -0
- package/src/{workflows/verify-stack → skf-verify-stack}/steps-c/step-04-requirements.md +14 -67
- package/src/skf-verify-stack/steps-c/step-05-synthesize.md +147 -0
- package/src/skf-verify-stack/steps-c/step-06-report.md +156 -0
- package/src/skf-verify-stack/steps-c/step-07-health-check.md +25 -0
- package/tools/cli/commands/install.js +1 -1
- package/tools/cli/commands/status.js +21 -23
- package/tools/cli/commands/uninstall.js +11 -19
- package/tools/cli/commands/update.js +2 -2
- package/tools/cli/lib/ide-skills.js +216 -0
- package/tools/cli/lib/installer.js +29 -52
- package/tools/cli/lib/manifest.js +11 -5
- package/tools/cli/lib/platform-codes.yaml +223 -0
- package/tools/cli/lib/ui.js +76 -47
- package/tools/validate-docs-drift.js +193 -0
- package/src/agents/forger.agent.yaml +0 -114
- package/src/workflows/README.md +0 -174
- package/src/workflows/analyze-source/data/skill-brief-schema.md +0 -125
- package/src/workflows/analyze-source/data/unit-detection-heuristics.md +0 -124
- package/src/workflows/analyze-source/workflow.md +0 -61
- package/src/workflows/audit-skill/workflow.md +0 -64
- package/src/workflows/brief-skill/data/skill-brief-schema.md +0 -159
- package/src/workflows/brief-skill/workflow.md +0 -58
- package/src/workflows/create-skill/data/source-resolution-protocols.md +0 -200
- package/src/workflows/create-skill/steps-c/step-03-extract.md +0 -301
- package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +0 -253
- package/src/workflows/create-skill/steps-c/step-06-validate.md +0 -254
- package/src/workflows/create-skill/steps-c/step-08-report.md +0 -176
- package/src/workflows/create-skill/workflow.md +0 -53
- package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +0 -196
- package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +0 -270
- package/src/workflows/create-stack-skill/steps-c/step-09-report.md +0 -145
- package/src/workflows/create-stack-skill/workflow.md +0 -59
- package/src/workflows/drop-skill/steps-c/step-03-report.md +0 -135
- package/src/workflows/drop-skill/workflow.md +0 -63
- package/src/workflows/export-skill/data/managed-section-format.md +0 -103
- package/src/workflows/export-skill/steps-c/step-01-load-skill.md +0 -237
- package/src/workflows/export-skill/workflow.md +0 -58
- package/src/workflows/quick-skill/steps-c/step-06-write.md +0 -179
- package/src/workflows/quick-skill/workflow.md +0 -58
- package/src/workflows/refine-architecture/workflow.md +0 -61
- package/src/workflows/rename-skill/steps-c/step-03-report.md +0 -132
- package/src/workflows/rename-skill/workflow.md +0 -64
- package/src/workflows/setup-forge/steps-c/step-04-report.md +0 -156
- package/src/workflows/setup-forge/workflow.md +0 -51
- package/src/workflows/test-skill/data/scoring-rules.md +0 -123
- package/src/workflows/test-skill/data/source-access-protocol.md +0 -51
- package/src/workflows/test-skill/steps-c/step-01-init.md +0 -217
- package/src/workflows/test-skill/steps-c/step-03-coverage-check.md +0 -280
- package/src/workflows/test-skill/steps-c/step-04-coherence-check.md +0 -271
- package/src/workflows/test-skill/steps-c/step-05-score.md +0 -222
- package/src/workflows/test-skill/steps-c/step-06-report.md +0 -207
- package/src/workflows/test-skill/templates/test-report-template.md +0 -28
- package/src/workflows/test-skill/workflow.md +0 -57
- package/src/workflows/update-skill/data/remote-source-resolution.md +0 -57
- package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +0 -221
- package/src/workflows/update-skill/steps-c/step-03-re-extract.md +0 -256
- package/src/workflows/update-skill/steps-c/step-06-write.md +0 -265
- package/src/workflows/update-skill/workflow.md +0 -56
- package/src/workflows/verify-stack/data/feasibility-report-template.md +0 -63
- package/src/workflows/verify-stack/data/integration-verification-rules.md +0 -73
- package/src/workflows/verify-stack/steps-c/step-01-init.md +0 -179
- package/src/workflows/verify-stack/steps-c/step-03-integrations.md +0 -195
- package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +0 -191
- package/src/workflows/verify-stack/steps-c/step-06-report.md +0 -197
- package/src/workflows/verify-stack/workflow.md +0 -61
- package/tools/cli/lib/compiler.js +0 -306
- package/tools/cli/lib/ide-commands.js +0 -244
- /package/src/{workflows/analyze-source → skf-analyze-source}/templates/analysis-report-template.md +0 -0
- /package/src/{workflows/quick-skill/data → skf-quick-skill/assets}/skill-template.md +0 -0
- /package/src/{workflows/setup-forge/data → skf-setup/references}/tier-rules.md +0 -0
- /package/src/{workflows/test-skill/data → skf-test-skill/assets}/output-section-formats.md +0 -0
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 'step-04-compile'
|
|
3
|
-
description: 'Assemble best-effort SKILL.md, context-snippet.md, and metadata.json from extraction inventory'
|
|
4
|
-
|
|
5
2
|
nextStepFile: './step-05-validate.md'
|
|
6
|
-
skillTemplateData: '
|
|
3
|
+
skillTemplateData: 'assets/skill-template.md'
|
|
7
4
|
---
|
|
8
5
|
|
|
9
6
|
# Step 4: Compile
|
|
@@ -12,43 +9,11 @@ skillTemplateData: '../data/skill-template.md'
|
|
|
12
9
|
|
|
13
10
|
To assemble the best-effort SKILL.md document, context-snippet.md in Vercel-aligned indexed format, and metadata.json with `source_authority: community` from the extraction inventory. Present compiled output for review before validation.
|
|
14
11
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
### Universal Rules:
|
|
18
|
-
|
|
19
|
-
- 🛑 NEVER generate content without user input
|
|
20
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
21
|
-
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
22
|
-
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
23
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
24
|
-
|
|
25
|
-
### Role Reinforcement:
|
|
26
|
-
|
|
27
|
-
- ✅ You are a rapid skill compiler assembling output documents
|
|
28
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
29
|
-
- ✅ Best-effort quality — populate what's available, mark gaps honestly
|
|
30
|
-
- ✅ Follow template structure exactly from {skillTemplateData}
|
|
31
|
-
|
|
32
|
-
### Step-Specific Rules:
|
|
33
|
-
|
|
34
|
-
- 🎯 Focus only on assembling the three output documents
|
|
35
|
-
- 🚫 FORBIDDEN to write files to disk — that's step-06
|
|
36
|
-
- 💬 Approach: Load template, populate from inventory, present for review
|
|
37
|
-
- 📋 Mark any sections with insufficient data as best-effort
|
|
38
|
-
|
|
39
|
-
## EXECUTION PROTOCOLS:
|
|
40
|
-
|
|
41
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
42
|
-
- 💾 Set state: skill_content, context_snippet, metadata_json
|
|
43
|
-
- 📖 Load {skillTemplateData} for section structure and format specs
|
|
44
|
-
- 🚫 Do not write files — only assemble content in memory
|
|
12
|
+
## Rules
|
|
45
13
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
- Also available: resolved_url, repo_name, language, scope_hint
|
|
50
|
-
- Focus: compilation and assembly only
|
|
51
|
-
- This step presents output for review — user gets a checkpoint before validation
|
|
14
|
+
- Focus only on assembling the three output documents — do not write files to disk (that's step-06)
|
|
15
|
+
- Follow template structure exactly from {skillTemplateData}
|
|
16
|
+
- Mark any sections with insufficient data as best-effort
|
|
52
17
|
|
|
53
18
|
## MANDATORY SEQUENCE
|
|
54
19
|
|
|
@@ -203,6 +168,7 @@ Display: **Select:** [C] Continue to Validation
|
|
|
203
168
|
#### EXECUTION RULES:
|
|
204
169
|
|
|
205
170
|
- ALWAYS halt and wait for user input after presenting compiled output
|
|
171
|
+
- **GATE [default: C]** — If `{headless_mode}`: auto-proceed with [C] Continue, log: "headless: auto-approve compiled output"
|
|
206
172
|
- ONLY proceed to validation when user selects 'C'
|
|
207
173
|
- User can request changes to the compiled output before proceeding
|
|
208
174
|
|
|
@@ -210,23 +176,3 @@ Display: **Select:** [C] Continue to Validation
|
|
|
210
176
|
|
|
211
177
|
ONLY WHEN the user reviews the compiled output and selects 'C' will you load and read fully `{nextStepFile}` to execute validation.
|
|
212
178
|
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
216
|
-
|
|
217
|
-
### ✅ SUCCESS:
|
|
218
|
-
|
|
219
|
-
- SKILL.md assembled with all available sections populated
|
|
220
|
-
- context-snippet.md generated in correct Vercel-aligned indexed format
|
|
221
|
-
- metadata.json generated with source_authority: community
|
|
222
|
-
- Compiled output presented for user review
|
|
223
|
-
- User confirms readiness before proceeding to validation
|
|
224
|
-
|
|
225
|
-
### ❌ SYSTEM FAILURE:
|
|
226
|
-
|
|
227
|
-
- Writing files to disk (that's step-06)
|
|
228
|
-
- Skipping the review checkpoint
|
|
229
|
-
- Not following template structure from {skillTemplateData}
|
|
230
|
-
- Hallucinating exports or data not in extraction_inventory
|
|
231
|
-
|
|
232
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -1,73 +1,78 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 'step-05-validate'
|
|
3
|
-
description: 'Validate compiled SKILL.md, context-snippet, and metadata against agentskills.io spec'
|
|
4
|
-
|
|
5
2
|
nextStepFile: './step-06-write.md'
|
|
6
3
|
---
|
|
7
4
|
|
|
8
|
-
# Step 5: Validate
|
|
5
|
+
# Step 5: Write & Validate
|
|
9
6
|
|
|
10
7
|
## STEP GOAL:
|
|
11
8
|
|
|
12
|
-
To
|
|
9
|
+
To write the compiled SKILL.md, context-snippet.md, and metadata.json to the versioned skill package, then validate them on disk against the agentskills.io specification at community tier. Writing happens here (before step-06 finalization) because `skill-check` is a file-based CLI — it reads artifacts from disk — so the files must exist before validation runs. Report any gaps or issues. Validation is advisory — issues are reported but do not block the workflow.
|
|
10
|
+
|
|
11
|
+
## Rules
|
|
12
|
+
|
|
13
|
+
- Write exactly what was compiled — do not modify content during writing
|
|
14
|
+
- Validation is advisory — report issues but never block output
|
|
15
|
+
- Do not modify compiled content post-validation — report only
|
|
16
|
+
- Community-tier validation (lighter than official requirements)
|
|
17
|
+
|
|
18
|
+
## MANDATORY SEQUENCE
|
|
13
19
|
|
|
14
|
-
|
|
20
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
|
15
21
|
|
|
16
|
-
###
|
|
22
|
+
### 1. Create Output Directory
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
20
|
-
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
21
|
-
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
22
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
24
|
+
Resolve `{version}` from the extraction inventory's detected version, defaulting to `1.0.0` if not detected. Create the skill output directories:
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
```
|
|
27
|
+
{skill_group} # {skills_output_folder}/{repo_name}/
|
|
28
|
+
{skill_package} # {skills_output_folder}/{repo_name}/{version}/{repo_name}/
|
|
29
|
+
```
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
28
|
-
- ✅ Community-tier validation — lighter than official requirements
|
|
29
|
-
- ✅ Report issues honestly but don't block output
|
|
31
|
+
If `{skill_package}` already exists, confirm with user before overwriting:
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
"**Directory `{skill_package}` already exists.** Overwrite will replace the prior compiled output; validation results, result contracts, and any manual tweaks from the previous run will not be preserved. Overwrite existing files? [Y/N]"
|
|
32
34
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
- 💬 Approach: Check each requirement, report findings, proceed
|
|
36
|
-
- 📋 Validation failures are advisory — user can proceed regardless
|
|
35
|
+
- **If user selects Y:** Proceed to section 2.
|
|
36
|
+
- **If user selects N:** Halt with: "Overwrite cancelled. Existing skill preserved. Run [QS] with a different skill name or remove the existing directory manually."
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
**GATE [default: Y]** — If `{headless_mode}` is true, auto-proceed with Y and log: "headless: overwriting existing `{skill_package}`".
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
- 💾 Set state: validation_result (pass/fail, issues_list)
|
|
42
|
-
- 📖 Check against community-tier requirements
|
|
43
|
-
- 🚫 Do not block output on validation issues
|
|
40
|
+
### 2. Write Deliverables
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
Write the three compiled artifacts to the skill package so that validation in sections 3–9 has files on disk to read:
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
- Dependencies: compiled output from step-04
|
|
44
|
+
**File 1:** `{skill_package}/SKILL.md` — the compiled skill document
|
|
45
|
+
**File 2:** `{skill_package}/context-snippet.md` — the compressed context snippet
|
|
46
|
+
**File 3:** `{skill_package}/metadata.json` — the machine-readable metadata
|
|
51
47
|
|
|
52
|
-
|
|
48
|
+
Confirm after each write: "Written: SKILL.md" / "Written: context-snippet.md" / "Written: metadata.json".
|
|
53
49
|
|
|
54
|
-
**
|
|
50
|
+
**If any write fails — HARD HALT:**
|
|
55
51
|
|
|
56
|
-
|
|
52
|
+
"**Write failed:** Could not write to `{file_path}`.
|
|
53
|
+
|
|
54
|
+
Error: {error details}
|
|
55
|
+
|
|
56
|
+
Please check:
|
|
57
|
+
- Does the output directory exist and is it writable?
|
|
58
|
+
- Is there sufficient disk space?
|
|
59
|
+
- Are there permission issues?"
|
|
60
|
+
|
|
61
|
+
### 3. Check Tool Availability
|
|
57
62
|
|
|
58
63
|
Run: `npx skill-check -h`
|
|
59
64
|
|
|
60
|
-
- If succeeds (returns usage information): Continue to automated validation (section
|
|
61
|
-
- If fails (command not found or error): Skip to manual fallback in section
|
|
65
|
+
- If succeeds (returns usage information): Continue to automated validation (section 4)
|
|
66
|
+
- If fails (command not found or error): Skip to manual fallback in section 4
|
|
62
67
|
|
|
63
68
|
**Important:** Use the verification command. Do not assume availability — empirical check required.
|
|
64
69
|
|
|
65
|
-
###
|
|
70
|
+
### 4. Validate SKILL.md via skill-check (if available)
|
|
66
71
|
|
|
67
|
-
**If `npx skill-check` is available**, run automated validation with auto-fix:
|
|
72
|
+
**If `npx skill-check` is available**, run automated validation with auto-fix against the skill package written in section 2:
|
|
68
73
|
|
|
69
74
|
```bash
|
|
70
|
-
npx skill-check check
|
|
75
|
+
npx skill-check check {skill_package} --fix --format json --no-security-scan
|
|
71
76
|
```
|
|
72
77
|
|
|
73
78
|
This validates frontmatter, description, body limits, links, and formatting — and auto-fixes deterministic issues (field ordering, slug format, required fields, trailing newlines).
|
|
@@ -89,7 +94,7 @@ Record quality score and any remaining diagnostics as validation issues.
|
|
|
89
94
|
|
|
90
95
|
**For each violation, log an issue.** Missing frontmatter or missing required fields are high-severity issues — skills without valid frontmatter will fail `npx skills add` and `npx skill-check check`.
|
|
91
96
|
|
|
92
|
-
###
|
|
97
|
+
### 5. Validate SKILL.md Body Structure
|
|
93
98
|
|
|
94
99
|
Check that SKILL.md has these required sections populated:
|
|
95
100
|
|
|
@@ -100,18 +105,18 @@ Check that SKILL.md has these required sections populated:
|
|
|
100
105
|
|
|
101
106
|
**For each missing or empty required section, log an issue.**
|
|
102
107
|
|
|
103
|
-
###
|
|
108
|
+
### 6. Validate Context Snippet Format
|
|
104
109
|
|
|
105
110
|
Check context-snippet.md format compliance:
|
|
106
111
|
|
|
107
112
|
- [ ] **Vercel-aligned indexed format** — pipe-delimited with version, retrieval instruction, section anchors
|
|
108
|
-
- [ ] **First line** matches pattern: `[{name} v{version}]|root: {prefix}{name}/` where prefix is `skills/` or
|
|
113
|
+
- [ ] **First line** matches pattern: `[{name} v{version}]|root: {prefix}{name}/` where prefix is `skills/` (draft form) or any IDE skill root (`.{dir}/skills/`)
|
|
109
114
|
- [ ] **Second line** starts with: `|IMPORTANT:`
|
|
110
115
|
- [ ] **Approximate token count** is ~80-120 tokens
|
|
111
116
|
|
|
112
117
|
**If format is wrong, log an issue.**
|
|
113
118
|
|
|
114
|
-
###
|
|
119
|
+
### 7. Validate Metadata JSON
|
|
115
120
|
|
|
116
121
|
Check metadata.json has required fields:
|
|
117
122
|
|
|
@@ -131,12 +136,12 @@ Check metadata.json has required fields:
|
|
|
131
136
|
|
|
132
137
|
**For each missing or invalid field, log an issue.**
|
|
133
138
|
|
|
134
|
-
###
|
|
139
|
+
### 8. Security Scan (if skill-check available)
|
|
135
140
|
|
|
136
|
-
Run security scan on the compiled skill:
|
|
141
|
+
Run security scan on the compiled skill package:
|
|
137
142
|
|
|
138
143
|
```bash
|
|
139
|
-
npx skill-check check
|
|
144
|
+
npx skill-check check {skill_package} --format json
|
|
140
145
|
```
|
|
141
146
|
|
|
142
147
|
(Security scan is enabled by default when `--no-security-scan` is omitted.)
|
|
@@ -145,7 +150,7 @@ Record any security findings as advisory warnings. Security issues do not block
|
|
|
145
150
|
|
|
146
151
|
**If skill-check unavailable:** Skip with note in validation results.
|
|
147
152
|
|
|
148
|
-
###
|
|
153
|
+
### 9. Report Validation Results
|
|
149
154
|
|
|
150
155
|
"**Validation complete:**
|
|
151
156
|
|
|
@@ -165,13 +170,13 @@ Record any security findings as advisory warnings. Security issues do not block
|
|
|
165
170
|
**Overall:** {pass / N issues found}
|
|
166
171
|
|
|
167
172
|
{If issues found:}
|
|
168
|
-
These issues are advisory for community-tier skills. You can proceed to
|
|
173
|
+
These issues are advisory for community-tier skills. You can proceed to finalize or go back to adjust.
|
|
169
174
|
|
|
170
|
-
**Proceeding to
|
|
175
|
+
**Proceeding to finalize...**"
|
|
171
176
|
|
|
172
177
|
Set `validation_result` with pass/fail status, quality score, and issues list.
|
|
173
178
|
|
|
174
|
-
###
|
|
179
|
+
### 10. Auto-Proceed to Finalize
|
|
175
180
|
|
|
176
181
|
#### Menu Handling Logic:
|
|
177
182
|
|
|
@@ -180,34 +185,9 @@ Set `validation_result` with pass/fail status, quality score, and issues list.
|
|
|
180
185
|
#### EXECUTION RULES:
|
|
181
186
|
|
|
182
187
|
- This is an auto-proceed step — validation is advisory
|
|
183
|
-
- Proceed directly to
|
|
188
|
+
- Proceed directly to finalize step after reporting results
|
|
184
189
|
|
|
185
190
|
## CRITICAL STEP COMPLETION NOTE
|
|
186
191
|
|
|
187
|
-
ONLY WHEN validation checks are complete and results reported will you load and read fully `{nextStepFile}` to execute
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
192
|
-
|
|
193
|
-
### ✅ SUCCESS:
|
|
194
|
-
|
|
195
|
-
- `npx skill-check check --fix --format json` executed if available (or manual fallback)
|
|
196
|
-
- Quality score (0-100) captured when skill-check available
|
|
197
|
-
- Auto-fix applied via `--fix` for deterministic issues
|
|
198
|
-
- Security scan executed (or skipped with note)
|
|
199
|
-
- All three outputs validated against requirements
|
|
200
|
-
- Issues reported clearly with specific details
|
|
201
|
-
- Community-tier validation applied (not official-tier strictness)
|
|
202
|
-
- validation_result set with pass/fail, quality score, and issues list
|
|
203
|
-
- Auto-proceeding to write step
|
|
204
|
-
|
|
205
|
-
### ❌ SYSTEM FAILURE:
|
|
206
|
-
|
|
207
|
-
- Modifying compiled content instead of just reporting
|
|
208
|
-
- Blocking output on validation issues (advisory only)
|
|
209
|
-
- Skipping validation checks
|
|
210
|
-
- Not reporting found issues
|
|
211
|
-
- Not recording quality score when skill-check is available
|
|
192
|
+
ONLY WHEN deliverables have been written to `{skill_package}` and validation checks are complete and results reported will you load and read fully `{nextStepFile}` to execute finalization.
|
|
212
193
|
|
|
213
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
nextStepFile: './step-07-health-check.md'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Step 6: Finalize
|
|
6
|
+
|
|
7
|
+
## STEP GOAL:
|
|
8
|
+
|
|
9
|
+
To finalize the skill by creating the active-version pointer, displaying the completion summary, and writing the result contract. Deliverables (SKILL.md, context-snippet.md, metadata.json) were already written in step-05 so that validation could run against files on disk; this step only performs the post-write finalization.
|
|
10
|
+
|
|
11
|
+
## Rules
|
|
12
|
+
|
|
13
|
+
- Do not rewrite deliverables — they were written and validated in step-05
|
|
14
|
+
- Create the active pointer via the shared helper — never `rm` + `ln -s` manually
|
|
15
|
+
- Result contract writing is mandatory (pipeline consumers depend on it)
|
|
16
|
+
|
|
17
|
+
## MANDATORY SEQUENCE
|
|
18
|
+
|
|
19
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
|
20
|
+
|
|
21
|
+
### 1. Create Active Pointer (atomic flip, Windows-safe)
|
|
22
|
+
|
|
23
|
+
`{skill_group}` and `{skill_package}` were computed in step-05 §1 from `{skills_output_folder}`, `{repo_name}`, and `{version}`; `{version}` was resolved from the extraction inventory. Reuse the same values here — do not recompute.
|
|
24
|
+
|
|
25
|
+
Create or update the `active` pointer at `{skill_group}/active` pointing to `{version}` using the shared atomic-flip helper. The helper acquires an `flock` on `{skill_group}/active.skf-lock`, refuses to replace a non-link at `{skill_group}/active` (protecting against accidental `rm -rf` of a real directory), and uses a rename-over-symlink pattern so the update is atomic from a concurrent reader's perspective. On Windows the helper automatically falls back to a directory junction (`mklink /J`) when `os.symlink` fails with `PRIVILEGE_NOT_HELD` / `ACCESS_DENIED` — junctions require no admin elevation and resolve identically for `skf-skill-inventory`'s consumers:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
python3 {project-root}/src/shared/scripts/skf-atomic-write.py flip-link \
|
|
29
|
+
--link {skill_group}/active \
|
|
30
|
+
--target {version}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The helper returns non-zero (exit 2) if `{skill_group}/active` already exists as a real directory or file rather than a link — in that case, halt with: "Refusing to flip `{skill_group}/active` — existing path is not a symlink or junction. Investigate manually; expected a link pointing at a version directory." A common cause on Windows is a prior run that executed `ln -s` under git-bash without Developer Mode enabled, which silently wrote a full directory copy; remove that copy and retry.
|
|
34
|
+
|
|
35
|
+
**Never `rm` + `ln -s` the active pointer manually.** The bare-rm pattern has two failure modes: (1) a concurrent reader sees a missing `active` mid-flip, and (2) a bug or typo that replaces `{skill_group}/active` with a plain directory turns the next manual `rm -rf {skill_group}/active` into data loss. The helper encapsulates both guards and the Windows junction fallback.
|
|
36
|
+
|
|
37
|
+
Confirm: "Active pointer: {skill_group}/active -> {version} ({kind})" where `{kind}` is `symlink` or `junction` as returned by the helper.
|
|
38
|
+
|
|
39
|
+
### 2. Display Completion Summary
|
|
40
|
+
|
|
41
|
+
"**Quick Skill complete.**
|
|
42
|
+
|
|
43
|
+
**Skill:** {repo_name} v{version}
|
|
44
|
+
**Language:** {language}
|
|
45
|
+
**Source:** {resolved_url}
|
|
46
|
+
**Authority:** community
|
|
47
|
+
**Confidence:** {extraction confidence}
|
|
48
|
+
|
|
49
|
+
**Files written:**
|
|
50
|
+
- `{skill_package}/SKILL.md`
|
|
51
|
+
- `{skill_package}/context-snippet.md`
|
|
52
|
+
- `{skill_package}/metadata.json`
|
|
53
|
+
- `{skill_group}/active` -> `{version}`
|
|
54
|
+
|
|
55
|
+
**Exports documented:** {count}
|
|
56
|
+
**Validation:** {pass / N issues (advisory)}
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
**Recommended next steps:**
|
|
61
|
+
|
|
62
|
+
1. **test-skill** (advisory) — Run cognitive completeness verification on the generated skill
|
|
63
|
+
2. **export-skill** — Package and distribute the skill with platform-aware context injection
|
|
64
|
+
|
|
65
|
+
**Note:** This is a best-effort community skill. For deeper analysis with AST-verified exports and provenance tracking, use the full **create-skill** workflow with a skill brief."
|
|
66
|
+
|
|
67
|
+
### 3. Result Contract
|
|
68
|
+
|
|
69
|
+
Write the result contract per `shared/references/output-contract-schema.md`: the per-run record at `{skill_package}/quick-skill-result-{YYYYMMDD-HHmmss}.json` (UTC timestamp, resolution to seconds) and a copy at `{skill_package}/quick-skill-result-latest.json` (stable path for pipeline consumers — copy, not symlink). Include `SKILL.md`, `context-snippet.md`, and `metadata.json` paths in `outputs` and export count in `summary`.
|
|
70
|
+
|
|
71
|
+
### 4. Chain to Health Check
|
|
72
|
+
|
|
73
|
+
ONLY WHEN the active pointer has been created and the completion summary and result contract have been written will you then load, read the full file, and execute `{nextStepFile}`. The health-check step is the true terminal step — do not stop here even though the summary reads as final.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
# `shared/health-check.md` resolves relative to the SKF module root
|
|
3
|
+
# (`_bmad/skf/` when installed, `src/` during development), NOT relative
|
|
4
|
+
# to this step file.
|
|
5
|
+
nextStepFile: 'shared/health-check.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 7: Workflow Health Check
|
|
9
|
+
|
|
10
|
+
## STEP GOAL:
|
|
11
|
+
|
|
12
|
+
Chain to the shared workflow self-improvement health check at `{nextStepFile}`. This is the terminal step of quick-skill — after the shared health check completes, the workflow is fully done.
|
|
13
|
+
|
|
14
|
+
## Rules
|
|
15
|
+
|
|
16
|
+
- No user-facing reports, file writes, or result contracts in this step — those belong in step-06
|
|
17
|
+
- Delegate directly to `{nextStepFile}` with no additional commentary
|
|
18
|
+
- Do not attempt any other action between loading this step and executing `{nextStepFile}`
|
|
19
|
+
|
|
20
|
+
## MANDATORY SEQUENCE
|
|
21
|
+
|
|
22
|
+
Load `{nextStepFile}`, read it fully, then execute it.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skf-refine-architecture
|
|
3
|
+
description: Improve architecture doc using verified skill data and VS feasibility findings. Use when the user requests to "refine skill architecture" or "improve architecture doc."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Refine Architecture
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Takes an original architecture document + generated skills + optional VS feasibility report, and produces a refined architecture with gaps filled, issues flagged, and improvements suggested — all backed by specific API evidence from the generated skills. This workflow enhances the original architecture — it never deletes original content, only adds annotations, subsections, and suggestions.
|
|
11
|
+
|
|
12
|
+
## Role
|
|
13
|
+
|
|
14
|
+
You are an architecture refinement analyst operating in Ferris Architect mode. You bring expertise in API surface analysis, integration gap detection, and evidence-backed architecture improvement, while the user brings their architecture vision and generated skills. Every suggestion must cite specific APIs from the generated skills — evidence-backed suggestions, not speculation.
|
|
15
|
+
|
|
16
|
+
## Workflow Rules
|
|
17
|
+
|
|
18
|
+
These rules apply to every step in this workflow:
|
|
19
|
+
|
|
20
|
+
- Never speculate — every gap, issue, or improvement must cite specific APIs, types, or function signatures from the generated skills
|
|
21
|
+
- Read each step file completely before taking any action
|
|
22
|
+
- Follow the mandatory sequence in each step exactly — do not skip, reorder, or optimize
|
|
23
|
+
- Only load one step file at a time — never preload future steps
|
|
24
|
+
- If any instruction references a subprocess or tool you lack, achieve the outcome in your main context thread
|
|
25
|
+
- Always communicate in `{communication_language}`
|
|
26
|
+
- If `{headless_mode}` is true, auto-proceed through confirmation gates with their default action and log each auto-decision
|
|
27
|
+
|
|
28
|
+
## Stages
|
|
29
|
+
|
|
30
|
+
| # | Step | File | Auto-proceed |
|
|
31
|
+
|---|------|------|--------------|
|
|
32
|
+
| 1 | Initialize & Load Inputs | steps-c/step-01-init.md | No (confirm) |
|
|
33
|
+
| 2 | Gap Analysis | steps-c/step-02-gap-analysis.md | Yes |
|
|
34
|
+
| 3 | Issue Detection | steps-c/step-03-issue-detection.md | Yes |
|
|
35
|
+
| 4 | Improvements | steps-c/step-04-improvements.md | Yes |
|
|
36
|
+
| 5 | Compile Refined Architecture | steps-c/step-05-compile.md | No (review) |
|
|
37
|
+
| 6 | Report | steps-c/step-06-report.md | Yes |
|
|
38
|
+
| 7 | Workflow Health Check | steps-c/step-07-health-check.md | Yes |
|
|
39
|
+
|
|
40
|
+
## Invocation Contract
|
|
41
|
+
|
|
42
|
+
| Aspect | Detail |
|
|
43
|
+
|--------|--------|
|
|
44
|
+
| **Inputs** | architecture_doc_path [required] |
|
|
45
|
+
| **Gates** | step-01: Input Gate [use args] | step-05: Review Gate [C] |
|
|
46
|
+
| **Outputs** | refined-architecture-{project_name}.md |
|
|
47
|
+
| **Headless** | All gates auto-resolve with default action when `{headless_mode}` is true |
|
|
48
|
+
|
|
49
|
+
## On Activation
|
|
50
|
+
|
|
51
|
+
1. Load config from `{project-root}/_bmad/skf/config.yaml` and resolve:
|
|
52
|
+
- `project_name`, `user_name`, `communication_language`, `document_output_language`
|
|
53
|
+
- `skills_output_folder`, `forge_data_folder`, `output_folder`
|
|
54
|
+
|
|
55
|
+
2. **Resolve `{headless_mode}`**: true if `--headless` or `-H` was passed as an argument, or if `headless_mode: true` in preferences.yaml. Default: false.
|
|
56
|
+
|
|
57
|
+
3. Load, read the full file, and then execute `./steps-c/step-01-init.md` to begin the workflow.
|
|
@@ -19,11 +19,11 @@ Gaps are undocumented integration paths — library pairs that have compatible A
|
|
|
19
19
|
|
|
20
20
|
### Gap Classification
|
|
21
21
|
|
|
22
|
-
| Gap Type
|
|
23
|
-
|
|
24
|
-
| **Missing Integration Path** | Two libraries can connect but the architecture never describes how
|
|
25
|
-
| **Undocumented Data Flow**
|
|
26
|
-
| **Absent Bridge Layer**
|
|
22
|
+
| Gap Type | Description | Example |
|
|
23
|
+
|------------------------------|------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
|
24
|
+
| **Missing Integration Path** | Two libraries can connect but the architecture never describes how | Skill A exports JSON producer, Skill B accepts JSON input, no mention of A-to-B flow |
|
|
25
|
+
| **Undocumented Data Flow** | Data moves between libraries but the flow is not described | Architecture mentions both libraries but not their data exchange mechanism |
|
|
26
|
+
| **Absent Bridge Layer** | Cross-language or cross-protocol libraries need a bridge not mentioned | Rust library and TypeScript library with no IPC/FFI description |
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -39,12 +39,12 @@ Issues are contradictions between architecture claims and verified API reality f
|
|
|
39
39
|
|
|
40
40
|
### Issue Classification
|
|
41
41
|
|
|
42
|
-
| Issue Type
|
|
43
|
-
|
|
44
|
-
| **API Mismatch**
|
|
45
|
-
| **Protocol Contradiction**
|
|
46
|
-
| **Language Boundary Ignored** | Architecture assumes direct calls across language boundaries
|
|
47
|
-
| **Type Incompatibility**
|
|
42
|
+
| Issue Type | Description | Example |
|
|
43
|
+
|-------------------------------|----------------------------------------------------------------|------------------------------------------------------------------------------|
|
|
44
|
+
| **API Mismatch** | Architecture describes an API that does not exist in the skill | "Library X exposes a streaming API" but skill shows only batch APIs |
|
|
45
|
+
| **Protocol Contradiction** | Architecture assumes a protocol the library does not support | "Communicates via gRPC" but skill shows HTTP-only exports |
|
|
46
|
+
| **Language Boundary Ignored** | Architecture assumes direct calls across language boundaries | "Calls Rust functions from TypeScript" with no FFI/IPC mechanism described |
|
|
47
|
+
| **Type Incompatibility** | Architecture assumes type compatibility that does not hold | "Passes CRDT documents directly" but types are incompatible across libraries |
|
|
48
48
|
|
|
49
49
|
### VS Report Integration
|
|
50
50
|
|
|
@@ -67,11 +67,11 @@ Improvements are capability expansions — library features documented in skills
|
|
|
67
67
|
|
|
68
68
|
### Improvement Classification
|
|
69
69
|
|
|
70
|
-
| Improvement Type
|
|
71
|
-
|
|
72
|
-
| **Unused Capability**
|
|
73
|
-
| **Cross-Library Synergy** | Two libraries have complementary features not combined in architecture
|
|
74
|
-
| **Alternative Pattern**
|
|
70
|
+
| Improvement Type | Description | Example |
|
|
71
|
+
|---------------------------|-------------------------------------------------------------------------|--------------------------------------------------------------------------------|
|
|
72
|
+
| **Unused Capability** | Library has a feature the architecture does not mention | "Loro supports document CRDTs but architecture only uses data sync" |
|
|
73
|
+
| **Cross-Library Synergy** | Two libraries have complementary features not combined in architecture | "Library A's event system could feed Library B's stream processor" |
|
|
74
|
+
| **Alternative Pattern** | Skill documents a better pattern than the one described in architecture | "Skill shows batch API is more efficient than the per-item approach described" |
|
|
75
75
|
|
|
76
76
|
---
|
|
77
77
|
|
package/src/{workflows/refine-architecture → skf-refine-architecture}/steps-c/step-01-init.md
RENAMED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 'step-01-init'
|
|
3
|
-
description: 'Load architecture doc, scan skills folder, load optional VS report, validate inputs'
|
|
4
|
-
|
|
5
2
|
nextStepFile: './step-02-gap-analysis.md'
|
|
6
|
-
refinementRulesData: '
|
|
3
|
+
refinementRulesData: 'references/refinement-rules.md'
|
|
7
4
|
---
|
|
8
5
|
|
|
9
6
|
# Step 1: Initialize Refinement
|
|
@@ -12,41 +9,10 @@ refinementRulesData: '../data/refinement-rules.md'
|
|
|
12
9
|
|
|
13
10
|
Load the architecture document (required), scan the skills folder to build a skill inventory with metadata, load the optional VS feasibility report for context, validate that all inputs exist and meet minimum requirements, and present an initialization summary before auto-proceeding.
|
|
14
11
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
### Universal Rules:
|
|
18
|
-
|
|
19
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
20
|
-
- ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
|
21
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
22
|
-
|
|
23
|
-
### Role Reinforcement:
|
|
24
|
-
|
|
25
|
-
- ✅ You are an architecture refinement analyst operating in Ferris Architect mode
|
|
26
|
-
- ✅ Execute with analytical precision — every loaded skill must be validated against actual files
|
|
27
|
-
- ✅ You enforce the zero-hallucination principle: only report skills that physically exist on disk
|
|
28
|
-
|
|
29
|
-
### Step-Specific Rules:
|
|
30
|
-
|
|
31
|
-
- 🎯 Focus ONLY on loading inputs, scanning skills, and validating prerequisites
|
|
32
|
-
- 🚫 FORBIDDEN to perform any gap analysis, issue detection, or improvement suggestions
|
|
33
|
-
- 🚫 No A/P menu — this is an auto-proceed init step
|
|
34
|
-
- 💬 Present a clear initialization summary so downstream steps have validated inputs
|
|
35
|
-
|
|
36
|
-
## EXECUTION PROTOCOLS:
|
|
37
|
-
|
|
38
|
-
- Collect and validate all input documents and skill artifacts
|
|
39
|
-
- Load refinement rules from {refinementRulesData} for downstream step reference
|
|
40
|
-
- Auto-proceed to next step after successful initialization
|
|
41
|
-
- HALT with actionable error if minimum requirements not met
|
|
12
|
+
## Rules
|
|
42
13
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
- This is the first step — no prior workflow state exists
|
|
46
|
-
- Requires skills to have been generated by create-skill or quick-skill workflows
|
|
47
|
-
- User provides architecture document path (required) and optional VS report path
|
|
48
|
-
- No dependency on forge-tier — this workflow operates on skill content only
|
|
49
|
-
- Requires `forge_data_folder` from config.yaml for durability state (directory is created automatically if missing)
|
|
14
|
+
- Focus only on loading inputs, scanning skills, and validating prerequisites — do not perform analysis
|
|
15
|
+
- Present a clear initialization summary so downstream steps have validated inputs
|
|
50
16
|
|
|
51
17
|
## MANDATORY SEQUENCE
|
|
52
18
|
|
|
@@ -60,7 +26,7 @@ Please provide the following:
|
|
|
60
26
|
1. **Architecture document path** (REQUIRED) — your project's architecture doc to refine
|
|
61
27
|
2. **VS feasibility report path** (OPTIONAL) — from a previous [VS] Verify Stack run, for additional context"
|
|
62
28
|
|
|
63
|
-
Wait for user input. Store the validated architecture document path as `architecture_doc`.
|
|
29
|
+
Wait for user input. Store the validated architecture document path as `architecture_doc`. **GATE [default: use args]** — If `{headless_mode}` and architecture doc path was provided as argument: use that path and auto-proceed, log: "headless: using provided architecture path".
|
|
64
30
|
|
|
65
31
|
**Validate architecture document:**
|
|
66
32
|
- Confirm the file exists and is readable
|
|
@@ -74,7 +40,7 @@ Wait for user input. Store the validated architecture document path as `architec
|
|
|
74
40
|
|
|
75
41
|
### 2. Scan Skills Folder
|
|
76
42
|
|
|
77
|
-
Read the `{skills_output_folder}` directory. Skills use a version-nested directory structure (see
|
|
43
|
+
Read the `{skills_output_folder}` directory. Skills use a version-nested directory structure (see `knowledge/version-paths.md`).
|
|
78
44
|
|
|
79
45
|
**Version-aware skill discovery:**
|
|
80
46
|
1. Read `{skills_output_folder}/.export-manifest.json` if it exists. For each skill in `exports`, use `active_version` to resolve `{skill_package}` = `{skills_output_folder}/{skill-name}/{active_version}/{skill-name}/`
|
|
@@ -168,26 +134,3 @@ Extract: gap detection rules, issue detection rules, improvement detection rules
|
|
|
168
134
|
|
|
169
135
|
Load, read the full file and then execute `{nextStepFile}`.
|
|
170
136
|
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
174
|
-
|
|
175
|
-
### ✅ SUCCESS:
|
|
176
|
-
|
|
177
|
-
- Architecture document loaded and validated
|
|
178
|
-
- VS report loaded or absence recorded
|
|
179
|
-
- Skills folder scanned with SKILL.md and metadata.json validation per skill
|
|
180
|
-
- At least 1 valid skill in inventory
|
|
181
|
-
- Refinement rules loaded from {refinementRulesData}
|
|
182
|
-
- Initialization summary displayed with skill inventory table
|
|
183
|
-
- Auto-proceeded to step 02
|
|
184
|
-
|
|
185
|
-
### ❌ SYSTEM FAILURE:
|
|
186
|
-
|
|
187
|
-
- Proceeding with no valid skills
|
|
188
|
-
- Proceeding without a valid architecture document
|
|
189
|
-
- Not validating SKILL.md and metadata.json existence per skill directory
|
|
190
|
-
- Performing gap analysis, issue detection, or improvement suggestions in this step
|
|
191
|
-
- Hardcoded paths instead of frontmatter variables
|
|
192
|
-
|
|
193
|
-
**Master Rule:** This step validates inputs and initializes state. No analysis, no comparison, no refinement suggestions.
|