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
package/docs/concepts.md
CHANGED
|
@@ -1,51 +1,49 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Concepts
|
|
3
|
-
description:
|
|
3
|
+
description: Seven load-bearing terms for using and understanding Skill Forge — agent skills, provenance, confidence tiers, capability tiers, drift, version pinning, and the BMAD module.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
This page defines the key terms you'll encounter in Skill Forge, with concrete examples.
|
|
6
|
+
These are the seven terms you'll meet in every other page of this site. Each one names something SKF does differently from generic docs tooling. For the full mechanism behind them, see [Architecture](../architecture/) and [Skill Model](../skill-model/).
|
|
9
7
|
|
|
10
8
|
---
|
|
11
9
|
|
|
12
10
|
## Agent Skills
|
|
13
11
|
|
|
14
|
-
An agent skill is an instruction file that tells an AI agent how to use your code. Instead of
|
|
12
|
+
An agent skill is an instruction file that tells an AI agent how to use your code. Instead of guessing your API from its training data, the agent reads the skill and gets the actual function names, parameter types, and usage patterns.
|
|
15
13
|
|
|
16
14
|
Skills follow the [agentskills.io](https://agentskills.io) open standard, so they work across Claude, Cursor, Copilot, and other AI tools.
|
|
17
15
|
|
|
18
|
-
**Example:** A skill for [cognee](https://github.com/
|
|
16
|
+
**Example:** A skill for [cognee](https://github.com/topoteretes/cognee) tells your agent: "The function is `cognee.search()`, its first parameters are `query_text`, `query_type`, `user`, `datasets`, and `dataset_ids`, and it's defined at `cognee/api/v1/search/search.py:L26` (v1.0.0, commit `3c048aa4`)." Every parameter and location is AST-verified from the actual source code.
|
|
19
17
|
|
|
20
18
|
---
|
|
21
19
|
|
|
22
20
|
## Provenance
|
|
23
21
|
|
|
24
|
-
Provenance means every instruction in a skill traces back to where it came from. For code, that's a file and line number. For documentation, it's a URL. For developer discourse, it's an issue or PR reference. If SKF can't point to a source, it doesn't include the instruction
|
|
22
|
+
Provenance means every instruction in a skill traces back to where it came from. For code, that's a file and line number. For documentation, it's a URL. For developer discourse, it's an issue or PR reference. **If SKF can't point to a source, it doesn't include the instruction.**
|
|
25
23
|
|
|
26
24
|
**Examples** (from a [real generated skill](https://github.com/armelhbobdad/oh-my-skills)):
|
|
27
25
|
- `[AST:cognee/api/v1/search/search.py:L26]` — extracted from source code via AST parsing (T1)
|
|
28
|
-
- `[SRC:cognee/api/v1/session/__init__.py:
|
|
26
|
+
- `[SRC:cognee/api/v1/session/__init__.py:L7]` — read from source code without AST verification (T1-low)
|
|
29
27
|
- `[QMD:cognee-temporal:issues.md]` — surfaced from indexed developer discourse (T2)
|
|
30
28
|
- `[EXT:docs.cognee.ai/getting-started/quickstart]` — sourced from external documentation (T3)
|
|
31
29
|
|
|
30
|
+
This is the opposite of how most AI tools work. They generate plausible-sounding content from training data; SKF only includes what it can cite. Quick-tier skills rely on best-effort source reading rather than AST verification — but even Quick skills cite their sources, and nothing ships without a citation.
|
|
31
|
+
|
|
32
32
|
---
|
|
33
33
|
|
|
34
34
|
## Confidence Tiers (T1/T1-low/T2/T3)
|
|
35
35
|
|
|
36
36
|
Each piece of information in a skill carries a confidence level based on where it came from:
|
|
37
37
|
|
|
38
|
-
- **T1 — AST extraction:** Pulled directly from source code via AST parsing.
|
|
38
|
+
- **T1 — AST extraction:** Pulled directly from source code via AST parsing. The function signature exists in the code at the pinned commit. Cited as `[AST:file:Lnn]`.
|
|
39
39
|
- **T1-low — Source reading:** Found by reading source files directly without AST parsing. The location is correct but the type signature may be inferred. Produced by Quick tier and by Forge/Forge+/Deep when ast-grep cannot parse a specific file. Cited as `[SRC:file:Lnn]`.
|
|
40
|
-
- **T2 — Evidence (Deep tier only):** Surfaced by QMD knowledge search from issues, PRs, changelogs, or documentation within the repository. Available only when QMD is installed (Deep tier). Reliable context, but
|
|
40
|
+
- **T2 — Evidence (Deep tier only):** Surfaced by QMD knowledge search from issues, PRs, changelogs, or documentation within the repository. Available only when QMD is installed (Deep tier). Reliable context, but less definitive than source code itself. Cited as `[QMD:collection:document]`. T2 has two temporal subtypes:
|
|
41
41
|
- **T2-past** — Historical context (closed issues, merged PRs, changelogs) explaining API design decisions. Surfaces in the skill's `references/` directory.
|
|
42
42
|
- **T2-future** — Forward-looking context (open PRs, deprecation warnings, RFCs) about upcoming changes. Surfaces in SKILL.md Section 4b (Migration & Deprecation Warnings) and `references/`.
|
|
43
43
|
- **T3 — External:** Pulled from external documentation or websites. Treated with caution and clearly marked. Cited as `[EXT:url]`.
|
|
44
44
|
|
|
45
45
|
Forge+ semantic discovery (via cocoindex-code) does not introduce a new confidence tier — it influences *which* files are extracted, not *how* they're cited. Discovered files are verified by ast-grep (T1) or source reading (T1-low).
|
|
46
46
|
|
|
47
|
-
See the [Provenance](#provenance) examples above for real citations at each tier.
|
|
48
|
-
|
|
49
47
|
---
|
|
50
48
|
|
|
51
49
|
## Capability Tiers (Quick/Forge/Forge+/Deep)
|
|
@@ -53,33 +51,21 @@ See the [Provenance](#provenance) examples above for real citations at each tier
|
|
|
53
51
|
Your capability tier depends on which tools you have installed. Each tier builds on the previous one:
|
|
54
52
|
|
|
55
53
|
- **Quick** — No tools required. SKF reads source files and builds best-effort skills. Works in under a minute. GitHub CLI used when available.
|
|
56
|
-
- **Forge** — Adds [ast-grep](https://ast-grep.github.io). SKF uses AST parsing
|
|
54
|
+
- **Forge** — Adds [ast-grep](https://ast-grep.github.io). SKF uses AST parsing to verify instructions against the actual code structure.
|
|
57
55
|
- **Forge+** — Adds [cocoindex-code](https://github.com/cocoindex-io/cocoindex-code). SKF uses semantic code search to discover relevant source regions before AST extraction, improving coverage on large codebases.
|
|
58
56
|
- **Deep** — Full pipeline: requires [ast-grep](https://ast-grep.github.io) + [GitHub CLI](https://cli.github.com) + [QMD](https://github.com/tobi/qmd) (all three). SKF indexes knowledge for semantic search and performs GitHub repository exploration. Skills get enriched with historical context, deprecation warnings, and cross-reference intelligence. CCC (cocoindex-code) enhances Deep tier when installed — ast-grep + gh + qmd + ccc gives maximum capability.
|
|
59
57
|
|
|
60
|
-
You don't need all tools to start. SKF detects what you have and sets your tier automatically. See [
|
|
58
|
+
You don't need all tools to start. SKF detects what you have and sets your tier automatically. See [Skill Model → Progressive Capability Model](../skill-model/#progressive-capability-model) for the full technical treatment.
|
|
61
59
|
|
|
62
60
|
---
|
|
63
61
|
|
|
64
62
|
## Drift
|
|
65
63
|
|
|
66
|
-
Drift happens when the source code changes but the skill instructions haven't been updated to match. A skill might still reference a function that was renamed, removed, or had its signature changed.
|
|
64
|
+
Drift happens when the source code changes but the skill instructions haven't been updated to match. A skill might still reference a function that was renamed, removed, or had its signature changed upstream.
|
|
67
65
|
|
|
68
|
-
SKF detects drift by comparing the skill's recorded provenance against the current code. The `audit-skill` workflow (`@Ferris AS`) scans for these mismatches.
|
|
66
|
+
SKF detects drift by comparing the skill's recorded provenance against the current code. The `audit-skill` workflow (`@Ferris AS`) scans for these mismatches — for both individual skills and stack skills. Stack skills track per-library provenance and, in compose-mode, constituent freshness via metadata hash comparison.
|
|
69
67
|
|
|
70
|
-
**Example:** Your skill says `createUser(name: string)` but the function was renamed to `registerUser(name: string, email: string)` in the last release. That's drift.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Completeness Score
|
|
75
|
-
|
|
76
|
-
The completeness score is a weighted measure of how thoroughly a skill documents its target. The Test Skill workflow (`@Ferris TS`) calculates it across five categories: **Export Coverage** (are all source exports documented?), **Signature Accuracy** (do documented signatures match the actual code?), **Type Coverage** (are referenced types complete?), **Coherence** (do cross-references and integration patterns resolve?), and **External Validation** (do skill-check and tessl confirm quality?).
|
|
77
|
-
|
|
78
|
-
The default pass threshold is **80%**, overridable by specifying a custom threshold when invoking `@Ferris TS`. Skills that pass are ready for export (`@Ferris EX`); skills that fail route to update (`@Ferris US`) with a gap report showing what to fix.
|
|
79
|
-
|
|
80
|
-
**Example:** A skill scores 92% export coverage, 85% signature accuracy, 100% type coverage, 80% coherence, and 78% external validation. With the default weights (36/22/14/18/10), the weighted total is 88.0% — a pass.
|
|
81
|
-
|
|
82
|
-
Your forge tier determines which categories are scored. Quick-tier skills skip signature accuracy and type coverage (no AST available), and the weights redistribute proportionally. See [How It Works](../how-it-works/#completeness-scoring) for the full formula and tier adjustments.
|
|
68
|
+
**Example:** Your skill says `createUser(name: string)` but the function was renamed to `registerUser(name: string, email: string)` in the last release. That's drift. For stack skills, constituent drift occurs when an individual skill is updated but the stack hasn't been re-composed to reflect the changes.
|
|
83
69
|
|
|
84
70
|
---
|
|
85
71
|
|
|
@@ -87,90 +73,14 @@ Your forge tier determines which categories are scored. Quick-tier skills skip s
|
|
|
87
73
|
|
|
88
74
|
Every skill records the exact version (or commit) of the source code it was built from. This means you always know which version of the library the instructions apply to.
|
|
89
75
|
|
|
90
|
-
By default, the version is auto-detected from the source (package.json, pyproject.toml, etc.). You can also target a specific version — either by specifying it during `@Ferris BS` (brief-skill) or by appending `@version` to a quick skill command (`@Ferris QS cognee@0.
|
|
76
|
+
By default, the version is auto-detected from the source (package.json, pyproject.toml, etc.). You can also target a specific version — either by specifying it during `@Ferris BS` (brief-skill) or by appending `@version` to a quick skill command (`@Ferris QS cognee@1.0.0`). This is especially useful for docs-only skills where no source code is available for auto-detection. When targeting a specific version on a remote repository, SKF resolves the matching git tag and clones from it — so the extracted API signatures actually reflect the target version's code, not just the label applied to whatever happens to be on the default branch.
|
|
91
77
|
|
|
92
78
|
When the source updates, you can re-run `@Ferris US` (update-skill) to regenerate the skill for the new version while preserving any manual additions you've made.
|
|
93
79
|
|
|
94
80
|
---
|
|
95
81
|
|
|
96
|
-
## Skill Management
|
|
97
|
-
|
|
98
|
-
Two workflows let you rename and retire skills without manually editing files:
|
|
99
|
-
|
|
100
|
-
**Rename (`@Ferris RS`)** — Change a skill's name across all its versions. Transactional: copies to the new name, verifies every reference, then deletes the old name only after verification succeeds. If anything fails mid-rename, the old skill stays intact. Use it to graduate quick-skills to formal names, or to add a suffix like `-community`.
|
|
101
|
-
|
|
102
|
-
**Drop (`@Ferris DS`)** — Retire a specific version (e.g., drop `cognee 0.1.0` because it's deprecated) or an entire skill. Two modes:
|
|
103
|
-
- **Soft drop (default)** marks the version as deprecated in the manifest and keeps files on disk. It stops appearing in CLAUDE.md/AGENTS.md/.cursorrules immediately but is reversible by editing the manifest.
|
|
104
|
-
- **Hard drop (purge)** also deletes the files from disk. Irreversible.
|
|
105
|
-
|
|
106
|
-
Both operations automatically rebuild platform context files so your AI agents see the updated state on the next session.
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
82
|
## BMAD Module
|
|
111
83
|
|
|
112
|
-
SKF is a plugin (called a "module") for [
|
|
113
|
-
|
|
114
|
-
→ If you already use BMAD, see [BMAD Synergy](../bmad-synergy/) for how SKF workflows pair with BMM phases and optional modules like TEA, BMB, and GDS.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Ferris
|
|
119
|
-
|
|
120
|
-
Ferris is the AI agent persona that runs all SKF workflows. When you type `@Ferris CS`, you're telling Ferris to run the create-skill workflow.
|
|
121
|
-
|
|
122
|
-
Ferris switches between four modes depending on which workflow is active: Architect (exploring and building), Surgeon (precise updates), Audit (quality checks), and Delivery (packaging for distribution).
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Zero Hallucination
|
|
127
|
-
|
|
128
|
-
SKF's core principle: if an instruction can't be traced back to actual source code, it doesn't get included in the skill. This is the opposite of how most AI tools work — they generate plausible-sounding content from training data. SKF only includes what it can verify.
|
|
129
|
-
|
|
130
|
-
This doesn't mean skills are perfect. Quick-tier skills read source files without AST verification, so they rely on best-effort extraction. But even Quick skills cite their sources, and no tier includes invented information.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Scripts & Assets
|
|
135
|
-
|
|
136
|
-
Skills can include executable scripts and static assets alongside the main SKILL.md instructions. Scripts handle deterministic operations (validation, setup, data processing) while assets provide templates, schemas, and configuration examples. Both are extracted from the source repository with provenance tracking — SKF copies them, it doesn't fabricate them.
|
|
137
|
-
|
|
138
|
-
**Example:** A database library skill might include `scripts/migrate.sh` (copied from the library's `bin/` directory) and `assets/config-schema.json` (copied from the library's `schemas/` directory). Each file carries a `[SRC:file:L1]` citation and SHA-256 hash for drift detection.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Session Context
|
|
143
|
-
|
|
144
|
-
Each SKF workflow should run in a clean conversation session. Workflows load step files, knowledge fragments, and extraction data into the LLM's context as they execute. If you run a second workflow in the same session, leftover context from the first workflow can interfere with the second — causing stale references, mode confusion, or degraded output quality.
|
|
145
|
-
|
|
146
|
-
**Best practice:** Clear your session context (start a new conversation) before invoking a new workflow. For example, after `@Ferris CS` completes a skill, start a fresh session before running `@Ferris TS` to test it.
|
|
147
|
-
|
|
148
|
-
This applies to sequential workflows in the same session. Sidecar state (forge tier, preferences) persists across sessions automatically — you don't lose any configuration by clearing context.
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## Full Control Over Scope
|
|
153
|
-
|
|
154
|
-
You can compile multiple skills from the same target (repo or docs) with different scopes, intents, and audiences. Each brief defines what to extract and why, producing a distinct skill from the same source.
|
|
155
|
-
|
|
156
|
-
**Example:** From a single library like [cognee](https://github.com/topoteretes/cognee), you could compile:
|
|
157
|
-
|
|
158
|
-
- `cognee-core` — public API surface for general usage
|
|
159
|
-
- `cognee-graph-types` — type system and data model for schema work
|
|
160
|
-
- `cognee-migration` — upgrade patterns and breaking changes for version transitions
|
|
161
|
-
|
|
162
|
-
Each skill serves a different use case. You decide the scope — SKF compiles exactly what you specify.
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Best Practices
|
|
167
|
-
|
|
168
|
-
SKF integrates skill authoring best practices from the Claude platform and community guidelines. Generated skills use third-person descriptions for reliable agent discovery, consistent terminology throughout, and appropriate degrees of freedom (prescriptive for fragile operations like database migrations, flexible for creative tasks like code reviews). These practices are enforced during compilation and verified during testing.
|
|
169
|
-
|
|
170
|
-
**Example:** A skill description reads "Processes payments via REST API with token-based auth. NOT for: billing dashboards" — third-person voice, specific keywords, and negative triggers help agents select the right skill.
|
|
171
|
-
|
|
172
|
-
**Operational best practices:**
|
|
84
|
+
SKF is a plugin (called a "module") for [BMAD Method](https://docs.bmad-method.org/), a framework for running structured AI workflows. You don't need to know BMAD to use SKF — the standalone installer sets everything up.
|
|
173
85
|
|
|
174
|
-
|
|
175
|
-
- **Multiple skills per target** — compile different skills from the same repo or docs for different use cases and audiences
|
|
176
|
-
- **Progressive capability** — start with Quick mode, upgrade tiers as you install more tools
|
|
86
|
+
If you already use BMAD, see [BMAD Synergy](../bmad-synergy/) for how SKF workflows pair with BMM phases and optional modules like TEA, BMB, and GDS.
|
package/docs/examples.md
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Examples
|
|
3
|
-
description: Real-world scenarios
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Examples & Use Cases
|
|
7
|
-
|
|
8
|
-
This section provides practical examples for using SKF: Skill Forge.
|
|
9
|
-
|
|
3
|
+
description: Real-world scenarios and operational tips for Skill Forge. For common errors, see Troubleshooting.
|
|
10
4
|
---
|
|
11
5
|
|
|
12
6
|
## What the Output Looks Like
|
|
13
7
|
|
|
14
|
-
When SKF generates a skill, you get a `SKILL.md` file with machine-readable frontmatter and provenance-backed instructions.
|
|
8
|
+
When SKF generates a skill, you get a `SKILL.md` file with machine-readable frontmatter and provenance-backed instructions. Below is a trimmed example from the real [`oms-cognee` SKILL.md](https://github.com/armelhbobdad/oh-my-skills/blob/main/skills/oms-cognee/1.0.0/oms-cognee/SKILL.md) generated for [cognee](https://github.com/topoteretes/cognee) (full portfolio at [oh-my-skills](https://github.com/armelhbobdad/oh-my-skills)):
|
|
15
9
|
|
|
16
10
|
**Frontmatter (tells AI agents when to load this skill):**
|
|
17
11
|
|
|
18
12
|
```yaml
|
|
19
|
-
name: cognee
|
|
20
|
-
description:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
name: oms-cognee
|
|
14
|
+
description: >
|
|
15
|
+
Builds apps on top of cognee v1.0.0, the knowledge-graph memory engine for AI agents.
|
|
16
|
+
Use when ingesting text/files/URLs into persistent memory, building knowledge graphs,
|
|
17
|
+
searching graph-backed memory with multiple SearchType modes, enriching graphs with
|
|
18
|
+
memify/improve, scoping memory with datasets and node_sets, configuring LLM/embedding/
|
|
19
|
+
graph/vector backends, running custom task pipelines, tracing operations, decorating
|
|
20
|
+
agent entrypoints with `agent_memory`, connecting to Cognee Cloud with `serve`, or
|
|
21
|
+
visualizing the graph. Covers cognee/__init__.py exports: the V1 API (add, cognify,
|
|
22
|
+
search, memify, datasets, prune, update, run_custom_pipeline, config, SearchType,
|
|
23
|
+
visualize_graph, pipelines, Drop, run_startup_migrations, tracing) and the V2
|
|
24
|
+
memory-oriented API (remember, RememberResult, recall, improve, forget, serve,
|
|
25
|
+
disconnect, visualize, agent_memory). Do NOT use for: cognee internals, the HTTP
|
|
26
|
+
REST API (use cognee-mcp or the FastAPI server), non-cognee memory/RAG libraries.
|
|
24
27
|
```
|
|
25
28
|
|
|
26
29
|
**Body (what your AI agent reads):**
|
|
@@ -31,47 +34,53 @@ description: Use when cognee is a Python AI memory engine that transforms
|
|
|
31
34
|
| Function | Purpose | Key Params | Source |
|
|
32
35
|
|----------|---------|------------|--------|
|
|
33
36
|
| add() | Ingest text, files, binary data | data, dataset_name | [AST:cognee/api/v1/add/add.py:L22] |
|
|
34
|
-
| cognify() | Build knowledge graph | datasets, graph_model | [AST:cognee/api/v1/cognify/cognify.py:
|
|
37
|
+
| cognify() | Build knowledge graph | datasets, graph_model | [AST:cognee/api/v1/cognify/cognify.py:L44] |
|
|
35
38
|
| search() | Query knowledge graph | query_text, query_type | [AST:cognee/api/v1/search/search.py:L26] |
|
|
36
|
-
| memify() | Enrich graph with custom tasks | extraction_tasks, data | [AST:cognee/modules/memify/memify.py:
|
|
37
|
-
|
|
|
39
|
+
| memify() | Enrich graph with custom tasks | extraction_tasks, data | [AST:cognee/modules/memify/memify.py:L25] |
|
|
40
|
+
| remember() | V2 one-shot memory ingest | data, dataset_name | [AST:cognee/api/v1/remember/remember.py:L339] |
|
|
38
41
|
| DataPoint | Base class for custom graph nodes | inherit and add fields | [EXT:docs.cognee.ai/guides/custom-data-models] |
|
|
39
42
|
```
|
|
40
43
|
|
|
44
|
+
Every line number above is verbatim from the real [`forge-data/oms-cognee/1.0.0/provenance-map.json`](https://github.com/armelhbobdad/oh-my-skills/blob/main/forge-data/oms-cognee/1.0.0/provenance-map.json) shipped with oh-my-skills — not illustrative.
|
|
45
|
+
|
|
41
46
|
Provenance tags trace each instruction to its source:
|
|
42
47
|
- `[AST:file:line]` — extracted from code via AST parsing (highest confidence)
|
|
43
48
|
- `[SRC:file:line]` — read from source code without AST verification
|
|
44
49
|
- `[EXT:url]` — sourced from external documentation
|
|
45
50
|
- `[QMD:collection:doc]` — surfaced from indexed developer discourse (issues, PRs, changelogs)
|
|
46
51
|
|
|
47
|
-
See [
|
|
52
|
+
See [Skill Model → Output Architecture](../skill-model/#output-architecture) for the full output structure.
|
|
48
53
|
|
|
49
|
-
**Full skill directory structure
|
|
54
|
+
**Full skill directory structure** (real layout from [`oh-my-skills/skills/oms-cognee/`](https://github.com/armelhbobdad/oh-my-skills/tree/main/skills/oms-cognee)):
|
|
50
55
|
|
|
51
56
|
```
|
|
52
|
-
skills/cognee/
|
|
53
|
-
├── active -> 0.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
skills/oms-cognee/
|
|
58
|
+
├── active -> 1.0.0
|
|
59
|
+
├── 0.5.8/
|
|
60
|
+
│ └── oms-cognee/
|
|
61
|
+
│ ├── SKILL.md # Archived: v0.5.8, pinned to b51dcce1
|
|
62
|
+
│ ├── context-snippet.md
|
|
63
|
+
│ ├── metadata.json
|
|
64
|
+
│ └── references/
|
|
65
|
+
└── 1.0.0/
|
|
66
|
+
└── oms-cognee/
|
|
67
|
+
├── SKILL.md # Active: pinned to cognee v1.0.0 (3c048aa4)
|
|
57
68
|
├── context-snippet.md # Compressed index for platform context files
|
|
58
69
|
├── metadata.json # Machine-readable provenance
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
└── assets/ # Templates and schemas (when detected)
|
|
65
|
-
└── config-schema.json
|
|
70
|
+
└── references/ # Progressive disclosure detail
|
|
71
|
+
├── config.md
|
|
72
|
+
├── core-workflow.md
|
|
73
|
+
├── full-api-reference.md
|
|
74
|
+
└── pipelines-and-datapoints.md
|
|
66
75
|
```
|
|
67
76
|
|
|
68
|
-
|
|
77
|
+
This is the real directory listing from [`oh-my-skills/skills/oms-cognee/`](https://github.com/armelhbobdad/oh-my-skills/tree/main/skills/oms-cognee) after cognee shipped v1.0.0 upstream. SKF recompiled the skill from the v1.0.0 commit and wrote it next to the existing 0.5.8 tree — the older version stays pinned to its original commit (`b51dcce1`) and is still installable by any project that hasn't bumped its `CLAUDE.md` pin yet. The `active` symlink and the [`.export-manifest.json`](https://github.com/armelhbobdad/oh-my-skills/blob/main/skills/.export-manifest.json) both point at the current version. Some skills also include `scripts/` and `assets/` directories when the source repository contains executable scripts or static assets — oms-cognee doesn't have either, but see [Skill Model → Per-Skill Output](../skill-model/#per-skill-output) for the full schema.
|
|
69
78
|
|
|
70
79
|
---
|
|
71
80
|
|
|
72
81
|
## Example Workflows
|
|
73
82
|
|
|
74
|
-
### Quick Skill —
|
|
83
|
+
### Quick Skill — Under a minute
|
|
75
84
|
|
|
76
85
|
Developer adds [cognee](https://github.com/topoteretes/cognee) to a Python project for AI memory management. Agent keeps hallucinating method signatures and config options.
|
|
77
86
|
|
|
@@ -79,32 +88,44 @@ Developer adds [cognee](https://github.com/topoteretes/cognee) to a Python proje
|
|
|
79
88
|
@Ferris QS https://github.com/topoteretes/cognee
|
|
80
89
|
```
|
|
81
90
|
|
|
82
|
-
Ferris reads the repository, extracts the public API
|
|
91
|
+
Ferris reads the repository, extracts the public API, and validates against the agentskills.io spec. The skill is written to `skills/cognee/<version>/cognee/` (auto-detected from the source manifest). The agent now reads the real signatures from the skill instead of guessing.
|
|
83
92
|
|
|
84
93
|
Need a specific version? Append `@version`:
|
|
85
94
|
|
|
86
95
|
```
|
|
87
|
-
@Ferris QS cognee@0.
|
|
96
|
+
@Ferris QS cognee@1.0.0
|
|
88
97
|
```
|
|
89
98
|
|
|
90
|
-
### Brownfield Platform —
|
|
99
|
+
### Brownfield Platform — Pipeline or per-workflow
|
|
91
100
|
|
|
92
|
-
Alex
|
|
101
|
+
Alex, a platform engineer, adopts BMAD for 10 microservices spanning TypeScript, Go, and Rust.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
@Ferris SF # Setup — Deep tier detected
|
|
105
|
+
# — clear session —
|
|
106
|
+
@Ferris onboard # Analyze → Create → Test → Export in one pipeline
|
|
107
|
+
```
|
|
93
108
|
|
|
109
|
+
Or one workflow per session:
|
|
94
110
|
```
|
|
95
|
-
@Ferris SF # Setup — Deep
|
|
111
|
+
@Ferris SF # Setup — Deep tier detected
|
|
96
112
|
# — clear session —
|
|
97
113
|
@Ferris AN # Analyze — 10 services mapped
|
|
98
114
|
# — clear session —
|
|
99
115
|
@Ferris CS --batch # Create — batch generation
|
|
100
116
|
```
|
|
101
117
|
|
|
102
|
-
10 individual skills + 1 platform stack skill. [BMM](../bmad-synergy/#skf-and-bmm-phase-by-phase-playbook) architect navigates cross-service flows
|
|
118
|
+
10 individual skills + 1 platform stack skill. The [BMM](../bmad-synergy/#skf-and-bmm-phase-by-phase-playbook) architect then navigates cross-service flows using verified knowledge.
|
|
103
119
|
|
|
104
120
|
### Release Prep — Trust Builder
|
|
105
121
|
|
|
106
|
-
|
|
122
|
+
Jin, a Rust library maintainer, is preparing v1.0.0 with breaking changes she wants consumers' agents to pick up automatically.
|
|
107
123
|
|
|
124
|
+
```
|
|
125
|
+
@Ferris maintain cocoindex
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Or one workflow per session:
|
|
108
129
|
```
|
|
109
130
|
@Ferris AS # Audit — finds 3 renames, 1 removal, 1 addition
|
|
110
131
|
# — clear session —
|
|
@@ -115,21 +136,21 @@ Sarah prepares v3.0.0 with breaking changes.
|
|
|
115
136
|
@Ferris EX # Export — package for npm release
|
|
116
137
|
```
|
|
117
138
|
|
|
118
|
-
Ships with npm release. Consumers upgrade
|
|
139
|
+
Ships with the npm release. Consumers upgrade and their agents use the correct function names — no more "wrong signature" support tickets.
|
|
119
140
|
|
|
120
141
|
### Stack Skill — Integration Intelligence
|
|
121
142
|
|
|
122
|
-
Armel
|
|
143
|
+
Armel, building a full-stack side project on Next.js + Serwist + SpacetimeDB + better-auth.
|
|
123
144
|
|
|
124
145
|
```
|
|
125
146
|
@Ferris SS
|
|
126
147
|
```
|
|
127
148
|
|
|
128
|
-
Ferris detects 8 significant dependencies, finds 5 co-import integration points. Generates a consolidated stack skill. The agent now knows: "When you modify the auth flow, update the Serwist cache exclusion at `src/sw.ts:L23`."
|
|
149
|
+
Ferris detects 8 significant dependencies, finds 5 co-import integration points. Generates a consolidated stack skill. The agent now knows: "When you modify the auth flow, update the Serwist cache exclusion at `src/sw.ts:L23`." That integration detail isn't available from any other tool in the [comparison table](/#how-skf-compares).
|
|
129
150
|
|
|
130
151
|
### Pre-Code Architecture Verification — Greenfield Confidence
|
|
131
152
|
|
|
132
|
-
|
|
153
|
+
Gery, a backend architect, is designing a new TypeScript service on Hono + Drizzle + SpacetimeDB. Architecture doc is written but no code exists yet — he wants to verify the stack holds together before anyone starts building.
|
|
133
154
|
|
|
134
155
|
```
|
|
135
156
|
@Ferris QS hono # Quick Skill per library
|
|
@@ -140,7 +161,7 @@ Jordan is designing a new TypeScript backend with Hono + Drizzle + SpacetimeDB.
|
|
|
140
161
|
@Ferris SS # Stack Skill — compose-mode (no codebase needed)
|
|
141
162
|
```
|
|
142
163
|
|
|
143
|
-
VS
|
|
164
|
+
VS flags the Drizzle↔SpacetimeDB integration as incompatible (query-model mismatch) and returns CONDITIONALLY FEASIBLE. Gery adds a bridge layer to the architecture, re-runs VS → FEASIBLE. RA fills in verified API signatures. SS compose-mode synthesizes the stack skill from existing skills + refined architecture. The agent now has integration intelligence for a project that doesn't have code yet.
|
|
144
165
|
|
|
145
166
|
---
|
|
146
167
|
|
|
@@ -157,17 +178,17 @@ BMAD user starts a new project. [BMM](../bmad-synergy/#skf-and-bmm-phase-by-phas
|
|
|
157
178
|
@Ferris EX # Export — inject into platform context files
|
|
158
179
|
```
|
|
159
180
|
|
|
160
|
-
Skills accumulate over sprints.
|
|
181
|
+
Skills accumulate over sprints. The agent's coverage improves each iteration.
|
|
161
182
|
|
|
162
183
|
### Scenario B: Multi-Repo Platform
|
|
163
184
|
|
|
164
|
-
|
|
185
|
+
Blondin, a platform lead, needs cross-service knowledge for 10 microservices so agents can navigate shared types and cross-calls.
|
|
165
186
|
|
|
166
187
|
One forge project, multiple QMD collections, hub-and-spoke skills with integration patterns.
|
|
167
188
|
|
|
168
189
|
### Scenario C: External Dependency
|
|
169
190
|
|
|
170
|
-
|
|
191
|
+
Kossi, a developer integrating an uncommon library, needs a skill for it — nothing official exists yet.
|
|
171
192
|
|
|
172
193
|
```
|
|
173
194
|
@Ferris QS better-auth
|
|
@@ -177,21 +198,23 @@ Checks ecosystem first. If no official skill exists: generates from source. `sou
|
|
|
177
198
|
|
|
178
199
|
### Scenario D: Docs-Only (SaaS/Closed Source)
|
|
179
200
|
|
|
180
|
-
No source code
|
|
201
|
+
No source code to clone — only API documentation. Example: you're integrating the [Stripe API](https://docs.stripe.com/api) and want your agent to know the real endpoints, parameters, and error codes instead of hallucinating from training data.
|
|
181
202
|
|
|
182
203
|
```
|
|
183
204
|
@Ferris BS
|
|
184
205
|
# When asked for target, provide documentation URLs:
|
|
185
|
-
# https://docs.
|
|
206
|
+
# https://docs.stripe.com/api/charges
|
|
207
|
+
# https://docs.stripe.com/api/payment_intents
|
|
208
|
+
# https://docs.stripe.com/api/errors
|
|
186
209
|
# Ferris sets source_type: "docs-only" and collects doc_urls
|
|
187
|
-
# When asked for target version, specify:
|
|
188
|
-
# Ferris confirms your doc URLs match that version
|
|
210
|
+
# When asked for target version, specify: 2025-04-30.basil
|
|
211
|
+
# Ferris confirms your doc URLs match that API version
|
|
189
212
|
@Ferris CS
|
|
190
|
-
# step-03 skips (no source), step-03c fetches docs via doc_fetcher
|
|
213
|
+
# step-03 skips (no source to clone), step-03c fetches docs via doc_fetcher
|
|
191
214
|
# All content is T3 [EXT:url] confidence. source_authority: community
|
|
192
215
|
```
|
|
193
216
|
|
|
194
|
-
The brief's `doc_urls` field drives the doc_fetcher step. The agent uses whatever web fetching tool is available in its environment (Firecrawl, WebFetch, curl, etc.) to retrieve documentation as markdown and extract API information with
|
|
217
|
+
The brief's `doc_urls` field drives the doc_fetcher step. The agent uses whatever web fetching tool is available in its environment (Firecrawl, WebFetch, curl, etc.) to retrieve documentation as markdown and extract API information with `[EXT:url]` citations. No AST parsing is possible without source code — every instruction carries T3 provenance instead of T1, and the skill is tagged `source_authority: community` regardless of tier.
|
|
195
218
|
|
|
196
219
|
### Scenario E: Rename a Skill
|
|
197
220
|
|
|
@@ -222,13 +245,53 @@ You have `cognee` with versions 0.1.0, 0.5.0, and 0.6.0 (active). Version 0.1.0
|
|
|
222
245
|
|
|
223
246
|
Version 0.6.0 remains active. Version 0.5.0 is untouched. The managed sections in CLAUDE.md/AGENTS.md no longer reference 0.1.0.
|
|
224
247
|
|
|
248
|
+
### Scenario G: Maximum Accuracy for a High-Stakes Library
|
|
249
|
+
|
|
250
|
+
You're building skills for a production payments library and need maximum citation density. Every signature must be AST-verified, and you want historical context (deprecations, migration notes) baked into the skill.
|
|
251
|
+
|
|
252
|
+
**Workflow:**
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
@Ferris SF
|
|
256
|
+
# Ferris detects installed tools and sets your tier automatically:
|
|
257
|
+
# - Quick: no tools required (best-effort, source-read only)
|
|
258
|
+
# - Forge: + ast-grep (T1 AST-verified signatures)
|
|
259
|
+
# - Forge+: + cocoindex-code (semantic pre-ranking for large repos)
|
|
260
|
+
# - Deep: + gh + qmd (T2 evidence — issues, PRs, changelogs)
|
|
261
|
+
# Install the missing tools, then re-run @Ferris SF to promote your tier.
|
|
262
|
+
@Ferris BS # Scope — confirm the forge tier is Deep (+ ccc if installed)
|
|
263
|
+
@Ferris CS # Extract — AST + QMD enrichment
|
|
264
|
+
@Ferris TS # Completeness score — 80%+ threshold
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**What you get:** Every signature carries `[AST:file:Lnn]` at T1. Deprecation warnings and design rationale carry `[QMD:collection:doc]` at T2. Install tooling once, every downstream skill benefits. See [Capability Tiers](../concepts/#capability-tiers-quickforgeforgedeep).
|
|
268
|
+
|
|
269
|
+
### Scenario H: OSS Maintainer Publishing Official Skills
|
|
270
|
+
|
|
271
|
+
You maintain an OSS library and want to ship official agent skills alongside each release — distributed via [skills.sh](https://skills.sh) or [oh-my-skills](https://github.com/armelhbobdad/oh-my-skills) so consumers install them with `npx skills add`.
|
|
272
|
+
|
|
273
|
+
**Workflow:**
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
@Ferris BS # Scope the skill — set source_authority: official in the brief
|
|
277
|
+
@Ferris CS # Compile — AST extraction + QMD enrichment (Deep tier recommended)
|
|
278
|
+
@Ferris TS # Verify completeness before publishing (target: 90%+)
|
|
279
|
+
@Ferris EX # Package for distribution — emits npx skills publish instructions
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**What you get:** A verified skill pinned to the release commit, with `source_authority: official` surfaced in metadata as a trust signal so downstream tooling (and the ecosystem check in `@Ferris QS`) recognize it as maintainer-published rather than community-forged. Re-run `@Ferris maintain <skill>` (AS → US → TS → EX) on every release to keep published skills current.
|
|
283
|
+
|
|
225
284
|
---
|
|
226
285
|
|
|
227
286
|
## Tips & Tricks
|
|
228
287
|
|
|
288
|
+
### Skip Permissions for Faster Forging
|
|
289
|
+
|
|
290
|
+
> **Tip from Armel:** When forging skills with Claude Code, I run `claude --dangerously-skip-permissions` to bypass all permission prompts. SKF workflows only read source code, write to `skills/` and `forge-data/`, and call local tools (ast-grep, qmd, gh) — every step is auditable in the [open source](https://github.com/armelhbobdad/bmad-module-skill-forge). Skipping permissions drastically reduces forge time: I start a pipeline, go [grab one of those coffees ☕ you keep offering](https://buymeacoffee.com/armelhbobdad), and come back to a completed workflow. Review the output at the end, not at every gate.
|
|
291
|
+
|
|
229
292
|
### Progressive Capability
|
|
230
293
|
|
|
231
|
-
Start with Quick
|
|
294
|
+
Start with the Quick tier (no setup required), upgrade to Forge (install ast-grep), then Forge+ (install cocoindex-code for semantic discovery), then Deep (install QMD). Each tier builds on the previous — you never lose capability.
|
|
232
295
|
|
|
233
296
|
### Batch Operations
|
|
234
297
|
|
|
@@ -258,34 +321,12 @@ Generated skills automatically follow authoring best practices: third-person des
|
|
|
258
321
|
|
|
259
322
|
If your source repo includes executable scripts (`scripts/`, `bin/`) or static assets (`templates/`, `schemas/`), SKF detects and packages them automatically with provenance tracking. Custom scripts you add to `scripts/[MANUAL]/` are preserved during updates — just like `<!-- [MANUAL] -->` markers in SKILL.md.
|
|
260
323
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
## Troubleshooting
|
|
264
|
-
|
|
265
|
-
### Common Issues
|
|
266
|
-
|
|
267
|
-
**Forge reports ast-grep is unavailable**
|
|
268
|
-
If setup-forge reports that ast-grep was not detected, install it to unlock Forge mode: <https://ast-grep.github.io>
|
|
269
|
-
|
|
270
|
-
**"No brief found"**
|
|
271
|
-
Run `@Ferris BS` first to create a skill brief, or use `@Ferris QS` for brief-less generation.
|
|
272
|
-
|
|
273
|
-
**"Ecosystem check: official skill exists"**
|
|
274
|
-
An official skill already exists for this package. Consider installing it with `npx skills add` instead of generating your own.
|
|
275
|
-
|
|
276
|
-
**Quick mode skills have lower confidence**
|
|
277
|
-
Quick mode reads source without AST analysis. Install ast-grep to upgrade to Forge mode for structural truth (T1 confidence).
|
|
324
|
+
### Let the Health Check Run
|
|
278
325
|
|
|
279
|
-
**
|
|
280
|
-
Install [cocoindex-code](https://github.com/cocoindex-io/cocoindex-code) to unlock Forge+ mode. CCC indexes your codebase and pre-ranks files by semantic relevance before AST extraction, improving coverage on projects with 500+ files.
|
|
326
|
+
Every SKF workflow ends with a shared **health check** step where Ferris reflects on the session and offers to file friction, bugs, or gaps as GitHub issues (with your approval). Clean runs exit in one line — zero overhead. When something breaks, it's SKF's primary feedback channel, so **please let workflows run to completion**. If you had to cancel before the health check fired, ask Ferris to run it (`@Ferris please run the workflow health check for this session`) or [open an issue directly](https://github.com/armelhbobdad/bmad-module-skill-forge/issues/new/choose). See [Workflow Health Check](../workflows/#terminal-step-health-check) for details.
|
|
281
327
|
|
|
282
328
|
---
|
|
283
329
|
|
|
284
|
-
##
|
|
330
|
+
## Something not working?
|
|
285
331
|
|
|
286
|
-
|
|
287
|
-
(e.g. `/bmad-help my batch creation failed halfway, how do I resume?`)
|
|
288
|
-
*Provided by the [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD) — not available in standalone SKF installations.*
|
|
289
|
-
- Run `@Ferris SF` to check your current tier and tool availability
|
|
290
|
-
- Review `forge-tier.yaml` in your forger sidecar for runtime configuration
|
|
291
|
-
- Check module configuration in your BMAD settings
|
|
332
|
+
See [Troubleshooting](../troubleshooting/) for common errors (ast-grep unavailable, "no brief found", ecosystem check messages) and how to resolve them. For general setup help, see [Getting Started → Need help?](../getting-started/#need-help).
|