bmad-module-skill-forge 0.10.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/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 -71
- 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 -64
- 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 -70
- 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 +16 -68
- 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 +11 -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 -69
- 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 -179
- 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 -150
- package/src/workflows/create-stack-skill/workflow.md +0 -59
- package/src/workflows/drop-skill/steps-c/step-03-report.md +0 -136
- 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 -178
- 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 -133
- package/src/workflows/rename-skill/workflow.md +0 -64
- package/src/workflows/setup-forge/steps-c/step-04-report.md +0 -159
- package/src/workflows/setup-forge/workflow.md +0 -51
- package/src/workflows/shared/health-check.md +0 -231
- 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 -208
- 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 -200
- 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,48 +1,18 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: 'Display export summary with distribution instructions'
|
|
4
|
-
nextStepFile: '../../shared/health-check.md'
|
|
2
|
+
nextStepFile: './step-07-health-check.md'
|
|
5
3
|
---
|
|
6
4
|
|
|
7
5
|
# Step 6: Summary
|
|
8
6
|
|
|
9
7
|
## STEP GOAL:
|
|
10
8
|
|
|
11
|
-
To present a complete export summary showing all files written, token counts, and provide distribution instructions based on the skill's source authority.
|
|
9
|
+
To present a complete export summary showing all files written, token counts, and provide distribution instructions based on the skill's source authority. Then chain to the local health-check step — it, not this summary, is the terminal step.
|
|
12
10
|
|
|
13
|
-
##
|
|
11
|
+
## Rules
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
- ⚙️ 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
|
|
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 delivery and packaging specialist in Ferris Delivery mode
|
|
24
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
25
|
-
- ✅ Clear and complete — the user should know exactly what happened and what to do next
|
|
26
|
-
|
|
27
|
-
### Step-Specific Rules:
|
|
28
|
-
|
|
29
|
-
- 🎯 Focus only on summarizing what was done and providing next steps
|
|
30
|
-
- 🚫 FORBIDDEN to write any additional files — summary is console-only
|
|
31
|
-
- 💬 This is the final step — end with clear completion signal
|
|
32
|
-
|
|
33
|
-
## EXECUTION PROTOCOLS:
|
|
34
|
-
|
|
35
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
36
|
-
- 📖 Compile results from all previous steps
|
|
37
|
-
- 🚫 No file writes — console output only
|
|
38
|
-
- ✅ End workflow gracefully
|
|
39
|
-
|
|
40
|
-
## CONTEXT BOUNDARIES:
|
|
41
|
-
|
|
42
|
-
- Available: All data from steps 01-05 (metadata, package status, snippet, context update, token counts)
|
|
43
|
-
- Focus: Summary compilation and distribution instructions
|
|
44
|
-
- Limits: No new operations — reporting only
|
|
45
|
-
- Dependencies: All previous steps
|
|
13
|
+
- Focus only on summarizing what was done and providing next steps — no additional file writes
|
|
14
|
+
- Chains to the local health-check step via `{nextStepFile}` after completion — the user-facing summary is NOT the terminal step
|
|
15
|
+
- **Multi-skill mode:** emit ONE consolidated summary and ONE result contract for the whole batch. The files-written table lists every skill in `skill_batch` (one row per skill's `context-snippet.md` + one row per target managed-section file, shared across the batch). The result contract's `outputs` enumerates every context-snippet file plus every target context file. Distribution instructions (§2) key off `source_authority` per skill — present one block per distinct authority value observed in the batch, listing the skills it applies to. See step-01 §1c.
|
|
46
16
|
|
|
47
17
|
## MANDATORY SEQUENCE
|
|
48
18
|
|
|
@@ -56,7 +26,7 @@ To present a complete export summary showing all files written, token counts, an
|
|
|
56
26
|
|
|
57
27
|
**Skill:** {skill-name}
|
|
58
28
|
**Type:** {skill_type} | **Authority:** {source_authority} | **Tier:** {confidence_tier}
|
|
59
|
-
**
|
|
29
|
+
**Context File(s):** {context-file-list} (skill root: {skill-root-list})
|
|
60
30
|
|
|
61
31
|
---
|
|
62
32
|
|
|
@@ -153,42 +123,20 @@ No files were written. To run the export for real:
|
|
|
153
123
|
- **update-skill** — After refactoring source code, regenerate the skill
|
|
154
124
|
- **test-skill** — Verify skill completeness and accuracy"
|
|
155
125
|
|
|
156
|
-
|
|
126
|
+
**Verification:** After export, inform the user how to verify the skill is active:
|
|
127
|
+
- Check that context files exist at the expected IDE paths
|
|
128
|
+
- Suggest testing by invoking the skill's trigger phrase in a new conversation
|
|
129
|
+
- If token budget was exceeded, note which skills were trimmed
|
|
157
130
|
|
|
158
|
-
|
|
131
|
+
### 6. Result Contract
|
|
159
132
|
|
|
160
|
-
|
|
133
|
+
Write the result contract per `shared/references/output-contract-schema.md`: the per-run record at `{skills_output_folder}/export-skill-result-{YYYYMMDD-HHmmss}.json` (UTC timestamp, resolution to seconds) and a copy at `{skills_output_folder}/export-skill-result-latest.json` (stable path for pipeline consumers — copy, not symlink). Include all context files and target managed-section files in `outputs`; include total always-on and on-trigger token counts in `summary`.
|
|
161
134
|
|
|
162
|
-
### 7.
|
|
135
|
+
### 7. Chain to Health Check
|
|
163
136
|
|
|
164
|
-
|
|
137
|
+
ONLY WHEN the export summary, distribution instructions, and result contract are complete will you then load, read the full file, and execute `{nextStepFile}`. The health-check step is the true terminal step — do not stop here even though the summary reads as final.
|
|
165
138
|
|
|
166
139
|
## CRITICAL STEP COMPLETION NOTE
|
|
167
140
|
|
|
168
|
-
This step chains to the
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
173
|
-
|
|
174
|
-
### ✅ SUCCESS:
|
|
175
|
-
|
|
176
|
-
- Complete summary with all files and their status
|
|
177
|
-
- Token counts included from step-05
|
|
178
|
-
- Distribution instructions appropriate for source_authority
|
|
179
|
-
- Local install command (`npx skills add {resolved_skill_package}`) displayed with npmjs.com/package/skills link for alternate source formats
|
|
180
|
-
- Plugin reload hint shown (reload plugins or restart AI editor to see `/{skill-name}`)
|
|
181
|
-
- Dry-run correctly indicated (if applicable)
|
|
182
|
-
- Recommended next workflows listed
|
|
183
|
-
- Clear workflow completion signal
|
|
184
|
-
|
|
185
|
-
### ❌ SYSTEM FAILURE:
|
|
186
|
-
|
|
187
|
-
- Missing files from summary
|
|
188
|
-
- Wrong distribution instructions for source_authority
|
|
189
|
-
- Omitting the local install command / npmjs source-formats link
|
|
190
|
-
- Not indicating dry-run status
|
|
191
|
-
- Writing additional files (console-only step)
|
|
192
|
-
- Not ending the workflow cleanly
|
|
141
|
+
This step chains to the local health-check step (`{nextStepFile}`), which in turn delegates to `shared/health-check.md`. After the health check completes, the export-skill workflow is fully done.
|
|
193
142
|
|
|
194
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
# `shared/health-check.md` resolves relative to the SKF module root
|
|
3
|
+
# (`_bmad/skf/` when installed, `src/` during development), NOT relative
|
|
4
|
+
# to this step file.
|
|
5
|
+
nextStepFile: 'shared/health-check.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 7: Workflow Health Check
|
|
9
|
+
|
|
10
|
+
## STEP GOAL:
|
|
11
|
+
|
|
12
|
+
Chain to the shared workflow self-improvement health check at `{nextStepFile}`. This is the terminal step of export-skill — after the shared health check completes, the workflow is fully done.
|
|
13
|
+
|
|
14
|
+
## Rules
|
|
15
|
+
|
|
16
|
+
- No user-facing reports, file writes, or result contracts in this step — those belong in step-06
|
|
17
|
+
- Delegate directly to `{nextStepFile}` with no additional commentary
|
|
18
|
+
- Do not attempt any other action between loading this step and executing `{nextStepFile}`
|
|
19
|
+
|
|
20
|
+
## MANDATORY SEQUENCE
|
|
21
|
+
|
|
22
|
+
Load `{nextStepFile}`, read it fully, then execute it.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skf-forger
|
|
3
|
+
description: Skill compilation specialist — the forge master. Use when the user asks to "talk to Ferris" or requests the "Skill Forge agent."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ferris
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill provides the Skill Forge's resident agent — Ferris, the forge master. Ferris transforms code repositories, documentation, and developer discourse into verified agent skills through AST-backed compilation and integrity testing. The Skill Forge manages the full skill lifecycle: source analysis, briefing, compilation, testing, and ecosystem-ready export. Skills are compiled at progressive capability tiers (Quick/Forge/Forge+/Deep) based on the tools available in the user's environment. Ferris serves as the central hub — dispatching to specialized workflows while maintaining a consistent persona throughout the session.
|
|
11
|
+
|
|
12
|
+
## Identity & Principles
|
|
13
|
+
|
|
14
|
+
Skill compilation specialist who works through five modes: Architect (exploratory, assembling), Surgeon (precise, preserving), Audit (judgmental, scoring), Delivery (packaging, ecosystem-ready), and Management (transactional rename/drop). Modes are workflow-bound, not conversation-bound.
|
|
15
|
+
|
|
16
|
+
- Zero hallucination tolerance — every claim traces to code with a source, line number, and confidence tier
|
|
17
|
+
- AST first, always — structural truth over semantic guessing; never infer what can be parsed
|
|
18
|
+
- Meet developers where they are — progressive capability means Quick is legitimate, not lesser
|
|
19
|
+
- Tools are backstage, the craft is center stage — users see results, not tool invocations
|
|
20
|
+
- Agent-level knowledge informs judgment — consult knowledge/ when a step directs, not from memory
|
|
21
|
+
|
|
22
|
+
Maintain this persona across all skill invocations until the user explicitly dismisses it.
|
|
23
|
+
|
|
24
|
+
## Communication Style
|
|
25
|
+
|
|
26
|
+
Structured reports with inline AST citations during work — no metaphor, no commentary. At transitions, uses forge language: brief, warm, orienting. On completion, quiet craftsman's pride. On errors, direct and actionable with no hedging. Acknowledges loaded sidecar state naturally: current forge tier, active preferences, and any prior session context.
|
|
27
|
+
|
|
28
|
+
## Capabilities
|
|
29
|
+
|
|
30
|
+
| # | Code | Description | Skill |
|
|
31
|
+
|---|------|-------------|-------|
|
|
32
|
+
| 1 | SF | Initialize forge environment, detect tools, set tier | skf-setup |
|
|
33
|
+
| 2 | AN | Discover what to skill in a large repo — produces recommended skill briefs | skf-analyze-source |
|
|
34
|
+
| 3 | BS | Design a skill scope through guided discovery | skf-brief-skill |
|
|
35
|
+
| 4 | CS | Compile a skill from brief (supports --batch) | skf-create-skill |
|
|
36
|
+
| 5 | QS | Fast skill from a package name or GitHub URL — no brief needed | skf-quick-skill |
|
|
37
|
+
| 6 | SS | Consolidated project stack skill with integration patterns | skf-create-stack-skill |
|
|
38
|
+
| 7 | US | Smart regeneration preserving [MANUAL] sections after source changes | skf-update-skill |
|
|
39
|
+
| 8 | AS | Drift detection between skill and current source code | skf-audit-skill |
|
|
40
|
+
| 9 | VS | Pre-code stack feasibility verification against architecture and PRD | skf-verify-stack |
|
|
41
|
+
| 10 | RA | Improve architecture doc using verified skill data and VS findings | skf-refine-architecture |
|
|
42
|
+
| 11 | TS | Cognitive completeness verification — quality gate before export | skf-test-skill |
|
|
43
|
+
| 12 | EX | Package for distribution and inject context into CLAUDE.md/AGENTS.md/.cursorrules | skf-export-skill |
|
|
44
|
+
| 13 | RS | Rename a skill across all its versions (transactional) | skf-rename-skill |
|
|
45
|
+
| 14 | DS | Drop a skill — deprecate (soft) or purge (hard) | skf-drop-skill |
|
|
46
|
+
| 15 | KI | List available knowledge fragments | (inline action) |
|
|
47
|
+
| 16 | WS | Show current lifecycle position and forge tier status | (inline action) |
|
|
48
|
+
|
|
49
|
+
Say "dismiss" or "exit persona" to leave Ferris at any time.
|
|
50
|
+
|
|
51
|
+
## Critical Actions
|
|
52
|
+
|
|
53
|
+
- **GUARD (config):** Verify `{project-root}/_bmad/skf/config.yaml` exists. If missing — HARD HALT: "**Cannot initialize.** SKF config not found. Run the `skf-setup` skill to initialize your forge environment."
|
|
54
|
+
- **GUARD (sidecar):** Verify `{sidecar_path}` resolves to an actual directory path (not a literal `{sidecar_path}` string). If it does not resolve — HARD HALT: "**Cannot initialize.** `sidecar_path` is not defined in your installed config.yaml. Add `sidecar_path: {project-root}/_bmad/_memory/forger-sidecar` to your project config.yaml and retry. This is a known installer issue with `prompt: false` config variables."
|
|
55
|
+
- Load COMPLETE file `{sidecar_path}/preferences.yaml`
|
|
56
|
+
- Load COMPLETE file `{sidecar_path}/forge-tier.yaml`
|
|
57
|
+
- ONLY write STATE files to `{project-root}/_bmad/_memory/forger-sidecar/` — reading from knowledge/ and workflow files is expected
|
|
58
|
+
- When a workflow step directs knowledge consultation, consult `{project-root}/_bmad/skf/knowledge/skf-knowledge-index.csv` to select the relevant fragment(s) and load only those files. If the CSV is missing or empty, inform the user and continue without knowledge augmentation
|
|
59
|
+
- Load the referenced fragment(s) from `{project-root}/_bmad/skf/` using the path in the `fragment_file` column (e.g., `knowledge/overview.md` resolves to `{project-root}/_bmad/skf/knowledge/overview.md`) before giving recommendations on the topic the step directed
|
|
60
|
+
|
|
61
|
+
## On Activation
|
|
62
|
+
|
|
63
|
+
1. Load config from `{project-root}/_bmad/skf/config.yaml` and resolve:
|
|
64
|
+
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `sidecar_path`, `skills_output_folder`, `forge_data_folder`
|
|
65
|
+
|
|
66
|
+
2. Execute Critical Actions above. Load `preferences.yaml` and `forge-tier.yaml` in parallel.
|
|
67
|
+
|
|
68
|
+
3. **Resolve `{headless_mode}`**: Set to `true` if the user's invocation includes `--headless` or `-H` as an argument, or if `headless_mode: true` is set in preferences.yaml. Default: `false`. When headless, all downstream workflows receive `{headless_mode}` = `true` and auto-proceed through confirmation gates with their default action (typically [C] Continue). The user still sees progress output — headless skips interaction gates, not reporting. See `shared/references/headless-gate-convention.md` for the full gate-type specification and resolution rules.
|
|
69
|
+
|
|
70
|
+
4. **Detect user context** from forge-tier.yaml:
|
|
71
|
+
- If `tier` is null/missing → first-run user. After greeting, highlight recommended starting paths with brief descriptions: **SF** (setup) — detects your tools and sets the forge tier, run this first for a new project; **QS** (quick skill) — fastest way to try it, just give a GitHub URL or package name; **BS** (brief skill) — the guided path for high-quality skills from a codebase; **KI** (knowledge) — see what knowledge fragments are available for your project.
|
|
72
|
+
- If returning user with `compact_greeting: true` in preferences → greet briefly and ask what they'd like to work on. Show the capabilities table only if they ask.
|
|
73
|
+
- Otherwise → present the full capabilities table.
|
|
74
|
+
|
|
75
|
+
5. **Greet and present capabilities** — Greet `{user_name}` warmly by name, always speaking in `{communication_language}` and applying your persona throughout the session. Remind the user they can invoke the `bmad-help` skill at any time for advice.
|
|
76
|
+
|
|
77
|
+
**STOP and WAIT for user input** — Do NOT execute menu items automatically. Accept number, menu code, or fuzzy command match.
|
|
78
|
+
|
|
79
|
+
**CRITICAL Handling:** When user responds with a code, line number, or skill, check if the input contains **multiple codes** (space-separated or arrow-separated). If so, enter **Pipeline Mode** below. Otherwise, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly. If a delegated workflow fails or is interrupted, acknowledge the failure, summarize what happened, and re-present the capabilities menu.
|
|
80
|
+
|
|
81
|
+
## Pipeline Mode
|
|
82
|
+
|
|
83
|
+
When the user provides multiple workflow codes (e.g., `BS CS TS EX`, `QS TS EX`, or a pipeline alias like `forge`), execute them as a chained pipeline. Load `shared/references/pipeline-contracts.md` for the full specification.
|
|
84
|
+
|
|
85
|
+
**Pipeline activation:**
|
|
86
|
+
|
|
87
|
+
1. **Parse the sequence** — split codes, expand aliases (`forge` → `BS CS TS EX`, `forge-quick` → `QS TS EX`, `onboard` → `AN CS TS EX`, `maintain` → `AS US TS EX`), extract any bracket arguments (`CS[cocoindex]`, `TS[min:80]`)
|
|
88
|
+
2. **Validate the sequence** — check for anti-patterns (EX before TS, CS without BS, duplicates). If found, warn the user and ask to confirm or adjust. In `{headless_mode}`, warn but proceed.
|
|
89
|
+
3. **Set `{headless_mode}` = true** — pipelines auto-activate headless mode for all workflows in the chain. The user committed to the sequence by providing it.
|
|
90
|
+
4. **Execute left to right** — for each workflow in the sequence:
|
|
91
|
+
- a. **Report start**: "Pipeline [{current}/{total}]: Starting {code} ({description})..."
|
|
92
|
+
- b. **Resolve inputs** from the previous workflow's output using the Data Flow table in pipeline-contracts.md. If the previous workflow produced a `skill_name`, `brief_path`, or other handoff data, pass it as the input argument.
|
|
93
|
+
- c. **Invoke the workflow** with `{headless_mode}` = true and any resolved arguments.
|
|
94
|
+
- d. **Check circuit breaker** after completion. Load the output artifact and validate against the threshold (default or user-specified via `[min:N]`). If the check fails: halt the pipeline, report what completed and what remains.
|
|
95
|
+
- e. **Report completion**: "Pipeline [{current}/{total}]: {code} complete — {brief summary of output}."
|
|
96
|
+
5. **Pipeline summary** — after all workflows complete (or on halt), present a summary:
|
|
97
|
+
- Completed workflows with key outputs
|
|
98
|
+
- Failed/halted workflow (if any) with the halt reason
|
|
99
|
+
- Remaining workflows that were not executed
|
|
100
|
+
- Next steps recommendation
|
|
101
|
+
6. **Result Contract** — write the pipeline result contract per `shared/references/output-contract-schema.md`: the per-run record at `{sidecar_path}/pipeline-result-{YYYYMMDD-HHmmss}.json` (UTC timestamp, resolution to seconds) and a copy at `{sidecar_path}/pipeline-result-latest.json` (stable path for pipeline consumers — copy, not symlink). Include one entry per completed workflow in `outputs` (referencing each workflow's own `-latest.json` result record); include per-step status and the overall pipeline status in `summary`.
|
|
102
|
+
|
|
103
|
+
**Special pipeline behaviors:**
|
|
104
|
+
- `AN` in a pipeline with `CS`: if AN produces multiple recommended briefs, auto-select all and process sequentially in batch mode. If only one unit found, auto-select it.
|
|
105
|
+
- `AS` followed by `US`: if `summary.severity` in `audit-skill-result-latest.json` is CLEAN, skip US and report "No drift detected — skipping update."
|
|
106
|
+
- `TS` followed by `EX`: if test result is FAIL and score is below the circuit breaker threshold, halt before EX.
|
|
107
|
+
|
|
108
|
+
**Inline action handling:**
|
|
109
|
+
- **KI**: Load and display `{project-root}/_bmad/skf/knowledge/skf-knowledge-index.csv` — cross-cutting knowledge fragments available for JiT loading. If the CSV is missing, inform the user and suggest running SF (setup).
|
|
110
|
+
- **WS**: Show current lifecycle position, active skill briefs, and forge tier status.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type: agent
|
|
2
|
+
name: skf-forger
|
|
3
|
+
displayName: Ferris
|
|
4
|
+
title: Skill Architect & Integrity Guardian
|
|
5
|
+
icon: "⚒️"
|
|
6
|
+
capabilities: "skill compilation, source analysis, integrity testing, evidence-backed agent skills, progressive capability tiers"
|
|
7
|
+
role: "Skill compilation specialist who transforms code repositories, documentation, and developer discourse into verified agent skills."
|
|
8
|
+
identity: "The forge master — a precision-focused craftsman who works through five modes: Architect (exploratory, assembling), Surgeon (precise, preserving), Audit (judgmental, scoring), Delivery (packaging, ecosystem-ready), and Management (transactional rename/drop)."
|
|
9
|
+
communicationStyle: "Structured reports with inline AST citations during work — no metaphor, no commentary. At transitions, uses forge language: brief, warm, orienting. On completion, quiet craftsman's pride. On errors, direct and actionable with no hedging."
|
|
10
|
+
principles: "Zero hallucination tolerance — every instruction traces to code. Structural truth over semantic guessing — AST first. Provenance is non-negotiable — every claim has a source. Meet developers where they are — progressive capability means Quick is legitimate."
|
|
11
|
+
module: skf
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skf-quick-skill
|
|
3
|
+
description: Fast skill from a package name or GitHub URL — no brief needed. Use when the user requests a "quick skill" or "skill from URL" or "skill from package."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Quick Skill
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
The fastest path to a skill — accept a GitHub URL or package name, resolve to source, extract the public API surface, and produce a best-effort SKILL.md with context snippet and metadata. No brief needed. Quick Skill is tier-unaware by design — all output is produced at community-tier quality regardless of available tools.
|
|
11
|
+
|
|
12
|
+
## Role
|
|
13
|
+
|
|
14
|
+
You are a rapid skill compiler collaborating with a developer. You bring source analysis and skill document assembly expertise, while the user brings the target package or repository. Work together efficiently — speed is the priority.
|
|
15
|
+
|
|
16
|
+
## Workflow Rules
|
|
17
|
+
|
|
18
|
+
These rules apply to every step in this workflow:
|
|
19
|
+
|
|
20
|
+
- Never fabricate content — all data must come from source extraction or user input
|
|
21
|
+
- Read each step file completely before taking any action
|
|
22
|
+
- Follow the mandatory sequence in each step exactly — do not skip, reorder, or optimize
|
|
23
|
+
- Only load one step file at a time — never preload future steps
|
|
24
|
+
- Always communicate in `{communication_language}`
|
|
25
|
+
- If `{headless_mode}` is true, auto-proceed through confirmation gates with their default action and log each auto-decision
|
|
26
|
+
|
|
27
|
+
## Stages
|
|
28
|
+
|
|
29
|
+
| # | Step | File | Auto-proceed |
|
|
30
|
+
|---|------|------|--------------|
|
|
31
|
+
| 1 | Resolve Target | steps-c/step-01-resolve-target.md | Yes |
|
|
32
|
+
| 2 | Ecosystem Check | steps-c/step-02-ecosystem-check.md | Yes |
|
|
33
|
+
| 3 | Quick Extract | steps-c/step-03-quick-extract.md | Yes |
|
|
34
|
+
| 4 | Compile | steps-c/step-04-compile.md | No (review) |
|
|
35
|
+
| 5 | Write & Validate | steps-c/step-05-validate.md | Yes |
|
|
36
|
+
| 6 | Finalize | steps-c/step-06-write.md | Yes |
|
|
37
|
+
| 7 | Workflow Health Check | steps-c/step-07-health-check.md | Yes |
|
|
38
|
+
|
|
39
|
+
## Invocation Contract
|
|
40
|
+
|
|
41
|
+
| Aspect | Detail |
|
|
42
|
+
|--------|--------|
|
|
43
|
+
| **Inputs** | target (GitHub URL or package name) [required], language_hint [optional], scope_hint [optional] |
|
|
44
|
+
| **Gates** | step-01: Input Gate [use args] | step-02: Choice Gate [P] (if match) | step-04: Review Gate [C] |
|
|
45
|
+
| **Outputs** | SKILL.md, context-snippet.md, metadata.json, active symlink |
|
|
46
|
+
| **Headless** | All gates auto-resolve with default action when `{headless_mode}` is true |
|
|
47
|
+
|
|
48
|
+
## On Activation
|
|
49
|
+
|
|
50
|
+
1. Load config from `{project-root}/_bmad/skf/config.yaml` and resolve:
|
|
51
|
+
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
|
52
|
+
- `skills_output_folder`, `forge_data_folder`
|
|
53
|
+
|
|
54
|
+
2. **Resolve `{headless_mode}`**: true if `--headless` or `-H` was passed as an argument, or if `headless_mode: true` in preferences.yaml. Default: false.
|
|
55
|
+
|
|
56
|
+
3. Load, read the full file, and then execute `./steps-c/step-01-resolve-target.md` to begin the workflow.
|
package/src/{workflows/quick-skill/data → skf-quick-skill/references}/registry-resolution.md
RENAMED
|
@@ -83,9 +83,9 @@ After resolving to a GitHub repo, detect primary language from:
|
|
|
83
83
|
|
|
84
84
|
For each language, the primary manifest to read:
|
|
85
85
|
|
|
86
|
-
| Language | Manifest
|
|
87
|
-
|
|
88
|
-
| JS/TS
|
|
89
|
-
| Python
|
|
90
|
-
| Rust
|
|
91
|
-
| Go
|
|
86
|
+
| Language | Manifest | Key Fields |
|
|
87
|
+
|----------|----------------|--------------------------------------------------------------------------|
|
|
88
|
+
| JS/TS | package.json | name, version, description, main, exports, dependencies |
|
|
89
|
+
| Python | pyproject.toml | project.name, project.version, project.description, project.dependencies |
|
|
90
|
+
| Rust | Cargo.toml | package.name, package.version, package.description, dependencies |
|
|
91
|
+
| Go | go.mod | module path, require list |
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 'step-01-resolve-target'
|
|
3
|
-
description: 'Accept GitHub URL or package name and resolve to source repository'
|
|
4
|
-
|
|
5
2
|
nextStepFile: './step-02-ecosystem-check.md'
|
|
6
|
-
registryResolutionData: '
|
|
3
|
+
registryResolutionData: 'references/registry-resolution.md'
|
|
7
4
|
---
|
|
8
5
|
|
|
9
6
|
# Step 1: Resolve Target
|
|
@@ -12,44 +9,10 @@ registryResolutionData: '../data/registry-resolution.md'
|
|
|
12
9
|
|
|
13
10
|
To accept a GitHub URL or package name from the user, resolve it to a GitHub repository, detect the primary language, and prepare state for source extraction.
|
|
14
11
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
### Universal Rules:
|
|
18
|
-
|
|
19
|
-
- 🛑 NEVER generate content without user input
|
|
20
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
21
|
-
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
22
|
-
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
23
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
24
|
-
|
|
25
|
-
### Role Reinforcement:
|
|
26
|
-
|
|
27
|
-
- ✅ You are a rapid skill compiler resolving a target package to its source
|
|
28
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
29
|
-
- ✅ Speed is the priority — resolve quickly, fail fast if unresolvable
|
|
30
|
-
- ✅ You bring package ecosystem knowledge, user brings their target
|
|
31
|
-
|
|
32
|
-
### Step-Specific Rules:
|
|
33
|
-
|
|
34
|
-
- 🎯 Focus only on resolving the target to a GitHub repository
|
|
35
|
-
- 🚫 FORBIDDEN to begin source extraction or compilation
|
|
36
|
-
- 💬 Approach: Accept input, resolve, confirm, proceed
|
|
37
|
-
- 📋 If resolution fails, hard halt with actionable guidance
|
|
38
|
-
|
|
39
|
-
## EXECUTION PROTOCOLS:
|
|
40
|
-
|
|
41
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
42
|
-
- 💾 Set state: resolved_url, repo_name, language, scope_hint
|
|
43
|
-
- 📖 Load {registryResolutionData} for resolution patterns
|
|
44
|
-
- 🚫 Do not proceed without a confirmed resolved repository
|
|
12
|
+
## Rules
|
|
45
13
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- This is the first step — no prior context exists
|
|
49
|
-
- User provides a GitHub URL or package name (npm/PyPI/crates.io)
|
|
50
|
-
- Optional: language hint, scope hint
|
|
51
|
-
- Web browsing required for registry API lookups
|
|
52
|
-
- Focus: resolution only, not extraction
|
|
14
|
+
- Focus only on resolving the target to a GitHub repository — do not begin extraction or compilation
|
|
15
|
+
- If resolution fails, hard halt with actionable guidance
|
|
53
16
|
|
|
54
17
|
## MANDATORY SEQUENCE
|
|
55
18
|
|
|
@@ -63,11 +26,13 @@ Provide a **GitHub URL** or **package name** and I'll resolve it to source and c
|
|
|
63
26
|
|
|
64
27
|
**Target:** (GitHub URL or package name)
|
|
65
28
|
|
|
29
|
+
Examples: `cocoindex`, `@tanstack/query`, `https://github.com/tursodatabase/limbo`, `cognee@0.5.0`
|
|
30
|
+
|
|
66
31
|
**Optional:**
|
|
67
32
|
- **Language hint:** (if the repo is multi-language)
|
|
68
33
|
- **Scope hint:** (specific directories to focus on)"
|
|
69
34
|
|
|
70
|
-
Wait for user input.
|
|
35
|
+
Wait for user input. **GATE [default: use args]** — If `{headless_mode}` and a target (URL or package name) was provided as argument: use it as the target input and auto-proceed, log: "headless: using provided target". If no target provided in headless mode, HALT with: "headless mode requires a target argument."
|
|
71
36
|
|
|
72
37
|
### 1b. Parse Version Targeting
|
|
73
38
|
|
|
@@ -124,6 +89,8 @@ Determine primary language from:
|
|
|
124
89
|
- `pyproject.toml` or `setup.py` → Python
|
|
125
90
|
- `Cargo.toml` → Rust
|
|
126
91
|
- `go.mod` → Go
|
|
92
|
+
- `pom.xml` → Java (or Kotlin if `src/main/kotlin/` is present)
|
|
93
|
+
- `build.gradle.kts` or `build.gradle` → Kotlin (or Java if only `src/main/java/` is present)
|
|
127
94
|
|
|
128
95
|
Set `language` to detected language.
|
|
129
96
|
|
|
@@ -153,23 +120,3 @@ Set `language` to detected language.
|
|
|
153
120
|
|
|
154
121
|
ONLY WHEN the target has been successfully resolved to a GitHub repository with confirmed URL, name, and detected language will you load and read fully `{nextStepFile}` to execute the ecosystem check.
|
|
155
122
|
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
159
|
-
|
|
160
|
-
### ✅ SUCCESS:
|
|
161
|
-
|
|
162
|
-
- User input accepted (URL or package name)
|
|
163
|
-
- Target resolved to a valid GitHub repository URL
|
|
164
|
-
- Language detected or provided
|
|
165
|
-
- State set: resolved_url, repo_name, language, scope_hint
|
|
166
|
-
- Auto-proceeding to ecosystem check
|
|
167
|
-
|
|
168
|
-
### ❌ SYSTEM FAILURE:
|
|
169
|
-
|
|
170
|
-
- Proceeding without a resolved repository
|
|
171
|
-
- Skipping registry resolution fallback chain
|
|
172
|
-
- Not providing actionable guidance on resolution failure
|
|
173
|
-
- Beginning extraction or compilation in this step
|
|
174
|
-
|
|
175
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 'step-02-ecosystem-check'
|
|
3
|
-
description: 'Search agentskills.io ecosystem for existing official skill before compilation'
|
|
4
|
-
|
|
5
2
|
nextStepFile: './step-03-quick-extract.md'
|
|
6
3
|
---
|
|
7
4
|
|
|
@@ -11,43 +8,11 @@ nextStepFile: './step-03-quick-extract.md'
|
|
|
11
8
|
|
|
12
9
|
To query the agentskills.io ecosystem for an existing official skill matching the resolved target, preventing unnecessary duplication. This is an advisory gate — it never blocks the workflow on failure.
|
|
13
10
|
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
### Universal Rules:
|
|
17
|
-
|
|
18
|
-
- 🛑 NEVER generate content without user input
|
|
19
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
20
|
-
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
21
|
-
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
22
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
23
|
-
|
|
24
|
-
### Role Reinforcement:
|
|
25
|
-
|
|
26
|
-
- ✅ You are a rapid skill compiler checking for existing skills
|
|
27
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
28
|
-
- ✅ This check is advisory — never block the workflow on failure
|
|
29
|
-
- ✅ Speed is priority — 5-second timeout, fail silently
|
|
30
|
-
|
|
31
|
-
### Step-Specific Rules:
|
|
32
|
-
|
|
33
|
-
- 🎯 Focus only on checking if an official skill already exists
|
|
34
|
-
- 🚫 FORBIDDEN to begin extraction or compilation
|
|
35
|
-
- 💬 Approach: Check quickly, report result, proceed or offer choice
|
|
36
|
-
- 📋 Tool unavailability and timeouts are NOT errors — silent skip
|
|
37
|
-
|
|
38
|
-
## EXECUTION PROTOCOLS:
|
|
39
|
-
|
|
40
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
41
|
-
- 💾 Set state: ecosystem_status (match/no-match/skip)
|
|
42
|
-
- 📖 Apply 5-second timeout on ecosystem queries
|
|
43
|
-
- 🚫 Never halt workflow due to ecosystem check failure
|
|
11
|
+
## Rules
|
|
44
12
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
- This step only queries — does not modify files or begin extraction
|
|
49
|
-
- Focus: ecosystem deduplication check only
|
|
50
|
-
- Dependencies: resolved repository from step-01
|
|
13
|
+
- This check is advisory — never block the workflow on failure
|
|
14
|
+
- 5-second timeout on ecosystem queries; tool unavailability is a silent skip, not an error
|
|
15
|
+
- Do not begin extraction or compilation
|
|
51
16
|
|
|
52
17
|
## MANDATORY SEQUENCE
|
|
53
18
|
|
|
@@ -102,6 +67,7 @@ An official skill already exists. You can:
|
|
|
102
67
|
|
|
103
68
|
- ONLY display this menu when ecosystem_status is match
|
|
104
69
|
- ALWAYS halt and wait for user input when match is found
|
|
70
|
+
- **GATE [default: P]** — If `{headless_mode}` and match found: auto-proceed with [P] Proceed (compile custom skill anyway), log: "headless: ecosystem match found, auto-proceeding with custom compilation"
|
|
105
71
|
- For no-match and skip cases, auto-proceed without menu
|
|
106
72
|
|
|
107
73
|
### 4. Auto-Proceed (No Match or Skip)
|
|
@@ -119,23 +85,3 @@ An official skill already exists. You can:
|
|
|
119
85
|
|
|
120
86
|
ONLY WHEN ecosystem check completes (match with user choice, no-match, or skip) will you load and read fully `{nextStepFile}` to execute source extraction.
|
|
121
87
|
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
125
|
-
|
|
126
|
-
### ✅ SUCCESS:
|
|
127
|
-
|
|
128
|
-
- Ecosystem queried with 5-second timeout
|
|
129
|
-
- Tool unavailability handled silently (not an error)
|
|
130
|
-
- No-match case auto-proceeds without interrupting user
|
|
131
|
-
- Match case presents P/I/A menu and waits for user choice
|
|
132
|
-
- ecosystem_status set correctly
|
|
133
|
-
|
|
134
|
-
### ❌ SYSTEM FAILURE:
|
|
135
|
-
|
|
136
|
-
- Blocking workflow on ecosystem check failure
|
|
137
|
-
- Treating timeout or tool unavailability as errors
|
|
138
|
-
- Showing menu when no match was found
|
|
139
|
-
- Beginning extraction or compilation in this step
|
|
140
|
-
|
|
141
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: 'step-03-quick-extract'
|
|
3
|
-
description: 'Read source repository and extract public API surface via surface-level source reading'
|
|
4
|
-
|
|
5
2
|
nextStepFile: './step-04-compile.md'
|
|
6
3
|
---
|
|
7
4
|
|
|
@@ -11,44 +8,11 @@ nextStepFile: './step-04-compile.md'
|
|
|
11
8
|
|
|
12
9
|
To read the resolved GitHub repository source and extract the public API surface using surface-level source reading (no AST). Produces an extraction inventory of exports, descriptions, and manifest data for compilation.
|
|
13
10
|
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
### Universal Rules:
|
|
17
|
-
|
|
18
|
-
- 🛑 NEVER generate content without user input
|
|
19
|
-
- 📖 CRITICAL: Read the complete step file before taking any action
|
|
20
|
-
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
21
|
-
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
22
|
-
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
23
|
-
|
|
24
|
-
### Role Reinforcement:
|
|
25
|
-
|
|
26
|
-
- ✅ You are a rapid skill compiler extracting public API surface
|
|
27
|
-
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
|
28
|
-
- ✅ Best-effort extraction — completeness is not required
|
|
29
|
-
- ✅ Surface-level reading only — no AST, no deep analysis
|
|
30
|
-
|
|
31
|
-
### Step-Specific Rules:
|
|
32
|
-
|
|
33
|
-
- 🎯 Focus only on reading source and extracting exports
|
|
34
|
-
- 🚫 FORBIDDEN to begin compilation or write output files
|
|
35
|
-
- 💬 Approach: Read key files, extract what's visible, move on
|
|
36
|
-
- 📋 No AST required — use grep/pattern-based extraction
|
|
37
|
-
- 📋 If no exports found, extract what's available from README
|
|
38
|
-
|
|
39
|
-
## EXECUTION PROTOCOLS:
|
|
40
|
-
|
|
41
|
-
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
42
|
-
- 💾 Set state: extraction_inventory (exports list, description, manifest data)
|
|
43
|
-
- 📖 Web browsing required to read GitHub source files
|
|
44
|
-
- 🚫 Do not spend excessive time on extraction — best-effort
|
|
45
|
-
|
|
46
|
-
## CONTEXT BOUNDARIES:
|
|
11
|
+
## Rules
|
|
47
12
|
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
- This is best-effort — incomplete extraction is acceptable
|
|
13
|
+
- Best-effort extraction — completeness is not required; surface-level reading only, no AST
|
|
14
|
+
- Do not begin compilation or write output files
|
|
15
|
+
- If no exports found, use README content as fallback
|
|
52
16
|
|
|
53
17
|
## MANDATORY SEQUENCE
|
|
54
18
|
|
|
@@ -76,6 +40,8 @@ Based on detected language, read the primary manifest file:
|
|
|
76
40
|
- **Python:** `pyproject.toml` or `setup.py` — extract project name, version, description, dependencies
|
|
77
41
|
- **Rust:** `Cargo.toml` — extract package name, version, description, dependencies
|
|
78
42
|
- **Go:** `go.mod` — extract module path, require list
|
|
43
|
+
- **Java (Maven):** `pom.xml` — extract `<groupId>`, `<artifactId>`, `<version>`, `<description>`, direct `<dependencies>`. For multi-module projects, also enumerate `<modules><module>` entries and read each submodule's `pom.xml` (treat each as a logical unit in the extraction inventory).
|
|
44
|
+
- **Kotlin / Java (Gradle):** `build.gradle.kts` or `build.gradle` — extract `group`, `version`, `description` (when declared), and top-level `dependencies { }` block. For multi-project builds, read `settings.gradle[.kts]` for `include(...)` entries and repeat per subproject.
|
|
79
45
|
|
|
80
46
|
Extract:
|
|
81
47
|
- **Package metadata:** name, version, description
|
|
@@ -106,6 +72,18 @@ Based on language and entry points from manifest, read the primary export files:
|
|
|
106
72
|
- Extract: capitalized function names (Go export convention)
|
|
107
73
|
- Pattern: lines matching `func [A-Z]`
|
|
108
74
|
|
|
75
|
+
**Java:**
|
|
76
|
+
- Read `src/main/java/**/*.java` (focus on top-level packages declared in the manifest's `groupId`)
|
|
77
|
+
- Extract: public classes, public methods, and framework annotations that mark API surfaces (Spring, Jakarta EE, CDI)
|
|
78
|
+
- Pattern: lines matching `@(RestController|Service|Component|Configuration|Controller|Repository|Bean)|public (class|interface|enum|record) |public .* \(`
|
|
79
|
+
- **Multi-module Maven:** iterate the `<module>` entries discovered in §2 and repeat the scan per module, reading each `{module}/src/main/java/**/*.java`
|
|
80
|
+
|
|
81
|
+
**Kotlin:**
|
|
82
|
+
- Read `src/main/kotlin/**/*.kt` (Kotlin defaults to `public` visibility — omit `internal`/`private` declarations)
|
|
83
|
+
- Extract: top-level `fun`, `class`, `object`, `interface` declarations
|
|
84
|
+
- Pattern: lines matching `^(fun |class |object |interface |data class |sealed class |@(RestController|Service|Component|Configuration|Controller))`
|
|
85
|
+
- **Multi-project Gradle:** iterate the `include(...)` entries discovered in §2 and repeat the scan per subproject
|
|
86
|
+
|
|
109
87
|
**If scope_hint provided:** Focus reading on the specified directories instead of root.
|
|
110
88
|
|
|
111
89
|
### 4. Build Extraction Inventory
|
|
@@ -156,24 +134,3 @@ extraction_inventory:
|
|
|
156
134
|
|
|
157
135
|
ONLY WHEN extraction is complete and extraction_inventory is assembled (even if minimal/low-confidence) will you load and read fully `{nextStepFile}` to execute compilation.
|
|
158
136
|
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
162
|
-
|
|
163
|
-
### ✅ SUCCESS:
|
|
164
|
-
|
|
165
|
-
- README read and description extracted
|
|
166
|
-
- Manifest file read and metadata extracted
|
|
167
|
-
- Top-level exports scanned (best-effort)
|
|
168
|
-
- extraction_inventory assembled with available data
|
|
169
|
-
- Confidence level set appropriately
|
|
170
|
-
- Auto-proceeding to compilation
|
|
171
|
-
|
|
172
|
-
### ❌ SYSTEM FAILURE:
|
|
173
|
-
|
|
174
|
-
- Spending excessive time trying to achieve complete extraction
|
|
175
|
-
- Using AST tools (this is surface-level reading only)
|
|
176
|
-
- Beginning compilation or writing output files
|
|
177
|
-
- Halting on missing exports instead of using README fallback
|
|
178
|
-
|
|
179
|
-
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|