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,196 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-05-detect-integrations'
|
|
3
|
-
description: 'Detect co-import patterns and integration points between confirmed libraries'
|
|
4
|
-
|
|
5
|
-
nextStepFile: './step-06-compile-stack.md'
|
|
6
|
-
integrationPatterns: '../data/integration-patterns.md'
|
|
7
|
-
composeModeRules: '../data/compose-mode-rules.md'
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Step 5: Detect Integrations
|
|
11
|
-
|
|
12
|
-
## STEP GOAL:
|
|
13
|
-
|
|
14
|
-
Analyze co-import patterns between confirmed libraries to identify integration points — where and how libraries connect in this specific codebase.
|
|
15
|
-
|
|
16
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
17
|
-
|
|
18
|
-
### Universal Rules:
|
|
19
|
-
|
|
20
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
21
|
-
- ⚙️ 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
|
|
22
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
23
|
-
|
|
24
|
-
### Role Reinforcement:
|
|
25
|
-
|
|
26
|
-
- ✅ You are an integration architect operating in Ferris Architect mode
|
|
27
|
-
- ✅ Zero hallucination — only document integrations evidenced in actual code
|
|
28
|
-
- ✅ Every integration pattern must cite co-import files with file:line references
|
|
29
|
-
|
|
30
|
-
### Step-Specific Rules:
|
|
31
|
-
|
|
32
|
-
- 🎯 Focus on detecting cross-library patterns using Pattern 1 (grep/search): In Claude Code, use the Grep tool or Bash with `rg`. In Cursor, use built-in search. In CLI, use `grep`/`rg` directly. See [knowledge/tool-resolution.md](../../../knowledge/tool-resolution.md)
|
|
33
|
-
- 🚫 FORBIDDEN to compile SKILL.md — that is step 06
|
|
34
|
-
- 💬 Integration detection is the core differentiator of stack skills vs individual skills
|
|
35
|
-
- ⚙️ If subprocess unavailable, perform grep operations in main thread
|
|
36
|
-
|
|
37
|
-
## EXECUTION PROTOCOLS:
|
|
38
|
-
|
|
39
|
-
- 🎯 Load integration-patterns.md for detection rules
|
|
40
|
-
- 💾 Store integration_graph as workflow state
|
|
41
|
-
- 📖 Auto-proceed to step 06 after detection complete
|
|
42
|
-
- 🚫 Graceful handling if no integrations detected
|
|
43
|
-
|
|
44
|
-
## CONTEXT BOUNDARIES:
|
|
45
|
-
|
|
46
|
-
- From step 03: confirmed_dependencies[] — in code-mode, includes file lists per library; in compose-mode, file lists are not present (use per_library_extractions[] from step 04 for skill content)
|
|
47
|
-
- From step 04: per_library_extractions[] with exports and patterns
|
|
48
|
-
- This step produces: integration_graph {pairs[], types[], files[]}
|
|
49
|
-
- This is the VALUE-ADD step — what makes stack skills different from individual skills
|
|
50
|
-
|
|
51
|
-
## MANDATORY SEQUENCE
|
|
52
|
-
|
|
53
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
54
|
-
|
|
55
|
-
### 1. Generate Library Pairs
|
|
56
|
-
|
|
57
|
-
From `confirmed_dependencies`, generate all unique pairs:
|
|
58
|
-
- N libraries → N*(N-1)/2 pairs
|
|
59
|
-
- Skip pairs where either library had extraction failure in step 04
|
|
60
|
-
|
|
61
|
-
Report: "**Analyzing {pair_count} library pairs for integration patterns...**"
|
|
62
|
-
|
|
63
|
-
### 2. Detect Co-Import Files
|
|
64
|
-
|
|
65
|
-
**If `compose_mode` is true:**
|
|
66
|
-
|
|
67
|
-
Instead of co-import grep, detect integrations from architecture document:
|
|
68
|
-
|
|
69
|
-
1. Load `{composeModeRules}` for integration evidence format rules
|
|
70
|
-
2. **If `{architecture_doc_path}` is null or not available:** Skip directly to the "If no architecture document available" fallback below
|
|
71
|
-
3. Load the architecture document from `{architecture_doc_path}`
|
|
72
|
-
4. Use prose-based co-mention analysis: find paragraphs mentioning 2+ confirmed skill names
|
|
73
|
-
5. For each detected integration pair:
|
|
74
|
-
- Load both skills' export lists and API signatures
|
|
75
|
-
- Compose an integration section following the format from `{composeModeRules}`
|
|
76
|
-
- Include VS feasibility verdict if a feasibility report (`feasibility-report-{project_name}.md`) exists in `{forge_data_folder}/`
|
|
77
|
-
- Cite evidence from both skills: `[from skill: {skill_name}]`
|
|
78
|
-
|
|
79
|
-
All integration evidence inherits confidence tiers from the source skills. Load and apply the full **Confidence Tier Inheritance** matrix from `{composeModeRules}` to compute the correct tier for each pair (covers T1+T1, T1+T1-low, T1-low+T1-low, T1+T2, T1-low+T2, T2+T2 cases). Apply the `[composed]` suffix to all confidence labels — e.g., `T1 [composed]`, `T1-low [composed, +T2 annotations]`.
|
|
80
|
-
|
|
81
|
-
**VS verdict parsing (if feasibility report exists):** Read the `overall_verdict` from the report's YAML frontmatter. Parse the `## Integration Verdicts` markdown table for per-pair verdicts. For each architecture-detected pair, include `VS overall: {verdict}` and `VS pair: {verdict}` in the integration evidence per the format in `{composeModeRules}`. VS verdicts do not apply to inferred integrations since the VS report operates on architecture-described interactions only. Additionally, flag any pairs where VS reported `Risky` or `Blocked` by appending a `[VS: Risky]` or `[VS: Blocked]` warning annotation to the integration entry.
|
|
82
|
-
|
|
83
|
-
If no architecture document available:
|
|
84
|
-
- Infer potential integrations from skills sharing the same `language` field or sharing domain keywords in their SKILL.md descriptions (use the `usage_patterns` and `exports` fields from `per_library_extractions[]` built in step-04, or reload SKILL.md from the version-aware path: use `skill_package_path` from step-02, or resolve via `{skills_output_folder}/{skill_dir}/active/{skill_dir}/SKILL.md` — see [knowledge/version-paths.md](../../../knowledge/version-paths.md))
|
|
85
|
-
- Mark inferred integrations: `[inferred from shared domain]` — use this suffix instead of `[composed]` for inferred integrations
|
|
86
|
-
- Inferred integrations qualify automatically — no file-count threshold applies
|
|
87
|
-
|
|
88
|
-
Skip to section 3 (Classify Integration Types) with the compose-mode pairs.
|
|
89
|
-
|
|
90
|
-
**If not compose_mode:**
|
|
91
|
-
|
|
92
|
-
For each library pair (A, B):
|
|
93
|
-
|
|
94
|
-
**Launch a subprocess** that greps across all source files to find files importing BOTH library A and library B. Return only file paths and import line numbers.
|
|
95
|
-
|
|
96
|
-
**Subprocess resolution:** Use the Grep tool (Claude Code), built-in search (Cursor), or `grep`/`rg` (CLI). See [knowledge/tool-resolution.md](../../../knowledge/tool-resolution.md).
|
|
97
|
-
|
|
98
|
-
**Subprocess returns:** `{pair: [A, B], co_import_files: [{path, line_A, line_B}], count: N}`
|
|
99
|
-
|
|
100
|
-
**If subprocess unavailable:** Intersect the file lists from step 03 import counts for each pair.
|
|
101
|
-
|
|
102
|
-
**Threshold:** A pair must have 2+ co-import files to qualify as an integration pattern (single file co-imports may be incidental).
|
|
103
|
-
|
|
104
|
-
**CCC Semantic Augmentation (Forge+ and Deep with ccc):**
|
|
105
|
-
|
|
106
|
-
If `tools.ccc` is true AND `ccc_index.status` is `"fresh"` or `"stale"` in forge-tier.yaml, augment co-import detection with semantic search (max 1 query per library pair):
|
|
107
|
-
|
|
108
|
-
For each library pair that has exactly 1 co-import file (below the 2-file threshold), run `ccc_bridge.search("{libA} {libB}", source_root, top_k=10)` to find files where the two libraries interact semantically — even without explicit import co-location. If CCC returns additional files where both libraries appear, add them to the pair's co-import candidate list and re-evaluate against the 2-file threshold.
|
|
109
|
-
|
|
110
|
-
**Tool resolution for ccc_bridge.search:** Use `/ccc` skill search (Claude Code), ccc MCP server (Cursor), or `ccc search "{libA} {libB}" --path {source_root} --top 10` (CLI). See [knowledge/tool-resolution.md](../../../knowledge/tool-resolution.md).
|
|
111
|
-
|
|
112
|
-
For pairs that already qualify (2+ files), CCC is not needed for detection — but the CCC results may surface additional integration files for richer classification in section 3.
|
|
113
|
-
|
|
114
|
-
CCC failures: skip augmentation silently, proceed with grep-only results.
|
|
115
|
-
|
|
116
|
-
### 3. Classify Integration Types
|
|
117
|
-
|
|
118
|
-
Load `{integrationPatterns}` for classification rules.
|
|
119
|
-
|
|
120
|
-
For each qualifying pair, analyze to classify the integration type (**in compose-mode**: all architecture-document-detected pairs qualify automatically — the 2+ co-import file threshold applies only in code-mode; **in code-mode**: pair must have 2+ co-import files):
|
|
121
|
-
|
|
122
|
-
- **Type 1: Middleware Chain** — Sequential function calls piping output between libraries
|
|
123
|
-
- **Type 2: Shared Types** — Type definitions exchanged between libraries
|
|
124
|
-
- **Type 3: Configuration Bridge** — One library configuring or initializing another
|
|
125
|
-
- **Type 4: Event Handler** — Event patterns crossing library boundaries
|
|
126
|
-
- **Type 5: Adapter/Wrapper** — Thin wrapper connecting library interfaces
|
|
127
|
-
- **Type 6: State Sharing** — Shared state stores or context providers
|
|
128
|
-
|
|
129
|
-
For each detected integration:
|
|
130
|
-
- Identify the top 3 files demonstrating the pattern
|
|
131
|
-
- Extract a brief description of how the libraries connect
|
|
132
|
-
- Assign confidence: T1 if AST-verified, T1-low if source reading
|
|
133
|
-
|
|
134
|
-
### 4. Build Integration Graph
|
|
135
|
-
|
|
136
|
-
Assemble the integration graph:
|
|
137
|
-
- **Nodes:** Confirmed libraries (with extraction data from step 04)
|
|
138
|
-
- **Edges:** Detected integration pairs with type, file count, and description
|
|
139
|
-
- Identify **hub libraries** (connected to 3+ other libraries)
|
|
140
|
-
- Identify **cross-cutting patterns** (patterns spanning 3+ libraries)
|
|
141
|
-
|
|
142
|
-
### 5. Display Integration Summary
|
|
143
|
-
|
|
144
|
-
**If integrations detected:**
|
|
145
|
-
|
|
146
|
-
"**Integration detection complete.**
|
|
147
|
-
|
|
148
|
-
**Integration graph:** {lib_count} libraries, {pair_count} integration pairs
|
|
149
|
-
|
|
150
|
-
**Hub libraries** (connected to 3+ others):
|
|
151
|
-
{For each hub:} - **{library}** — integrates with {partner_list}
|
|
152
|
-
|
|
153
|
-
**Detected integrations:**
|
|
154
|
-
| Library A | Library B | Type | Co-import Files | Confidence |
|
|
155
|
-
|-----------|-----------|------|-----------------|------------|
|
|
156
|
-
| {name} | {name} | {type} | {count} | {tier} |
|
|
157
|
-
|
|
158
|
-
{If cross-cutting patterns:}
|
|
159
|
-
**Cross-cutting patterns:**
|
|
160
|
-
- {description spanning 3+ libraries}
|
|
161
|
-
|
|
162
|
-
**Proceeding to stack compilation...**"
|
|
163
|
-
|
|
164
|
-
**If no integrations detected:**
|
|
165
|
-
|
|
166
|
-
"**No co-import integration patterns detected** between confirmed libraries.
|
|
167
|
-
|
|
168
|
-
The libraries in this project appear to operate independently. The stack skill will contain library summaries without an integration layer.
|
|
169
|
-
|
|
170
|
-
**Proceeding to stack compilation...**"
|
|
171
|
-
|
|
172
|
-
### 6. Auto-Proceed to Next Step
|
|
173
|
-
|
|
174
|
-
Load, read the full file and then execute `{nextStepFile}`.
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
179
|
-
|
|
180
|
-
### ✅ SUCCESS:
|
|
181
|
-
|
|
182
|
-
- All library pairs analyzed for co-imports
|
|
183
|
-
- Integration types classified using pattern rules
|
|
184
|
-
- Hub libraries and cross-cutting patterns identified
|
|
185
|
-
- Integration graph built with confidence labels
|
|
186
|
-
- Graceful handling of zero integrations (not a failure)
|
|
187
|
-
- Auto-proceeded to step 06
|
|
188
|
-
|
|
189
|
-
### ❌ SYSTEM FAILURE:
|
|
190
|
-
|
|
191
|
-
- Fabricating integrations not evidenced in code
|
|
192
|
-
- Not applying the 2+ file threshold for pairs
|
|
193
|
-
- Starting to compile SKILL.md (step 06's job)
|
|
194
|
-
- Treating zero integrations as a workflow failure (it's valid)
|
|
195
|
-
|
|
196
|
-
**Master Rule:** Only document integrations that exist in actual code. Zero integrations is a valid result.
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-07-generate-output'
|
|
3
|
-
description: 'Write all output files — SKILL.md, references, metadata, context-snippet, and forge-data'
|
|
4
|
-
|
|
5
|
-
nextStepFile: './step-08-validate.md'
|
|
6
|
-
stackSkillTemplate: '../data/stack-skill-template.md'
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Step 7: Generate Output Files
|
|
10
|
-
|
|
11
|
-
## STEP GOAL:
|
|
12
|
-
|
|
13
|
-
Write all deliverable and workspace artifact files to their target directories.
|
|
14
|
-
|
|
15
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
16
|
-
|
|
17
|
-
### Universal Rules:
|
|
18
|
-
|
|
19
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
20
|
-
- ⚙️ TOOL/SUBPROCESS FALLBACK: If any instruction references a subprocess, subagent, or tool you do not have access to, you MUST still achieve the outcome in your main context thread
|
|
21
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
22
|
-
|
|
23
|
-
### Role Reinforcement:
|
|
24
|
-
|
|
25
|
-
- ✅ You are a skill packager operating in Ferris Architect mode
|
|
26
|
-
- ✅ Precise file writing — every file matches its template structure
|
|
27
|
-
- ✅ Hard halt on any write failure — partial output is worse than no output
|
|
28
|
-
|
|
29
|
-
### Step-Specific Rules:
|
|
30
|
-
|
|
31
|
-
- 🎯 Write ALL output files in correct directory structure
|
|
32
|
-
- 🚫 FORBIDDEN to modify compiled content — step 06 produced the approved version
|
|
33
|
-
- 💬 Report each file written with path and size
|
|
34
|
-
- 🎯 Create directory structure before writing files
|
|
35
|
-
|
|
36
|
-
## EXECUTION PROTOCOLS:
|
|
37
|
-
|
|
38
|
-
- 🎯 Create output directories, write all files
|
|
39
|
-
- 💾 Store written_files list as workflow state
|
|
40
|
-
- 📖 Auto-proceed to validation after all files written
|
|
41
|
-
- 🚫 HARD HALT on any individual file write failure
|
|
42
|
-
|
|
43
|
-
## CONTEXT BOUNDARIES:
|
|
44
|
-
|
|
45
|
-
- From step 06: skill_content (approved compiled SKILL.md)
|
|
46
|
-
- From step 04: per_library_extractions[] for reference files
|
|
47
|
-
- From step 05: integration_graph for integration pair references
|
|
48
|
-
- From step 01: forge_tier, project info for metadata
|
|
49
|
-
- This step produces: written_files[] (all output artifacts)
|
|
50
|
-
- Path resolution: See `knowledge/version-paths.md` for canonical path templates. Stack skills use `{project_name}-stack` as the skill name
|
|
51
|
-
|
|
52
|
-
## MANDATORY SEQUENCE
|
|
53
|
-
|
|
54
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
55
|
-
|
|
56
|
-
### 1. Create Output Directories
|
|
57
|
-
|
|
58
|
-
Resolve `{version}` from the primary library version or default to `1.0.0`. Create the directory structure:
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
{skill_group} # {skills_output_folder}/{project_name}-stack/
|
|
62
|
-
{skill_package} # {skills_output_folder}/{project_name}-stack/{version}/{project_name}-stack/
|
|
63
|
-
├── references/
|
|
64
|
-
│ └── integrations/
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
{forge_version} # {forge_data_folder}/{project_name}-stack/{version}/
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Where the skill name is `{project_name}-stack` and `{version}` is the semver version (with build metadata stripped per `knowledge/version-paths.md`).
|
|
72
|
-
|
|
73
|
-
If directories already exist, proceed (overwrite previous output).
|
|
74
|
-
|
|
75
|
-
### 2. Write SKILL.md
|
|
76
|
-
|
|
77
|
-
Write `{skill_package}/SKILL.md` with the approved skill_content from step 06.
|
|
78
|
-
|
|
79
|
-
### 3. Write Per-Library Reference Files
|
|
80
|
-
|
|
81
|
-
For each confirmed library, write `{skill_package}/references/{library_name}.md`:
|
|
82
|
-
|
|
83
|
-
Load structure from `{stackSkillTemplate}` references section:
|
|
84
|
-
- Library name, version from manifest (**in compose-mode**: version from source skill `metadata.json`)
|
|
85
|
-
- Import count and file count (**in compose-mode**: export count from source skill metadata)
|
|
86
|
-
- Key exports with signatures
|
|
87
|
-
- Usage patterns with file:line citations (**in compose-mode**: usage patterns from source skill SKILL.md)
|
|
88
|
-
- Confidence tier label
|
|
89
|
-
|
|
90
|
-
### 4. Write Integration Pair Reference Files
|
|
91
|
-
|
|
92
|
-
For each detected integration pair, write `{skill_package}/references/integrations/{libraryA}-{libraryB}.md`:
|
|
93
|
-
|
|
94
|
-
Load structure from `{stackSkillTemplate}` integrations section:
|
|
95
|
-
- Library pair and integration type
|
|
96
|
-
- Co-import file count
|
|
97
|
-
- Integration pattern description with file:line citations
|
|
98
|
-
- Usage convention
|
|
99
|
-
- Confidence tier label
|
|
100
|
-
|
|
101
|
-
**If no integrations detected:** Skip this section (no files to write).
|
|
102
|
-
|
|
103
|
-
### 5. Write context-snippet.md
|
|
104
|
-
|
|
105
|
-
Write `{skill_package}/context-snippet.md`:
|
|
106
|
-
|
|
107
|
-
Use the Vercel-aligned indexed format targeting ~80-120 tokens:
|
|
108
|
-
```
|
|
109
|
-
[{project_name}-stack v{version — in code-mode: primary_library_version or 1.0.0; in compose-mode: highest version across constituent skill metadata.json files, or 1.0.0 if none}]|root: skills/{project_name}-stack/
|
|
110
|
-
|IMPORTANT: {project_name}-stack — read SKILL.md before writing integration code. Do NOT rely on training data.
|
|
111
|
-
|stack: {dep-1}@{v1}, {dep-2}@{v2}, {dep-3}@{v3}
|
|
112
|
-
|integrations: {pattern-1}, {pattern-2}
|
|
113
|
-
|gotchas: {1-2 most critical integration pitfalls}
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### 6. Write metadata.json
|
|
117
|
-
|
|
118
|
-
Write `{skill_package}/metadata.json`:
|
|
119
|
-
|
|
120
|
-
Populate all fields from the metadata.json schema defined in `{stackSkillTemplate}`:
|
|
121
|
-
|
|
122
|
-
```json
|
|
123
|
-
{
|
|
124
|
-
"skill_type": "stack",
|
|
125
|
-
"name": "{project_name}-stack",
|
|
126
|
-
"version": "{primary_library_version or 1.0.0}",
|
|
127
|
-
"generation_date": "{current_date}",
|
|
128
|
-
"confidence_tier": "{tier}",
|
|
129
|
-
"spec_version": "1.3",
|
|
130
|
-
"source_authority": "{official|community|internal — use the lowest authority among constituent skills}",
|
|
131
|
-
"generated_by": "create-stack-skill",
|
|
132
|
-
"exports": [],
|
|
133
|
-
"library_count": N,
|
|
134
|
-
"integration_count": N,
|
|
135
|
-
"libraries": ["lib1", "lib2"],
|
|
136
|
-
"integration_pairs": [["lib1", "lib2"]],
|
|
137
|
-
"language": "{primary language or list of languages from constituent skills}",
|
|
138
|
-
"ast_node_count": "{number or omit if no AST extraction performed}",
|
|
139
|
-
"confidence_distribution": {"t1": N, "t1_low": N, "t2": N, "t3": N},
|
|
140
|
-
"tool_versions": {
|
|
141
|
-
"ast_grep": "{version or null}",
|
|
142
|
-
"qmd": "{version or null}",
|
|
143
|
-
"skf": "{skf_version}"
|
|
144
|
-
},
|
|
145
|
-
"stats": {
|
|
146
|
-
"exports_documented": N,
|
|
147
|
-
"exports_public_api": N,
|
|
148
|
-
"exports_internal": N,
|
|
149
|
-
"exports_total": N,
|
|
150
|
-
"public_api_coverage": 0.0,
|
|
151
|
-
"total_coverage": 0.0,
|
|
152
|
-
"scripts_count": N,
|
|
153
|
-
"assets_count": N
|
|
154
|
-
},
|
|
155
|
-
"dependencies": [],
|
|
156
|
-
"compatibility": "{semver-range}"
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### 7. Write Forge Data Artifacts
|
|
161
|
-
|
|
162
|
-
Write workspace artifacts to `{forge_version}`:
|
|
163
|
-
|
|
164
|
-
**provenance-map.json:**
|
|
165
|
-
|
|
166
|
-
**In code-mode:**
|
|
167
|
-
```json
|
|
168
|
-
{
|
|
169
|
-
"libraries": {
|
|
170
|
-
"lib_name": {
|
|
171
|
-
"manifest_source": "package.json",
|
|
172
|
-
"extraction_method": "ast_bridge|source_reading|qmd_bridge",
|
|
173
|
-
"confidence": "T1|T1-low|T2",
|
|
174
|
-
"files_analyzed": N,
|
|
175
|
-
"exports_found": N
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
"integrations": {
|
|
179
|
-
"libA+libB": {
|
|
180
|
-
"detection_method": "co-import grep",
|
|
181
|
-
"co_import_files": N,
|
|
182
|
-
"type": "pattern_type"
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**In compose-mode:**
|
|
189
|
-
```json
|
|
190
|
-
{
|
|
191
|
-
"libraries": {
|
|
192
|
-
"lib_name": {
|
|
193
|
-
"source_skill_path": "skills/{skill_dir}/",
|
|
194
|
-
"compose_source": "architecture_co_mention|inferred_from_shared_domain",
|
|
195
|
-
"confidence": "T1|T1-low|T2",
|
|
196
|
-
"source_skill_tier": "{original skill confidence tier}",
|
|
197
|
-
"exports_found": N
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
"integrations": {
|
|
201
|
-
"libA+libB": {
|
|
202
|
-
"detection_method": "architecture_co_mention|inferred_from_shared_domain",
|
|
203
|
-
"type": "pattern_type"
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
**evidence-report.md:**
|
|
210
|
-
- Extraction summary per library
|
|
211
|
-
- Integration detection results per pair
|
|
212
|
-
- Warnings and failures encountered
|
|
213
|
-
- Confidence tier distribution
|
|
214
|
-
|
|
215
|
-
### 8. Create Active Symlink
|
|
216
|
-
|
|
217
|
-
Create or update the `active` symlink at `{skill_group}/active` pointing to `{version}`:
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
{skill_group}/active -> {version}
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
If the symlink already exists, remove it first and recreate. This ensures `{skill_group}/active/{project_name}-stack/` resolves to the just-written skill package.
|
|
224
|
-
|
|
225
|
-
### 9. Display Write Summary
|
|
226
|
-
|
|
227
|
-
"**Output files written.**
|
|
228
|
-
|
|
229
|
-
**Deliverables** ({skill_package}):
|
|
230
|
-
- SKILL.md ({line_count} lines)
|
|
231
|
-
- context-snippet.md ({token_estimate} tokens)
|
|
232
|
-
- metadata.json
|
|
233
|
-
- references/ -- {lib_count} library files
|
|
234
|
-
- references/integrations/ -- {pair_count} integration files
|
|
235
|
-
|
|
236
|
-
**Workspace** ({forge_version}):
|
|
237
|
-
- provenance-map.json
|
|
238
|
-
- evidence-report.md
|
|
239
|
-
|
|
240
|
-
**Symlink:** {skill_group}/active -> {version}
|
|
241
|
-
|
|
242
|
-
**Total files written:** {total_count}
|
|
243
|
-
|
|
244
|
-
**Proceeding to validation...**"
|
|
245
|
-
|
|
246
|
-
### 10. Auto-Proceed to Next Step
|
|
247
|
-
|
|
248
|
-
Load, read the full file and then execute `{nextStepFile}`.
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
253
|
-
|
|
254
|
-
### ✅ SUCCESS:
|
|
255
|
-
|
|
256
|
-
- All deliverable files written to {skill_package}
|
|
257
|
-
- All workspace artifacts written to {forge_version}
|
|
258
|
-
- Directory structure created correctly with version nesting
|
|
259
|
-
- Active symlink created at {skill_group}/active -> {version}
|
|
260
|
-
- Each file matches its template structure
|
|
261
|
-
- Write summary displayed with accurate counts
|
|
262
|
-
|
|
263
|
-
### ❌ SYSTEM FAILURE:
|
|
264
|
-
|
|
265
|
-
- Any file write failure not caught (hard halt required)
|
|
266
|
-
- Modifying approved skill_content during writing
|
|
267
|
-
- Missing files from the expected output set
|
|
268
|
-
- Wrong directory paths for output
|
|
269
|
-
|
|
270
|
-
**Master Rule:** Write everything, modify nothing. Hard halt on any write failure.
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'step-09-report'
|
|
3
|
-
description: 'Display final stack skill summary with confidence distribution and next workflow recommendations'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Step 9: Stack Skill Report
|
|
7
|
-
|
|
8
|
-
## STEP GOAL:
|
|
9
|
-
|
|
10
|
-
Display the final summary of the forged stack skill with confidence distribution, output file listing, and next workflow recommendations.
|
|
11
|
-
|
|
12
|
-
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
13
|
-
|
|
14
|
-
### Universal Rules:
|
|
15
|
-
|
|
16
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
17
|
-
- ⚙️ 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
|
|
18
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
19
|
-
|
|
20
|
-
### Role Reinforcement:
|
|
21
|
-
|
|
22
|
-
- ✅ You are Ferris delivering the final forge report
|
|
23
|
-
- ✅ Positive capability framing — lead with what was accomplished
|
|
24
|
-
- ✅ Warnings are secondary — present them only if they exist
|
|
25
|
-
|
|
26
|
-
### Step-Specific Rules:
|
|
27
|
-
|
|
28
|
-
- 🎯 This is the FINAL step — no nextStepFile
|
|
29
|
-
- 🚫 FORBIDDEN to write or modify any files — report is console output only
|
|
30
|
-
- 💬 Lead with the positive summary, then details, then warnings if any
|
|
31
|
-
- 🎯 Recommend next workflows based on what was produced
|
|
32
|
-
|
|
33
|
-
## EXECUTION PROTOCOLS:
|
|
34
|
-
|
|
35
|
-
- 🎯 Compile summary from all previous step results
|
|
36
|
-
- 📖 Display report to user — workflow is complete after this
|
|
37
|
-
- 🚫 No file writes, no state updates — this is terminal output
|
|
38
|
-
|
|
39
|
-
## CONTEXT BOUNDARIES:
|
|
40
|
-
|
|
41
|
-
- From step 01: project_name, forge_tier
|
|
42
|
-
- From step 03: confirmed_dependencies[] count
|
|
43
|
-
- From step 04: per_library_extractions[] with confidence tiers
|
|
44
|
-
- From step 05: integration_graph with pair count
|
|
45
|
-
- From step 07: written_files[] with paths
|
|
46
|
-
- From step 08: validation_result with findings
|
|
47
|
-
- This step produces: console report (no stored artifacts)
|
|
48
|
-
|
|
49
|
-
## MANDATORY SEQUENCE
|
|
50
|
-
|
|
51
|
-
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
52
|
-
|
|
53
|
-
### 1. Display Stack Forged Banner
|
|
54
|
-
|
|
55
|
-
"**Stack forged: {project_name}-stack — {lib_count} libraries, {integration_count} integration patterns**
|
|
56
|
-
|
|
57
|
-
Forge tier: **{tier}**"
|
|
58
|
-
|
|
59
|
-
### 2. Display Confidence Distribution
|
|
60
|
-
|
|
61
|
-
"**Confidence distribution:**
|
|
62
|
-
|
|
63
|
-
| Tier | Count | Description |
|
|
64
|
-
|------|-------|-------------|
|
|
65
|
-
| T1 | {count} | AST-verified structural extraction |
|
|
66
|
-
| T1-low | {count} | Source reading inference |
|
|
67
|
-
| T2 | {count} | QMD-enriched temporal context |
|
|
68
|
-
|
|
69
|
-
{IF compose_mode:}
|
|
70
|
-
*Note: Confidence tiers above are inherited from source skills — they reflect the extraction method used when those skills were originally generated, not the current compose run.*
|
|
71
|
-
{END IF}"
|
|
72
|
-
|
|
73
|
-
### 3. Display Output File Summary
|
|
74
|
-
|
|
75
|
-
"**Output files:**
|
|
76
|
-
|
|
77
|
-
**Deliverables** (`{skill_package}`):
|
|
78
|
-
- SKILL.md — Integration patterns, library summaries, conventions
|
|
79
|
-
- context-snippet.md — Compressed stack index ({token_estimate} tokens)
|
|
80
|
-
- metadata.json — Skill metadata and library registry
|
|
81
|
-
- references/ — {lib_count} per-library reference files
|
|
82
|
-
{If integrations:} - references/integrations/ — {pair_count} integration pair files
|
|
83
|
-
|
|
84
|
-
**Workspace** (`{forge_version}`):
|
|
85
|
-
- provenance-map.json — Extraction source tracking
|
|
86
|
-
- evidence-report.md — Evidence and confidence breakdown
|
|
87
|
-
|
|
88
|
-
**Symlink:** `{skill_group}/active` -> `{version}`"
|
|
89
|
-
|
|
90
|
-
### 4. Display Validation Summary
|
|
91
|
-
|
|
92
|
-
**If validation passed with no findings:**
|
|
93
|
-
|
|
94
|
-
"**Validation:** All checks passed"
|
|
95
|
-
|
|
96
|
-
**If validation had findings:**
|
|
97
|
-
|
|
98
|
-
"**Validation:** {warning_count} warning(s) found
|
|
99
|
-
{For each finding:}
|
|
100
|
-
- ⚠ {description}"
|
|
101
|
-
|
|
102
|
-
### 5. Display Warnings (Conditional)
|
|
103
|
-
|
|
104
|
-
**Only display if warnings exist from any step:**
|
|
105
|
-
|
|
106
|
-
"**Warnings:**
|
|
107
|
-
{For each warning from steps 04, 05, 07, 08:}
|
|
108
|
-
- {warning_description}"
|
|
109
|
-
|
|
110
|
-
**If no warnings:** Skip this section entirely.
|
|
111
|
-
|
|
112
|
-
### 6. Recommend Next Workflows
|
|
113
|
-
|
|
114
|
-
"**Next steps:**
|
|
115
|
-
- **[TS] test-skill** — Validate the stack skill against its own assertions
|
|
116
|
-
- **[EX] export-skill** — Package for distribution or agent loading
|
|
117
|
-
|
|
118
|
-
- **[VS] verify-stack** — Validate the stack's integration feasibility against your architecture document{IF compose_mode:} (re-run to confirm feasibility after any architecture changes from **[RA] refine-architecture**){END IF}
|
|
119
|
-
|
|
120
|
-
**Workflow complete.**"
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
125
|
-
|
|
126
|
-
### ✅ SUCCESS:
|
|
127
|
-
|
|
128
|
-
- Banner displayed with accurate library and integration counts
|
|
129
|
-
- Confidence distribution table with correct tier counts
|
|
130
|
-
- All output files listed with descriptions
|
|
131
|
-
- Validation summary reflects actual step 08 findings
|
|
132
|
-
- Warnings displayed only when they exist
|
|
133
|
-
- Next workflow recommendations included
|
|
134
|
-
- Positive capability framing throughout
|
|
135
|
-
|
|
136
|
-
### ❌ SYSTEM FAILURE:
|
|
137
|
-
|
|
138
|
-
- Inaccurate counts in banner or distribution table
|
|
139
|
-
- Missing output files from the listing
|
|
140
|
-
- Displaying warnings section when no warnings exist
|
|
141
|
-
- Writing or modifying files in this step
|
|
142
|
-
- Not recommending next workflows
|
|
143
|
-
- Negative framing or apologetic tone
|
|
144
|
-
|
|
145
|
-
**Master Rule:** Celebrate what was built. Report accurately. Recommend next steps. Workflow complete.
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: create-stack-skill
|
|
3
|
-
description: Consolidated project stack skill with integration patterns
|
|
4
|
-
web_bundle: true
|
|
5
|
-
installed_path: '{project-root}/_bmad/skf/workflows/skillforge/create-stack-skill'
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Create Stack Skill
|
|
9
|
-
|
|
10
|
-
**Goal:** Produce a consolidated stack skill documenting how libraries connect. **Code-mode:** analyzes dependency manifests and co-import patterns from actual source code. **Compose-mode:** synthesizes from pre-generated individual skills and architecture documents when no codebase exists yet.
|
|
11
|
-
|
|
12
|
-
**Your Role:** In addition to your name, communication_style, and persona, you are also a dependency analyst and integration architect operating in Ferris Architect mode. You bring expertise in dependency analysis, cross-library integration patterns, and compositional architecture, while the user brings their project knowledge and scope preferences. Execute with prescriptive precision — every finding must trace to actual code with file:line citations.
|
|
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
|
-
- **Append-Only Building**: Build outputs by accumulating state across steps
|
|
26
|
-
- **Zero Hallucination**: All extracted content must trace to actual source code — no inferred or assumed patterns. In compose-mode, inferred integrations are permitted but must be labeled `[inferred from shared domain]` per compose-mode-rules.md
|
|
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
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## INITIALIZATION SEQUENCE
|
|
50
|
-
|
|
51
|
-
### 1. Module Configuration Loading
|
|
52
|
-
|
|
53
|
-
Load and read full config from {project-root}/_bmad/skf/config.yaml and resolve:
|
|
54
|
-
|
|
55
|
-
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `skills_output_folder`, `forge_data_folder`, `sidecar_path`
|
|
56
|
-
|
|
57
|
-
### 2. First Step Execution
|
|
58
|
-
|
|
59
|
-
Load, read the full file and then execute `./steps-c/step-01-init.md` to begin the workflow.
|