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,254 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-06-validate'
|
|
3
|
-
description: 'Validate compiled skill content against agentskills.io spec via skill-check'
|
|
4
|
-
nextStepFile: './step-07-generate-artifacts.md'
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 6: Validate
|
|
8
|
-
|
|
9
|
-
## STEP GOAL:
|
|
10
|
-
|
|
11
|
-
To validate the compiled SKILL.md content against the agentskills.io specification using skill-check, auto-fix any validation failures, and confirm spec compliance before artifact generation.
|
|
12
|
-
|
|
13
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
14
|
-
|
|
15
|
-
### Universal Rules:
|
|
16
|
-
|
|
17
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
18
|
-
- 🎯 ALWAYS follow the exact instructions in the step file
|
|
19
|
-
- ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
|
20
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
21
|
-
|
|
22
|
-
### Role Reinforcement:
|
|
23
|
-
|
|
24
|
-
- ✅ You are a skill compilation engine performing quality assurance
|
|
25
|
-
- ✅ Validation ensures spec compliance — it does not modify content semantics
|
|
26
|
-
- ✅ Tool unavailability means skip validation, not halt workflow
|
|
27
|
-
|
|
28
|
-
### Step-Specific Rules:
|
|
29
|
-
|
|
30
|
-
- 🎯 Focus ONLY on validating compiled content against spec
|
|
31
|
-
- 🚫 FORBIDDEN to add new content — only fix spec compliance issues
|
|
32
|
-
- 💾 Validation and auto-fix modify files in the staging directory (`_bmad-output/{name}/`)
|
|
33
|
-
- 💬 If auto-fix fails, report issues clearly but proceed (warn, don't halt)
|
|
34
|
-
- ⚙️ If skill-check unavailable: skip validation, add warning to evidence report
|
|
35
|
-
- ⚠️ Ignore non-zero exit codes from `skill-check` if the JSON output shows 0 errors — parse JSON output, not exit codes
|
|
36
|
-
|
|
37
|
-
## EXECUTION PROTOCOLS:
|
|
38
|
-
|
|
39
|
-
- 🎯 Follow MANDATORY SEQUENCE exactly
|
|
40
|
-
- 💾 Validation results are added to evidence-report content in context
|
|
41
|
-
- 📖 Auto-fix pattern: validate → fix → re-validate (once)
|
|
42
|
-
- 🚫 Maximum one auto-fix attempt per validation failure
|
|
43
|
-
- ⏸️ **Conditional interaction:** If tessl returns suggestions (section 6b), halt for user input. Otherwise auto-proceed. This is a conditional gate step, not a pure auto-proceed step.
|
|
44
|
-
|
|
45
|
-
## CONTEXT BOUNDARIES:
|
|
46
|
-
|
|
47
|
-
- Available: All compiled content from step-05 (SKILL.md, metadata.json, etc.)
|
|
48
|
-
- Focus: Spec compliance validation and auto-fix
|
|
49
|
-
- Limits: Do NOT add new content or modify extraction data
|
|
50
|
-
- Dependencies: Compiled content must exist from step-05
|
|
51
|
-
|
|
52
|
-
## MANDATORY SEQUENCE
|
|
53
|
-
|
|
54
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
55
|
-
|
|
56
|
-
### 1. Check Tool Availability
|
|
57
|
-
|
|
58
|
-
Run: `npx skill-check -h`
|
|
59
|
-
|
|
60
|
-
- If succeeds: Continue to automated validation (section 2)
|
|
61
|
-
- If fails: Perform manual fallback (section 3); add note to evidence-report: "Spec validation performed manually — skill-check tool unavailable"
|
|
62
|
-
|
|
63
|
-
**Important:** Do not assume availability — empirical check required.
|
|
64
|
-
|
|
65
|
-
### 2. Validate & Auto-Fix (skill-check check --fix)
|
|
66
|
-
|
|
67
|
-
Run the external skill-check tool against the compiled skill staging directory:
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npx skill-check check <staging-skill-dir> --fix --format json --no-security-scan
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
This performs frontmatter validation, description quality checks, body limit enforcement, local link resolution, file formatting, auto-fix of deterministic issues, and quality scoring (0-100) across five weighted categories.
|
|
74
|
-
|
|
75
|
-
**Parse the JSON output** for: `qualityScore` (0-100), `diagnostics[]` (remaining issues), `fixed[]` (auto-corrected issues).
|
|
76
|
-
|
|
77
|
-
**Context sync after --fix:** If `fixed[]` is non-empty (i.e., `--fix` modified files on disk), re-read the modified SKILL.md to update the in-context copy. Verify the re-read content matches expectations before proceeding. This prevents silent divergence between the in-context SKILL.md and the on-disk version that step-07 will use for artifact generation.
|
|
78
|
-
|
|
79
|
-
**Description preservation after --fix:** After re-reading the modified SKILL.md, compare the frontmatter `description` field against the original step-05 compiled description. If `--fix` replaced the description with a generic or truncated version, restore the original description to the on-disk file and update the in-context copy. The step-05 compiled description is authoritative — auto-fix tools must not replace trigger-optimized descriptions.
|
|
80
|
-
|
|
81
|
-
**Note:** `skill-check` may return non-zero exit code even when `errorCount` is 0. Always rely on parsed JSON, not the shell exit code.
|
|
82
|
-
|
|
83
|
-
- **Score ≥ 70:** Record "Schema: PASS (score: {score}/100)" in evidence-report
|
|
84
|
-
- **Score < 70:** Log remaining diagnostics as warnings, record "Schema: WARN — score {score}/100, {count} remaining issues", proceed
|
|
85
|
-
- **Unfixable errors:** Record specific rule IDs and suggestions, proceed with warnings
|
|
86
|
-
|
|
87
|
-
### 3. Validate Frontmatter (Fallback)
|
|
88
|
-
|
|
89
|
-
**If skill-check was available:** Skip — already validated in step 2.
|
|
90
|
-
|
|
91
|
-
**If skill-check NOT available (fallback):** Perform manual frontmatter compliance check:
|
|
92
|
-
|
|
93
|
-
- [ ] Frontmatter present — file starts with `---` and has closing `---`
|
|
94
|
-
- [ ] `name` field — present, non-empty, lowercase alphanumeric + hyphens only, 1-64 chars
|
|
95
|
-
- [ ] `name` matches skill output directory name
|
|
96
|
-
- [ ] `description` field — present, non-empty, 1-1024 characters
|
|
97
|
-
- [ ] No unknown fields — only `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` permitted
|
|
98
|
-
- [ ] `version` and `author` are NOT in frontmatter (they belong in metadata.json)
|
|
99
|
-
|
|
100
|
-
If fails: auto-fix (deterministic), re-validate once, record result. If passes: record "Frontmatter: PASS".
|
|
101
|
-
|
|
102
|
-
### 4. Split Oversized Body (if needed)
|
|
103
|
-
|
|
104
|
-
**If step 2 reported `body.max_lines` failure:**
|
|
105
|
-
|
|
106
|
-
**Description preservation:** Before any split operation, capture the current SKILL.md frontmatter `description` field. After the split completes, verify the `description` was not modified. If it was replaced with a generic placeholder, restore the original immediately.
|
|
107
|
-
|
|
108
|
-
**Mandatory approach — selective split:** Identify Tier 2 sections by their `## Full` heading prefix (e.g., `## Full API Reference`, `## Full Type Definitions`, `## Full Integration Patterns`). Extract ONLY those sections to `references/`, starting with the largest. Keep ALL Tier 1 content and any smaller sections inline. Inline passive context achieves 100% task accuracy vs 79% for on-demand retrieval (per Vercel research).
|
|
109
|
-
|
|
110
|
-
**FORBIDDEN:** Running `npx skill-check split-body --write` without prior selective extraction. The `split-body --write` command extracts ALL `##` sections top-to-bottom, destroying Tier 1 inline content that the two-tier design depends on. This command is a LAST RESORT only after selective split has been attempted and proven insufficient.
|
|
111
|
-
|
|
112
|
-
**If selective split alone does not bring body under the limit** (rare — typically only occurs when Tier 1 itself exceeds 300 lines): reduce Tier 1 Key API Summary and Architecture at a Glance sections to fit within limits. Do NOT fall back to automated `split-body --write` to solve a Tier 1 sizing problem.
|
|
113
|
-
|
|
114
|
-
**Tier 1 preservation check:** After ANY split operation, verify that ALL of the following sections remain inline in SKILL.md (not moved to references/): Overview, Quick Start, Common Workflows, Key API Summary, Migration & Deprecation Warnings (if present), Key Types, Architecture at a Glance, CLI (if present), Scripts & Assets (if present), Manual Sections. If any Tier 1 section was moved to references/, restore it immediately and re-split targeting only Tier 2 sections.
|
|
115
|
-
|
|
116
|
-
**Anchor validation and remediation:** After any split, verify that context-snippet section anchors (`#quick-start`, `#key-types`) still resolve to headings in SKILL.md. If an anchor no longer resolves (section was split out), restore that section to SKILL.md inline content — the context-snippet must always reference sections that exist in the main file.
|
|
117
|
-
|
|
118
|
-
Then re-validate: `npx skill-check check <staging-skill-dir> --format json --no-security-scan`
|
|
119
|
-
|
|
120
|
-
**If skill-check unavailable or no body size issue:** Skip.
|
|
121
|
-
|
|
122
|
-
### 5. Security Scan
|
|
123
|
-
|
|
124
|
-
**If skill-check available:**
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
npx skill-check check <staging-skill-dir> --format json
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
(Security scan enabled by default when `--no-security-scan` omitted. The scan uses [Snyk Agent Scan](https://github.com/snyk/agent-scan) to check for prompt injection risks, sensitive data exposure, and unsafe tool permissions.)
|
|
131
|
-
|
|
132
|
-
Record any security warnings in evidence-report. Security findings are advisory — they do not block artifact generation. If the full validation re-run produces a different quality score than section 2, update the evidence-report with the newer score.
|
|
133
|
-
|
|
134
|
-
**If security scan fails due to missing SNYK_TOKEN:**
|
|
135
|
-
|
|
136
|
-
Display: "Security scan requires a Snyk Enterprise API token ([docs](https://docs.snyk.io/snyk-api/authentication-for-api)). Set `SNYK_TOKEN=your-token` in environment or `.env`, then re-run [SF] Setup Forge. Without Enterprise, use `--no-security-scan` to skip. Security scanning is optional and does not block skill compilation."
|
|
137
|
-
|
|
138
|
-
Record: "Security scan skipped — SNYK_TOKEN not configured"
|
|
139
|
-
|
|
140
|
-
**If skill-check unavailable:** Skip with note: "Security scan skipped — skill-check tool unavailable"
|
|
141
|
-
|
|
142
|
-
### 6. Content Quality Review (tessl)
|
|
143
|
-
|
|
144
|
-
**If tessl available**, run: `npx -y tessl skill review <staging-skill-dir>`
|
|
145
|
-
|
|
146
|
-
Parse output for: `description_score`, `content_score`, `average_score`, `validation_result`, `judge_suggestions[]`.
|
|
147
|
-
|
|
148
|
-
- **Content score < 70%:** Record warning: "Content quality warning: tessl scored content at {score}%."
|
|
149
|
-
- **Unavailable:** Skip with note: "Content quality review skipped — tessl tool unavailable"
|
|
150
|
-
|
|
151
|
-
> **EXPECTED BEHAVIOR — Two-Tier Scoring:** The Skill Forge two-tier design (Tier 1 Key API Summary + Tier 2 Full API Reference) intentionally includes progressive disclosure. tessl's `conciseness` scorer will flag this as redundancy (typically scoring 2/3), which is **expected behavior — not a defect**. tessl may also suggest removing `[MANUAL]` markers, moving Full API Reference to a separate file, or consolidating duplicate parameter documentation — **all three suggestions conflict with SKF design principles and must be dismissed.** Acceptable threshold: content scores >= 60% are normal for two-tier skills. Do NOT consolidate Tier 1 and Tier 2 content to improve the score — the two-tier structure is a deliberate design choice for standalone usability.
|
|
152
|
-
|
|
153
|
-
tessl installs automatically via `npx`. A missing tool is not an error — graceful skip.
|
|
154
|
-
|
|
155
|
-
#### 6b. User Decision Gate (conditional)
|
|
156
|
-
|
|
157
|
-
**If tessl returned no suggestions OR tessl was unavailable:** Skip this gate — auto-proceed.
|
|
158
|
-
|
|
159
|
-
**If tessl returned suggestions**, present them to the user:
|
|
160
|
-
|
|
161
|
-
"**Content quality review: {score}%**
|
|
162
|
-
|
|
163
|
-
tessl suggestions:
|
|
164
|
-
{numbered list of judge_suggestions}
|
|
165
|
-
|
|
166
|
-
**Select an option:**
|
|
167
|
-
- **[S] Skip** — proceed with current content as-is (default)
|
|
168
|
-
- **[A] Apply structural fixes** — apply only structural suggestions (split sections, consolidate duplicates). No new content generated.
|
|
169
|
-
- **[R] Review all** — show each suggestion with proposed changes before applying"
|
|
170
|
-
|
|
171
|
-
#### Gate Rules:
|
|
172
|
-
|
|
173
|
-
- **Structural suggestions** (split reference section, consolidate duplicates, reorder sections) can be applied without zero-hallucination risk — they restructure existing content
|
|
174
|
-
- **Semantic suggestions** (add examples, add error handling, add validation checkpoints) introduce content not verified from source code. If the user chooses to apply these:
|
|
175
|
-
- Warn: "This adds content not verified from source code."
|
|
176
|
-
- Mark applied content with `<!-- [TESSL:auto-fix] -->` markers
|
|
177
|
-
- Cite as `[TESSL:suggestion]` in the provenance map with `confidence: "TESSL"` (below T3)
|
|
178
|
-
- Record in evidence report: "TESSL-suggested content applied: {count} items (unverified)"
|
|
179
|
-
- **If user selects [S]:** Record "tessl suggestions: skipped by user" in evidence report. Proceed to section 7.
|
|
180
|
-
- **If user selects [A]:** Apply structural fixes only, re-run tessl to capture updated score, record results. Proceed to section 7.
|
|
181
|
-
- **If user selects [R]:** Show each suggestion with the proposed change. For each, user confirms or skips. Apply confirmed changes, record results. Proceed to section 7.
|
|
182
|
-
|
|
183
|
-
### 7. Validate metadata.json
|
|
184
|
-
|
|
185
|
-
Cross-check metadata.json against extraction inventory:
|
|
186
|
-
- `stats.exports_documented` / `stats.exports_public_api` / `stats.exports_internal` / `stats.exports_total` are accurate
|
|
187
|
-
- `stats.public_api_coverage` and `stats.total_coverage` are correctly computed (null when denominator is 0)
|
|
188
|
-
- `confidence_distribution.t1`, `confidence_distribution.t1_low`, `confidence_distribution.t2`, `confidence_distribution.t3` match actual counts
|
|
189
|
-
- `spec_version` is "1.3"
|
|
190
|
-
- If `scripts[]` or `assets[]` arrays present: verify `stats.scripts_count`/`stats.assets_count` match array lengths; verify `file_entries` count in provenance-map.json matches
|
|
191
|
-
|
|
192
|
-
Auto-fix any discrepancies (these are computed values).
|
|
193
|
-
|
|
194
|
-
### 8. Update Evidence Report
|
|
195
|
-
|
|
196
|
-
Add validation results to evidence-report content in context:
|
|
197
|
-
|
|
198
|
-
```markdown
|
|
199
|
-
## Validation Results
|
|
200
|
-
- Schema: {pass/fail} (quality score: {score}/100)
|
|
201
|
-
- Frontmatter: {pass/fail}
|
|
202
|
-
- Body: {pass/fail} {split-body applied if applicable}
|
|
203
|
-
- Security: {pass/warn/skipped}
|
|
204
|
-
- Content Quality (tessl): {pass/warn/skipped} (score: {score}%)
|
|
205
|
-
- Metadata: {pass/fail}
|
|
206
|
-
|
|
207
|
-
## Quality Score Breakdown
|
|
208
|
-
- Frontmatter (30%): {score} | Description (30%): {score} | Body (20%): {score} | Links (10%): {score} | File (10%): {score}
|
|
209
|
-
|
|
210
|
-
## Auto-Fixed Issues
|
|
211
|
-
- {list of issues automatically corrected by --fix}
|
|
212
|
-
|
|
213
|
-
## Remaining Warnings / Security Findings / Content Quality (tessl)
|
|
214
|
-
- {warnings, security results, tessl scores and suggestions — or "skipped"}
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### 9. Menu Handling Logic
|
|
218
|
-
|
|
219
|
-
**Conditional interaction step.** If tessl produced suggestions, section 6b halts for user input. Otherwise, auto-proceed.
|
|
220
|
-
|
|
221
|
-
After validation completes (including any user decisions from section 6b), immediately load, read entire file, then execute `{nextStepFile}`.
|
|
222
|
-
|
|
223
|
-
- Tool unavailability is a skip, not a halt
|
|
224
|
-
- Validation failures are warnings — proceed to artifact generation
|
|
225
|
-
- tessl gate only triggers when suggestions exist — no gate for clean reviews or unavailable tools
|
|
226
|
-
|
|
227
|
-
## CRITICAL STEP COMPLETION NOTE
|
|
228
|
-
|
|
229
|
-
ONLY WHEN validation is complete (or skipped) and evidence-report content is updated will you proceed to load `{nextStepFile}` for artifact generation.
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
234
|
-
|
|
235
|
-
### ✅ SUCCESS:
|
|
236
|
-
|
|
237
|
-
- `npx skill-check check --fix --format json` executed (or skipped with warning if unavailable)
|
|
238
|
-
- Quality score captured and recorded; auto-fix applied for deterministic issues
|
|
239
|
-
- Split-body applied if `body.max_lines` failed; security scan executed (or skipped with warning)
|
|
240
|
-
- `npx -y tessl skill review` executed (or skipped); content quality warning raised if score < 70%
|
|
241
|
-
- tessl suggestions presented to user when available; user decision recorded
|
|
242
|
-
- TESSL-applied content marked with `<!-- [TESSL:auto-fix] -->` and cited as `[TESSL:suggestion]`
|
|
243
|
-
- Metadata cross-check performed; evidence report updated with structured results
|
|
244
|
-
- Proceeded to step-07 (auto or after user gate)
|
|
245
|
-
|
|
246
|
-
### ❌ SYSTEM FAILURE:
|
|
247
|
-
|
|
248
|
-
- Halting on validation failure or skill-check unavailability (should warn and proceed)
|
|
249
|
-
- Adding new content during validation without user approval via the tessl gate
|
|
250
|
-
- Applying semantic tessl suggestions without warning the user about unverified content
|
|
251
|
-
- Not recording quality score; skipping security scan without recording the skip
|
|
252
|
-
- Attempting more than one auto-fix cycle per failure
|
|
253
|
-
|
|
254
|
-
**Master Rule:** Validation informs, it does not block. Record results, fix what's deterministic, scan for security issues, warn about the rest, and proceed.
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-08-report'
|
|
3
|
-
description: 'Display compilation summary with confidence tiers, suggest next steps'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Step 8: Report
|
|
7
|
-
|
|
8
|
-
## STEP GOAL:
|
|
9
|
-
|
|
10
|
-
To display the final compilation summary — skill name, version, source, export count, confidence distribution, tier used, file list, and any warnings — and suggest next steps for the user.
|
|
11
|
-
|
|
12
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
13
|
-
|
|
14
|
-
### Universal Rules:
|
|
15
|
-
|
|
16
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
17
|
-
- 🎯 ALWAYS follow the exact instructions in the step file
|
|
18
|
-
- ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
|
19
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
20
|
-
|
|
21
|
-
### Role Reinforcement:
|
|
22
|
-
|
|
23
|
-
- ✅ You are a skill compilation engine delivering the final report
|
|
24
|
-
- ✅ This is the completion step — celebrate the forged skill
|
|
25
|
-
- ✅ Positive capability framing — describe what was achieved
|
|
26
|
-
|
|
27
|
-
### Step-Specific Rules:
|
|
28
|
-
|
|
29
|
-
- 🎯 Focus ONLY on reporting compilation results
|
|
30
|
-
- 🚫 FORBIDDEN to modify any files — reporting only
|
|
31
|
-
- 🚫 FORBIDDEN to re-run extraction or compilation
|
|
32
|
-
- 💬 Deliver structured report with confidence breakdown
|
|
33
|
-
|
|
34
|
-
## EXECUTION PROTOCOLS:
|
|
35
|
-
|
|
36
|
-
- 🎯 Follow MANDATORY SEQUENCE exactly
|
|
37
|
-
- 💾 No file operations — display only
|
|
38
|
-
- 📖 This is the final step — no next step to load
|
|
39
|
-
- 🚫 Do not modify any output files
|
|
40
|
-
|
|
41
|
-
## CONTEXT BOUNDARIES:
|
|
42
|
-
|
|
43
|
-
- Available: All data from previous steps — brief, extraction, enrichment, compilation, validation, artifacts
|
|
44
|
-
- Focus: Summarizing and reporting
|
|
45
|
-
- Limits: Do NOT modify files or re-run any previous step
|
|
46
|
-
- Dependencies: All artifacts must have been generated in step-07
|
|
47
|
-
|
|
48
|
-
## MANDATORY SEQUENCE
|
|
49
|
-
|
|
50
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
51
|
-
|
|
52
|
-
### 1. Display Forge Completion Banner
|
|
53
|
-
|
|
54
|
-
"**Skill forged: {name} v{version} — {export_count} functions, {primary_confidence} confidence.**"
|
|
55
|
-
|
|
56
|
-
Where `{primary_confidence}` is the predominant confidence tier (T1 if Forge/Deep, T1-low if Quick).
|
|
57
|
-
|
|
58
|
-
### 2. Display Compilation Summary
|
|
59
|
-
|
|
60
|
-
"**Compilation Summary**
|
|
61
|
-
|
|
62
|
-
| Field | Value |
|
|
63
|
-
|-------|-------|
|
|
64
|
-
| **Skill** | {name} v{version} |
|
|
65
|
-
| **Source** | {source_repo} @ {branch} ({commit_short}) |
|
|
66
|
-
| **Language** | {language} |
|
|
67
|
-
| **Forge Tier** | {tier} — {tier_description} |
|
|
68
|
-
| **Files Scanned** | {file_count} |
|
|
69
|
-
| **Exports Documented** | {documented_count} public API ({public_api_coverage}%) / {total_count} total ({total_coverage}%) |
|
|
70
|
-
|
|
71
|
-
**Confidence Distribution:**
|
|
72
|
-
| Tier | Count | Description |
|
|
73
|
-
|------|-------|-------------|
|
|
74
|
-
| T1 (AST) | {t1_count} | Structurally verified via ast-grep |
|
|
75
|
-
| T1-low (Source) | {t1_low_count} | Inferred from source reading |
|
|
76
|
-
| T2 (QMD) | {t2_count} | QMD-enriched semantic context |
|
|
77
|
-
| T3 (External) | {t3_count} | Sourced from external documentation URLs |
|
|
78
|
-
|
|
79
|
-
**Output Files:**
|
|
80
|
-
- `{skill_package}/SKILL.md` — Active skill with trigger-based usage
|
|
81
|
-
- `{skill_package}/context-snippet.md` — Passive context snippet (used by export-skill)
|
|
82
|
-
- `{skill_package}/metadata.json` — Machine-readable birth certificate
|
|
83
|
-
- `{skill_package}/references/` — Progressive disclosure ({ref_count} files)
|
|
84
|
-
- `{forge_version}/provenance-map.json` — Source map with AST bindings
|
|
85
|
-
- `{forge_version}/evidence-report.md` — Build audit trail
|
|
86
|
-
- `{forge_version}/extraction-rules.yaml` — Reproducible extraction schema
|
|
87
|
-
- `{skill_group}/active` -> `{version}` — Symlink to current version"
|
|
88
|
-
|
|
89
|
-
### 3. Display Warnings (If Any)
|
|
90
|
-
|
|
91
|
-
If there were warnings from extraction, validation, or enrichment, display them:
|
|
92
|
-
|
|
93
|
-
"**Warnings:**
|
|
94
|
-
- {warning_1}
|
|
95
|
-
- {warning_2}
|
|
96
|
-
- ..."
|
|
97
|
-
|
|
98
|
-
If no warnings, omit this section entirely.
|
|
99
|
-
|
|
100
|
-
### 4. Suggest Next Steps
|
|
101
|
-
|
|
102
|
-
"**Recommended next steps:**
|
|
103
|
-
- **[TS] Test Skill** — verify completeness and accuracy before export
|
|
104
|
-
- **[EX] Export Skill** — publish to your skill library or agentskills.io
|
|
105
|
-
- **[US] Update Skill** — edit specific sections or add manual content
|
|
106
|
-
|
|
107
|
-
To use this skill immediately, add the context snippet to your CLAUDE.md:
|
|
108
|
-
```
|
|
109
|
-
{context_snippet_content}
|
|
110
|
-
```"
|
|
111
|
-
|
|
112
|
-
### 5. Batch Mode Status (If Applicable)
|
|
113
|
-
|
|
114
|
-
**If running in --batch mode:**
|
|
115
|
-
|
|
116
|
-
"**Batch progress:** {completed_count} of {total_count} skills compiled.
|
|
117
|
-
|
|
118
|
-
{If more remaining:} Proceeding to next brief: {next_skill_name}..."
|
|
119
|
-
|
|
120
|
-
Update the batch checkpoint in `{sidecar_path}/batch-state.yaml` with:
|
|
121
|
-
|
|
122
|
-
```yaml
|
|
123
|
-
batch_active: true
|
|
124
|
-
brief_list: [{full list of brief paths}]
|
|
125
|
-
current_index: {index of next brief to process, 0-based}
|
|
126
|
-
completed: [{list of completed skill names}]
|
|
127
|
-
last_updated: {ISO timestamp}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Then loop back to step-01 for the next brief. Step-01 detects an active batch via `batch-state.yaml` and loads the brief at `current_index`.
|
|
131
|
-
|
|
132
|
-
**If all batch briefs complete:**
|
|
133
|
-
|
|
134
|
-
Set `batch_active: false` in `{sidecar_path}/batch-state.yaml` to prevent stale state. Display: "Batch complete. {completed_count} skills compiled."
|
|
135
|
-
|
|
136
|
-
**If not batch mode:**
|
|
137
|
-
|
|
138
|
-
End workflow. No further steps.
|
|
139
|
-
|
|
140
|
-
### 6. Workflow Complete
|
|
141
|
-
|
|
142
|
-
This is the final step. No `{nextStepFile}` to load.
|
|
143
|
-
|
|
144
|
-
Display: "Forge session complete. Return to Ferris menu for further actions."
|
|
145
|
-
|
|
146
|
-
## CRITICAL STEP COMPLETION NOTE
|
|
147
|
-
|
|
148
|
-
This is the FINAL STEP of the create-skill workflow. After displaying the compilation report and next steps, the workflow is complete. No further steps are loaded.
|
|
149
|
-
|
|
150
|
-
For batch mode: loop back to step-01 for remaining briefs via sidecar checkpoint.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
155
|
-
|
|
156
|
-
### ✅ SUCCESS:
|
|
157
|
-
|
|
158
|
-
- Forge completion banner displayed with skill name, version, export count
|
|
159
|
-
- Full compilation summary with confidence distribution
|
|
160
|
-
- All output file paths listed
|
|
161
|
-
- Warnings displayed (if any)
|
|
162
|
-
- Next steps suggested (test-skill, export-skill, update-skill)
|
|
163
|
-
- Context snippet provided for immediate use
|
|
164
|
-
- Batch progress updated (if applicable)
|
|
165
|
-
- Workflow ended gracefully
|
|
166
|
-
|
|
167
|
-
### ❌ SYSTEM FAILURE:
|
|
168
|
-
|
|
169
|
-
- Not displaying the forge completion banner
|
|
170
|
-
- Missing confidence distribution in summary
|
|
171
|
-
- Modifying any files during the report step
|
|
172
|
-
- Not listing all output file paths
|
|
173
|
-
- Not suggesting next steps
|
|
174
|
-
- Not ending the workflow (attempting to load nonexistent next step)
|
|
175
|
-
|
|
176
|
-
**Master Rule:** This step reports and celebrates. It does not modify, re-extract, or re-compile. The skill is forged.
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: create-skill
|
|
3
|
-
description: Compile a skill from a brief. Supports --batch for multiple briefs.
|
|
4
|
-
web_bundle: true
|
|
5
|
-
installed_path: '{project-root}/_bmad/skf/workflows/skillforge/create-skill'
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Create Skill
|
|
9
|
-
|
|
10
|
-
**Goal:** Compile a verified agent skill from a skill-brief.yaml and source code, producing an agentskills.io-compliant SKILL.md with provenance map, evidence report, and progressive disclosure references.
|
|
11
|
-
|
|
12
|
-
**Your Role:** You are operating in **Ferris Architect mode** — a skill compilation engine performing structural extraction and assembly. This workflow is mostly autonomous with three interaction points — one after ecosystem check (if a match is found), one after source extraction (to confirm findings before compilation), and one after content quality review (when tessl produces suggestions). All other steps auto-proceed. Apply zero hallucination tolerance: every instruction in the output must trace to source code with a confidence tier citation.
|
|
13
|
-
|
|
14
|
-
## WORKFLOW ARCHITECTURE
|
|
15
|
-
|
|
16
|
-
### Core Principles
|
|
17
|
-
|
|
18
|
-
- **Micro-file Design**: Each step of the overall goal is a self contained instruction file that you will adhere to 1 file as directed at a time
|
|
19
|
-
- **Just-In-Time Loading**: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
|
|
20
|
-
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
21
|
-
- **Tier-Aware Execution**: Steps adapt behavior based on forge tier (Quick/Forge/Forge+/Deep) loaded from sidecar at init
|
|
22
|
-
- **Zero Hallucination**: Every claim requires a provenance citation — uncitable content is excluded, not guessed
|
|
23
|
-
|
|
24
|
-
### Step Processing Rules
|
|
25
|
-
|
|
26
|
-
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
27
|
-
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
28
|
-
3. **WAIT FOR INPUT**: At confirmation gates (steps 02 and 03), halt and wait for user selection
|
|
29
|
-
4. **AUTO-PROCEED**: All other steps proceed to the next automatically after completion
|
|
30
|
-
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
|
31
|
-
|
|
32
|
-
### Critical Rules (NO EXCEPTIONS)
|
|
33
|
-
|
|
34
|
-
- 🛑 **NEVER** load multiple step files simultaneously
|
|
35
|
-
- 📖 **ALWAYS** read entire step file before execution
|
|
36
|
-
- 🚫 **NEVER** skip steps or optimize the sequence
|
|
37
|
-
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
|
38
|
-
- 📋 **NEVER** create mental todo lists from future steps
|
|
39
|
-
- ⚒️ **NEVER** include content in SKILL.md that cannot be cited to source code
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## INITIALIZATION SEQUENCE
|
|
44
|
-
|
|
45
|
-
### 1. Module Configuration Loading
|
|
46
|
-
|
|
47
|
-
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
48
|
-
|
|
49
|
-
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `sidecar_path`, `skills_output_folder`, `forge_data_folder`
|
|
50
|
-
|
|
51
|
-
### 2. First Step Execution
|
|
52
|
-
|
|
53
|
-
Load, read the full file and then execute ./steps-c/step-01-load-brief.md to begin the workflow.
|