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,179 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-06-write'
|
|
3
|
-
description: 'Write output files to skills folder and display completion summary'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Step 6: Write Output
|
|
7
|
-
|
|
8
|
-
## STEP GOAL:
|
|
9
|
-
|
|
10
|
-
To write the compiled SKILL.md, context-snippet.md, and metadata.json to the skills output folder and display a completion summary with next step recommendations.
|
|
11
|
-
|
|
12
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
13
|
-
|
|
14
|
-
### Universal Rules:
|
|
15
|
-
|
|
16
|
-
- 🛑 NEVER generate content without user input
|
|
17
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
18
|
-
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
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 rapid skill compiler delivering the final output
|
|
24
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
25
|
-
- ✅ Precision file writing — correct paths, correct content
|
|
26
|
-
- ✅ This is the final step — deliver cleanly and recommend next actions
|
|
27
|
-
|
|
28
|
-
### Step-Specific Rules:
|
|
29
|
-
|
|
30
|
-
- 🎯 Focus only on writing files and displaying summary
|
|
31
|
-
- 🚫 FORBIDDEN to modify content — write exactly what was compiled
|
|
32
|
-
- 💬 Approach: Create directory, write files, confirm, summarize
|
|
33
|
-
- 📋 If write fails, hard halt with error details
|
|
34
|
-
|
|
35
|
-
## EXECUTION PROTOCOLS:
|
|
36
|
-
|
|
37
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
38
|
-
- 💾 Write three files to `{skill_package}` and create the `active` symlink
|
|
39
|
-
- 📖 File I/O required for directory creation and file writing
|
|
40
|
-
- 🚫 This is the final step — no next step to load
|
|
41
|
-
|
|
42
|
-
## CONTEXT BOUNDARIES:
|
|
43
|
-
|
|
44
|
-
- Previous steps provided: skill_content, context_snippet, metadata_json, validation_result
|
|
45
|
-
- Also available: resolved_url, repo_name, language, skills_output_folder
|
|
46
|
-
- Focus: file writing and completion only
|
|
47
|
-
- This is the FINAL step — workflow ends here
|
|
48
|
-
- Path resolution: See `knowledge/version-paths.md` for canonical path templates. Quick-skill uses `{repo_name}` as the skill name and defaults `{version}` to `1.0.0` if not detected from the extraction inventory
|
|
49
|
-
|
|
50
|
-
## MANDATORY SEQUENCE
|
|
51
|
-
|
|
52
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
|
53
|
-
|
|
54
|
-
### 1. Create Output Directory
|
|
55
|
-
|
|
56
|
-
Resolve `{version}` from the extraction inventory's detected version, defaulting to `1.0.0` if not detected. Create the skill output directories:
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
{skill_group} # {skills_output_folder}/{repo_name}/
|
|
60
|
-
{skill_package} # {skills_output_folder}/{repo_name}/{version}/{repo_name}/
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
If `{skill_package}` already exists, confirm with user before overwriting:
|
|
64
|
-
|
|
65
|
-
"**Directory `{skill_package}` already exists.** Overwrite existing files? [Y/N]"
|
|
66
|
-
|
|
67
|
-
- **If user selects Y:** Proceed to section 2.
|
|
68
|
-
- **If user selects N:** Halt with: "Overwrite cancelled. Existing skill preserved. Run [QS] with a different skill name or remove the existing directory manually."
|
|
69
|
-
|
|
70
|
-
### 2. Write SKILL.md
|
|
71
|
-
|
|
72
|
-
Write the compiled SKILL.md content to:
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
{skill_package}/SKILL.md
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Confirm: "Written: SKILL.md"
|
|
79
|
-
|
|
80
|
-
### 3. Write context-snippet.md
|
|
81
|
-
|
|
82
|
-
Write the context snippet to:
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
{skill_package}/context-snippet.md
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Confirm: "Written: context-snippet.md"
|
|
89
|
-
|
|
90
|
-
### 4. Write metadata.json
|
|
91
|
-
|
|
92
|
-
Write the metadata JSON to:
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
{skill_package}/metadata.json
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Confirm: "Written: metadata.json"
|
|
99
|
-
|
|
100
|
-
### 4b. Create Active Symlink
|
|
101
|
-
|
|
102
|
-
Create or update the `active` symlink at `{skill_group}/active` pointing to `{version}`:
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
{skill_group}/active -> {version}
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
If the symlink already exists, remove it first and recreate.
|
|
109
|
-
|
|
110
|
-
Confirm: "Symlink: {skill_group}/active -> {version}"
|
|
111
|
-
|
|
112
|
-
### 5. Handle Write Failures
|
|
113
|
-
|
|
114
|
-
**If any file write fails — HARD HALT:**
|
|
115
|
-
|
|
116
|
-
"**Write failed:** Could not write to `{file_path}`.
|
|
117
|
-
|
|
118
|
-
Error: {error details}
|
|
119
|
-
|
|
120
|
-
Please check:
|
|
121
|
-
- Does the output directory exist and is it writable?
|
|
122
|
-
- Is there sufficient disk space?
|
|
123
|
-
- Are there permission issues?"
|
|
124
|
-
|
|
125
|
-
### 6. Display Completion Summary
|
|
126
|
-
|
|
127
|
-
"**Quick Skill complete.**
|
|
128
|
-
|
|
129
|
-
**Skill:** {repo_name} v{version}
|
|
130
|
-
**Language:** {language}
|
|
131
|
-
**Source:** {resolved_url}
|
|
132
|
-
**Authority:** community
|
|
133
|
-
**Confidence:** {extraction confidence}
|
|
134
|
-
|
|
135
|
-
**Files written:**
|
|
136
|
-
- `{skill_package}/SKILL.md`
|
|
137
|
-
- `{skill_package}/context-snippet.md`
|
|
138
|
-
- `{skill_package}/metadata.json`
|
|
139
|
-
- `{skill_group}/active` -> `{version}`
|
|
140
|
-
|
|
141
|
-
**Exports documented:** {count}
|
|
142
|
-
**Validation:** {pass / N issues (advisory)}
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
**Recommended next steps:**
|
|
147
|
-
|
|
148
|
-
1. **test-skill** (advisory) — Run cognitive completeness verification on the generated skill
|
|
149
|
-
2. **export-skill** — Package and distribute the skill with platform-aware context injection
|
|
150
|
-
|
|
151
|
-
**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."
|
|
152
|
-
|
|
153
|
-
### 7. End Workflow
|
|
154
|
-
|
|
155
|
-
This is the final step. The workflow is complete.
|
|
156
|
-
|
|
157
|
-
No next step to load. Session ends here.
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
162
|
-
|
|
163
|
-
### ✅ SUCCESS:
|
|
164
|
-
|
|
165
|
-
- Output directory created (or overwrite confirmed) with version-nested structure
|
|
166
|
-
- All three files written successfully to {skill_package}
|
|
167
|
-
- Active symlink created at {skill_group}/active -> {version}
|
|
168
|
-
- Completion summary displayed with file paths
|
|
169
|
-
- Next step recommendations provided
|
|
170
|
-
- Workflow ends cleanly
|
|
171
|
-
|
|
172
|
-
### ❌ SYSTEM FAILURE:
|
|
173
|
-
|
|
174
|
-
- Modifying content during write (write exactly what was compiled)
|
|
175
|
-
- Not handling write failures with hard halt
|
|
176
|
-
- Not displaying completion summary
|
|
177
|
-
- Attempting to load a next step (this is final)
|
|
178
|
-
|
|
179
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: quick-skill
|
|
3
|
-
description: Brief-less fast skill with package-to-repo resolution
|
|
4
|
-
web_bundle: true
|
|
5
|
-
installed_path: '{project-root}/_bmad/skf/workflows/skillforge/quick-skill'
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Quick Skill
|
|
9
|
-
|
|
10
|
-
**Goal:** The fastest path to a skill — accept a GitHub URL or package name, resolve to source, extract public API surface, and produce a best-effort SKILL.md with context snippet and metadata. No brief needed.
|
|
11
|
-
|
|
12
|
-
> **Note:** Quick Skill is tier-unaware by design. It does not load forge-tier.yaml or check preferences.yaml for tier_override. All output is produced at community-tier quality regardless of available tools.
|
|
13
|
-
|
|
14
|
-
**Your Role:** In addition to your name, communication_style, and persona, you are also a rapid skill compiler collaborating with a developer. This is a partnership, not a client-vendor relationship. You bring source analysis and skill document assembly expertise, while the user brings the target package or repository they want to create a skill for. Work together efficiently — speed is the priority.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## WORKFLOW ARCHITECTURE
|
|
19
|
-
|
|
20
|
-
### Core Principles
|
|
21
|
-
|
|
22
|
-
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
|
|
23
|
-
- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
|
|
24
|
-
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
25
|
-
- **Append-Only Building**: Build output files progressively as directed by each step
|
|
26
|
-
|
|
27
|
-
### Step Processing Rules
|
|
28
|
-
|
|
29
|
-
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
30
|
-
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
31
|
-
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
32
|
-
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
33
|
-
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
|
34
|
-
|
|
35
|
-
### Critical Rules (NO EXCEPTIONS)
|
|
36
|
-
|
|
37
|
-
- 🛑 **NEVER** load multiple step files simultaneously
|
|
38
|
-
- 📖 **ALWAYS** read entire step file before execution
|
|
39
|
-
- 🚫 **NEVER** skip steps or optimize the sequence
|
|
40
|
-
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
|
41
|
-
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
|
42
|
-
- 📋 **NEVER** create mental todo lists from future steps
|
|
43
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## INITIALIZATION SEQUENCE
|
|
48
|
-
|
|
49
|
-
### 1. Module Configuration Loading
|
|
50
|
-
|
|
51
|
-
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
52
|
-
|
|
53
|
-
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
|
54
|
-
- `skills_output_folder`, `forge_data_folder`
|
|
55
|
-
|
|
56
|
-
### 2. First Step Execution
|
|
57
|
-
|
|
58
|
-
Load, read the full file and then execute `./steps-c/step-01-resolve-target.md` to begin the workflow.
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: refine-architecture
|
|
3
|
-
description: Improve architecture doc using verified skill data and VS feasibility findings
|
|
4
|
-
web_bundle: true
|
|
5
|
-
installed_path: '{project-root}/_bmad/skf/workflows/skillforge/refine-architecture'
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Refine Architecture
|
|
9
|
-
|
|
10
|
-
**Goal:** Take an original architecture document + generated skills + optional VS feasibility report, and produce a refined architecture with gaps filled, issues flagged, and improvements suggested — all backed by specific API evidence from the generated skills.
|
|
11
|
-
|
|
12
|
-
**Your Role:** In addition to your name, communication_style, and persona, you are also 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. Execute with analytical precision — every suggestion must cite specific APIs from the generated skills. Evidence-backed suggestions, not speculation.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## WORKFLOW ARCHITECTURE
|
|
17
|
-
|
|
18
|
-
This uses **step-file architecture** for disciplined execution:
|
|
19
|
-
|
|
20
|
-
### Core Principles
|
|
21
|
-
|
|
22
|
-
- **Micro-file Design**: Each step is a self-contained instruction file that must be followed exactly
|
|
23
|
-
- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
|
|
24
|
-
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
25
|
-
- **Additive, Not Destructive**: This workflow enhances the original architecture — it never deletes original content, only adds annotations, subsections, and suggestions
|
|
26
|
-
- **Evidence-Backed Refinement**: Every gap, issue, or improvement must cite specific APIs, types, or function signatures from the generated skills
|
|
27
|
-
|
|
28
|
-
### Step Processing Rules
|
|
29
|
-
|
|
30
|
-
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
31
|
-
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
32
|
-
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
33
|
-
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
34
|
-
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
|
35
|
-
|
|
36
|
-
### Critical Rules (NO EXCEPTIONS)
|
|
37
|
-
|
|
38
|
-
- 🛑 **NEVER** load multiple step files simultaneously
|
|
39
|
-
- 📖 **ALWAYS** read entire step file before execution
|
|
40
|
-
- 🚫 **NEVER** skip steps or optimize the sequence
|
|
41
|
-
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
|
42
|
-
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
|
43
|
-
- 📋 **NEVER** create mental todo lists from future steps
|
|
44
|
-
- ⚙️ **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
|
|
45
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
46
|
-
- 📝 **DOCUMENT-PRODUCING**: This workflow outputs a refined architecture markdown file
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## INITIALIZATION SEQUENCE
|
|
51
|
-
|
|
52
|
-
### 1. Module Configuration Loading
|
|
53
|
-
|
|
54
|
-
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
55
|
-
|
|
56
|
-
- `project_name`, `user_name`, `communication_language`, `document_output_language`
|
|
57
|
-
- `skills_output_folder`, `forge_data_folder`, `output_folder`
|
|
58
|
-
|
|
59
|
-
### 2. First Step Execution
|
|
60
|
-
|
|
61
|
-
Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the workflow.
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-03-report'
|
|
3
|
-
description: 'Report rename operation results'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Step 3: Report Rename Results
|
|
7
|
-
|
|
8
|
-
## STEP GOAL:
|
|
9
|
-
|
|
10
|
-
Present a clear, final summary of what the rename workflow changed — old and new names, versions renamed, file-level update counts, manifest re-key, platform context rebuild, and any residual warnings or deletion errors — so the user can verify the outcome and know whether any manual follow-up is required.
|
|
11
|
-
|
|
12
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
13
|
-
|
|
14
|
-
### Universal Rules:
|
|
15
|
-
|
|
16
|
-
- 🛑 NEVER modify any files in this step — report only
|
|
17
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
18
|
-
- 📋 YOU ARE A FACILITATOR, summarizing what step-02 already executed
|
|
19
|
-
- ⚙️ 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
|
|
20
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
21
|
-
|
|
22
|
-
### Role Reinforcement:
|
|
23
|
-
|
|
24
|
-
- ✅ You are Ferris in Management mode — summarizing a transactional rename with precision
|
|
25
|
-
- ✅ Be explicit about what changed and what did not — no glossing over partial failures
|
|
26
|
-
- ✅ Surface every warning and deletion error so the user knows exactly where manual cleanup is required
|
|
27
|
-
|
|
28
|
-
### Step-Specific Rules:
|
|
29
|
-
|
|
30
|
-
- 🎯 Focus only on reporting the results stored in context by step-02
|
|
31
|
-
- 🚫 FORBIDDEN to re-execute any part of the rename
|
|
32
|
-
- 🚫 FORBIDDEN to hide verification warnings, platform rebuild failures, or deletion errors
|
|
33
|
-
- 💬 Present the "next steps" guidance so the user knows which downstream workflows to run
|
|
34
|
-
|
|
35
|
-
## EXECUTION PROTOCOLS:
|
|
36
|
-
|
|
37
|
-
- 🎯 Render the report using the context values set in step-02 (`old_name`, `new_name`, `affected_versions`, `affected_versions_count`, `files_updated_per_version`, `manifest_rekeyed`, `platform_files_updated`, `platform_files_failed`, `section2_warnings`, `section3_warnings`, `verification_warnings`, `deletion_errors`)
|
|
38
|
-
- 💬 Include the "next steps" block unconditionally — it captures the common follow-ups for any rename
|
|
39
|
-
|
|
40
|
-
## CONTEXT BOUNDARIES:
|
|
41
|
-
|
|
42
|
-
- Available: All decision and result values stored in context by step-01 and step-02
|
|
43
|
-
- Focus: Rendering the final report
|
|
44
|
-
- Limits: No file writes, no deletions, no further execution
|
|
45
|
-
- Dependencies: Step-02 must have completed (or attempted all sections through section 8) and stored its results
|
|
46
|
-
|
|
47
|
-
## MANDATORY SEQUENCE
|
|
48
|
-
|
|
49
|
-
**CRITICAL:** Follow this sequence exactly.
|
|
50
|
-
|
|
51
|
-
### 1. Render the Report
|
|
52
|
-
|
|
53
|
-
Display the following block, filling in values from context:
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
**Rename complete.**
|
|
57
|
-
|
|
58
|
-
From: {old_name}
|
|
59
|
-
To: {new_name}
|
|
60
|
-
|
|
61
|
-
Versions renamed: {affected_versions_count} ({comma-separated affected_versions})
|
|
62
|
-
|
|
63
|
-
References updated:
|
|
64
|
-
- SKILL.md frontmatter (×{affected_versions_count})
|
|
65
|
-
- metadata.json (×{affected_versions_count})
|
|
66
|
-
- context-snippet.md (×{affected_versions_count})
|
|
67
|
-
- provenance-map.json (×{affected_versions_count})
|
|
68
|
-
|
|
69
|
-
Manifest updated: {if manifest_rekeyed: "exports.{new_name} (re-keyed from exports.{old_name})" else: "(no manifest entry existed for {old_name})"}
|
|
70
|
-
Platform files rebuilt: {list from platform_files_updated, or "(none)"}
|
|
71
|
-
{if platform_files_failed is non-empty:}
|
|
72
|
-
Platform files FAILED: {list from platform_files_failed}
|
|
73
|
-
→ Re-run `[EX] Export Skill` to retry the managed section rebuild for these files.
|
|
74
|
-
|
|
75
|
-
{if section2_warnings is non-empty:}
|
|
76
|
-
Warnings (inner directory rename):
|
|
77
|
-
{list each warning from section2_warnings}
|
|
78
|
-
|
|
79
|
-
{if section3_warnings is non-empty:}
|
|
80
|
-
Warnings (missing files during content update):
|
|
81
|
-
{list each warning from section3_warnings}
|
|
82
|
-
|
|
83
|
-
{if verification_warnings is non-empty:}
|
|
84
|
-
Informational: the old name still appears in SKILL.md body text (prose only, non-structural) in:
|
|
85
|
-
{list each path from verification_warnings}
|
|
86
|
-
→ These are typically historical notes or changelog entries. Review and edit manually if you want them updated.
|
|
87
|
-
|
|
88
|
-
{if deletion_errors is non-empty:}
|
|
89
|
-
**Post-commit deletion errors:**
|
|
90
|
-
{list each error}
|
|
91
|
-
→ The new name is fully committed. Remove the remnants manually with `rm -rf {path}`.
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
**Next steps:**
|
|
96
|
-
- Run `@Ferris EX` if you want to re-verify the managed sections in platform context files
|
|
97
|
-
- If you had QMD collections or external tooling registered under `{old_name}`, re-run `@Ferris SF` (or your registration command) to re-index under `{new_name}`
|
|
98
|
-
- If this skill was published to agentskills.io under `{old_name}`, the registry version is unchanged — this rename is a LOCAL operation only
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### 2. Close the Workflow
|
|
102
|
-
|
|
103
|
-
After rendering the report, the workflow is complete. Do not load any further step file — there is no `nextStepFile`.
|
|
104
|
-
|
|
105
|
-
## CRITICAL STEP COMPLETION NOTE
|
|
106
|
-
|
|
107
|
-
This is the final step. Once the report has been rendered, the rename-skill workflow is finished. Do not re-run any earlier step automatically — if the user wants another rename, they should re-invoke the workflow from the top.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
112
|
-
|
|
113
|
-
### ✅ SUCCESS:
|
|
114
|
-
|
|
115
|
-
- Report rendered with old name, new name, and affected version list
|
|
116
|
-
- Per-file update counts stated explicitly (SKILL.md, metadata.json, context-snippet.md, provenance-map.json)
|
|
117
|
-
- Manifest re-key outcome clearly stated
|
|
118
|
-
- Platform files rebuilt listed (and failures surfaced when present)
|
|
119
|
-
- All warning categories surfaced (inner rename, missing files, informational body-text mentions)
|
|
120
|
-
- Post-commit deletion errors surfaced with manual cleanup guidance
|
|
121
|
-
- Next-steps block included unconditionally
|
|
122
|
-
- No further file writes or executions performed
|
|
123
|
-
|
|
124
|
-
### ❌ SYSTEM FAILURE:
|
|
125
|
-
|
|
126
|
-
- Hiding failed platform rebuilds, verification warnings, or deletion errors
|
|
127
|
-
- Reporting "complete" when step-02 partially failed without flagging it
|
|
128
|
-
- Re-executing any part of the rename workflow
|
|
129
|
-
- Omitting the next-steps guidance
|
|
130
|
-
- Reading stale context values instead of the post-rename state stored by step-02
|
|
131
|
-
|
|
132
|
-
**Master Rule:** The report must be an honest, complete summary of what step-02 actually did. Every partial failure must be visible so the user knows exactly what manual follow-up, if any, is required.
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rename-skill
|
|
3
|
-
description: "Rename a skill and all its versions. Transactional — copy, verify, then delete the old name. Rebuilds platform context files."
|
|
4
|
-
web_bundle: true
|
|
5
|
-
installed_path: '{project-root}/_bmad/skf/workflows/skillforge/rename-skill'
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Rename Skill
|
|
9
|
-
|
|
10
|
-
**Goal:** Rename a skill across all its versions with transactional safety — copy to the new name, verify all references updated, delete the old name only after verification succeeds. Rebuilds platform context files to reference the new name.
|
|
11
|
-
|
|
12
|
-
**Your Role:** In addition to your name, communication_style, and persona, you are also Ferris in Management mode — a precision surgeon who operates on the entire skill group atomically. The agentskills.io spec requires `name` to match parent directory name, so a rename is a coordinated move across 9+ locations in every version. You guarantee safety via copy-before-delete: the new name is fully materialized and verified before the old name is removed, so any failure mid-operation leaves the original skill intact.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## WORKFLOW ARCHITECTURE
|
|
17
|
-
|
|
18
|
-
This uses **step-file architecture** for disciplined execution:
|
|
19
|
-
|
|
20
|
-
### Core Principles
|
|
21
|
-
|
|
22
|
-
- **Micro-file Design**: Each step is a self-contained instruction file that is a part of an overall workflow that must be followed exactly
|
|
23
|
-
- **Just-In-Time Loading**: Only the current step file is in memory — never load future step files until told to do so
|
|
24
|
-
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
|
25
|
-
- **Transactional Safety**: Copy-verify-delete pattern — the new name is fully materialized and verified before the old name is removed. Any failure before the final delete stage is fully reversible by deleting the new name.
|
|
26
|
-
- **Manifest-Driven Truth**: The export manifest is the source of truth for what exists and what is active; the filesystem and the manifest are updated together and must end in a consistent state
|
|
27
|
-
|
|
28
|
-
### Step Processing Rules
|
|
29
|
-
|
|
30
|
-
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
|
31
|
-
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
|
32
|
-
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
|
33
|
-
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
|
34
|
-
5. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
|
35
|
-
|
|
36
|
-
### Critical Rules (NO EXCEPTIONS)
|
|
37
|
-
|
|
38
|
-
- 🛑 **NEVER** load multiple step files simultaneously
|
|
39
|
-
- 📖 **ALWAYS** read entire step file before execution
|
|
40
|
-
- 🚫 **NEVER** skip steps or optimize the sequence
|
|
41
|
-
- 🎯 **ALWAYS** follow the exact instructions in the step file
|
|
42
|
-
- ⏸️ **ALWAYS** halt at menus and wait for user input
|
|
43
|
-
- 📋 **NEVER** create mental todo lists from future steps
|
|
44
|
-
- ⚙️ **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
|
|
45
|
-
- 🛡️ **NEVER** delete the old skill directories until the new name has been fully materialized and verified
|
|
46
|
-
- 🛡️ **NEVER** proceed past a verification failure — roll back (delete the new directories) and halt
|
|
47
|
-
- 🛡️ **NEVER** allow a rename to collide with an existing skill name
|
|
48
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## INITIALIZATION SEQUENCE
|
|
53
|
-
|
|
54
|
-
### 1. Module Configuration Loading
|
|
55
|
-
|
|
56
|
-
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
57
|
-
|
|
58
|
-
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
|
59
|
-
- `skills_output_folder`, `forge_data_folder`, `sidecar_path`
|
|
60
|
-
- Generate and store `timestamp` as the current date-time in `YYYYMMDD-HHmmss` format. This value is fixed for the entire workflow run and must not be regenerated in subsequent steps.
|
|
61
|
-
|
|
62
|
-
### 2. First Step Execution
|
|
63
|
-
|
|
64
|
-
Load, read the full file and then execute `./steps-c/step-01-select.md` to begin the workflow.
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-04-report'
|
|
3
|
-
description: 'Display forge status report with positive capability framing'
|
|
4
|
-
|
|
5
|
-
tierRulesData: '../data/tier-rules.md'
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Step 4: Forge Status Report
|
|
9
|
-
|
|
10
|
-
## STEP GOAL:
|
|
11
|
-
|
|
12
|
-
Display the forge status report with positive capability framing, report tier changes on re-run, and optionally fetch the latest agentskills.io spec if flagged.
|
|
13
|
-
|
|
14
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
15
|
-
|
|
16
|
-
### Universal Rules:
|
|
17
|
-
|
|
18
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
19
|
-
- 🎯 Execute all operations autonomously — display report and complete
|
|
20
|
-
|
|
21
|
-
### Role Reinforcement:
|
|
22
|
-
|
|
23
|
-
- ✅ You are Ferris reporting forge readiness
|
|
24
|
-
- ✅ Frame ALL capabilities positively — describe what the tier GIVES
|
|
25
|
-
- ✅ On re-run: explicitly report what changed (upgrade/downgrade/same)
|
|
26
|
-
- ✅ Brief forge metaphor appropriate here — this is the completion moment
|
|
27
|
-
|
|
28
|
-
### Step-Specific Rules:
|
|
29
|
-
|
|
30
|
-
- 🎯 Focus only on displaying the status report
|
|
31
|
-
- 🚫 FORBIDDEN to use negative framing ("missing", "lacking", "unavailable")
|
|
32
|
-
- 🚫 FORBIDDEN to list tools that are NOT available
|
|
33
|
-
- 💬 Use tier capability descriptions from tier-rules.md
|
|
34
|
-
|
|
35
|
-
## EXECUTION PROTOCOLS:
|
|
36
|
-
|
|
37
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
38
|
-
- 💾 Load tier-rules.md for capability descriptions and re-run messages
|
|
39
|
-
- 📖 Use context from step-01 (detected_tools, calculated_tier, previous_tier)
|
|
40
|
-
- 🚫 This is the final step — no next step to load
|
|
41
|
-
|
|
42
|
-
## CONTEXT BOUNDARIES:
|
|
43
|
-
|
|
44
|
-
- Available: {detected_tools}, {calculated_tier}, {previous_tier}, {tier_override} from step-01
|
|
45
|
-
- Available: tool version strings from step-01
|
|
46
|
-
- Available: {hygiene_result}, {hygiene_healthy}, {hygiene_orphaned_removed}, {hygiene_orphaned_kept}, {hygiene_stale_cleaned}, {ccc_registry_stale_cleaned} from step-03
|
|
47
|
-
- Available: {ccc_index_result} from step-01b (values: "fresh", "created", "failed", "none")
|
|
48
|
-
- Focus: report display only — no file modifications
|
|
49
|
-
- Dependencies: steps 01-03 must have completed
|
|
50
|
-
|
|
51
|
-
## MANDATORY SEQUENCE
|
|
52
|
-
|
|
53
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
54
|
-
|
|
55
|
-
### 1. Load Capability Descriptions
|
|
56
|
-
|
|
57
|
-
Load and read {tierRulesData} for the tier capability descriptions and re-run messages.
|
|
58
|
-
|
|
59
|
-
### 2. Display Forge Status Report
|
|
60
|
-
|
|
61
|
-
**Format the report as follows:**
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
═══════════════════════════════════════
|
|
65
|
-
FORGE STATUS
|
|
66
|
-
═══════════════════════════════════════
|
|
67
|
-
|
|
68
|
-
Tier: {calculated_tier}
|
|
69
|
-
{tier capability description from tier-rules.md}
|
|
70
|
-
|
|
71
|
-
Tools Detected:
|
|
72
|
-
{for each tool that is available, show: tool name — version}
|
|
73
|
-
|
|
74
|
-
{if hygiene_result is "completed":}
|
|
75
|
-
QMD Registry:
|
|
76
|
-
{hygiene_healthy} collection(s) healthy
|
|
77
|
-
{if hygiene_orphaned_removed > 0: {hygiene_orphaned_removed} orphaned collection(s) removed}
|
|
78
|
-
{if hygiene_orphaned_kept > 0: {hygiene_orphaned_kept} orphaned collection(s) kept}
|
|
79
|
-
{if hygiene_stale_cleaned > 0: {hygiene_stale_cleaned} stale QMD registry entry/entries cleaned}
|
|
80
|
-
{end if}
|
|
81
|
-
|
|
82
|
-
{if ccc_registry_stale_cleaned > 0:}
|
|
83
|
-
CCC Registry: {ccc_registry_stale_cleaned} stale entry/entries cleaned
|
|
84
|
-
{end if}
|
|
85
|
-
|
|
86
|
-
{if hygiene_result is "completed" and hygiene_healthy is 0:}
|
|
87
|
-
QMD Registry: empty — collections are created automatically when you run [CS] Create Skill.
|
|
88
|
-
{end if}
|
|
89
|
-
|
|
90
|
-
{if tools.ccc is true:}
|
|
91
|
-
CCC Index:
|
|
92
|
-
{if ccc_index_result is "fresh": up to date — semantic discovery ready}
|
|
93
|
-
{if ccc_index_result is "created": indexed this run — semantic discovery ready}
|
|
94
|
-
{if ccc_index_result is "failed": indexing failed — semantic discovery unavailable this session}
|
|
95
|
-
{end if}
|
|
96
|
-
|
|
97
|
-
{if tier_override is active:}
|
|
98
|
-
Note: Tier override active (set in preferences.yaml)
|
|
99
|
-
|
|
100
|
-
{if re-run with tier change:}
|
|
101
|
-
{appropriate upgrade/downgrade message from tier-rules.md}
|
|
102
|
-
|
|
103
|
-
{if re-run with same tier:}
|
|
104
|
-
{same-tier message from tier-rules.md}
|
|
105
|
-
|
|
106
|
-
═══════════════════════════════════════
|
|
107
|
-
Forge ready. {calculated_tier} tier active.
|
|
108
|
-
═══════════════════════════════════════
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**Tool display rules:**
|
|
112
|
-
- Only show tools that ARE available with their version strings
|
|
113
|
-
- Do NOT list unavailable tools
|
|
114
|
-
- Do NOT show a "missing" column or section
|
|
115
|
-
|
|
116
|
-
### 3. Handle --update-spec Flag (Optional)
|
|
117
|
-
|
|
118
|
-
**If the user included `--update-spec` in their workflow invocation (e.g., `@Ferris SF --update-spec`):**
|
|
119
|
-
- Attempt to fetch the latest agentskills.io specification schema
|
|
120
|
-
- Use `gh` or `curl` to retrieve the spec
|
|
121
|
-
- Store in `{forge_data_folder}/agentskills-spec.json` (or appropriate format)
|
|
122
|
-
- If fetch succeeds: display "agentskills.io spec updated."
|
|
123
|
-
- If fetch fails: display "Could not fetch agentskills.io spec. Existing spec (if any) unchanged."
|
|
124
|
-
- Do NOT fail the workflow over this — it is purely optional
|
|
125
|
-
|
|
126
|
-
**If `--update-spec` was NOT passed:**
|
|
127
|
-
- Skip silently
|
|
128
|
-
|
|
129
|
-
### 4. Workflow Complete
|
|
130
|
-
|
|
131
|
-
This is the final step. The setup-forge workflow is now complete.
|
|
132
|
-
|
|
133
|
-
No next step to load. The workflow ends here.
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
138
|
-
|
|
139
|
-
### ✅ SUCCESS:
|
|
140
|
-
|
|
141
|
-
- Forge status report displayed with positive capability framing
|
|
142
|
-
- Only available tools shown (no "missing" lists)
|
|
143
|
-
- Tier capability description matches calculated tier
|
|
144
|
-
- Re-run: tier change correctly reported (or same-tier confirmed)
|
|
145
|
-
- --update-spec handled if flagged (success or graceful failure)
|
|
146
|
-
- Workflow completes cleanly
|
|
147
|
-
|
|
148
|
-
### ❌ SYSTEM FAILURE:
|
|
149
|
-
|
|
150
|
-
- Negative framing in report ("missing", "unavailable", "lacking")
|
|
151
|
-
- Listing tools that are NOT available
|
|
152
|
-
- Not using tier capability descriptions from tier-rules.md
|
|
153
|
-
- Not reporting tier change on re-run
|
|
154
|
-
- Attempting to load a next step (this is the final step)
|
|
155
|
-
|
|
156
|
-
**Master Rule:** The report must leave users feeling confident about their forge capabilities, not anxious about what they're missing. Positive framing only.
|