bmad-module-skill-forge 0.8.3 → 0.9.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.
Files changed (75) hide show
  1. package/README.md +9 -4
  2. package/docs/bmad-synergy.md +183 -0
  3. package/docs/concepts.md +60 -2
  4. package/docs/examples.md +70 -17
  5. package/docs/getting-started.md +23 -1
  6. package/docs/how-it-works.md +143 -29
  7. package/docs/index.md +1 -1
  8. package/docs/workflows.md +45 -5
  9. package/package.json +1 -1
  10. package/src/README.md +47 -0
  11. package/src/agents/forger.agent.yaml +9 -0
  12. package/src/knowledge/agentskills-spec.md +3 -0
  13. package/src/knowledge/overview.md +1 -0
  14. package/src/knowledge/provenance-tracking.md +3 -0
  15. package/src/knowledge/skf-knowledge-index.csv +1 -0
  16. package/src/knowledge/skill-lifecycle.md +19 -7
  17. package/src/knowledge/version-paths.md +243 -0
  18. package/src/module-help.csv +2 -0
  19. package/src/workflows/README.md +9 -1
  20. package/src/workflows/analyze-source/data/skill-brief-schema.md +4 -0
  21. package/src/workflows/audit-skill/steps-c/step-01-init.md +10 -6
  22. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +1 -1
  23. package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +1 -1
  24. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +1 -1
  25. package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +1 -1
  26. package/src/workflows/audit-skill/steps-c/step-06-report.md +1 -1
  27. package/src/workflows/brief-skill/data/skill-brief-schema.md +11 -0
  28. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +28 -4
  29. package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +10 -0
  30. package/src/workflows/brief-skill/steps-c/step-04-confirm-brief.md +9 -0
  31. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +14 -1
  32. package/src/workflows/create-skill/data/skill-sections.md +2 -0
  33. package/src/workflows/create-skill/data/source-resolution-protocols.md +40 -4
  34. package/src/workflows/create-skill/steps-c/step-03-extract.md +1 -1
  35. package/src/workflows/create-skill/steps-c/step-05-compile.md +1 -0
  36. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +48 -32
  37. package/src/workflows/create-skill/steps-c/step-08-report.md +8 -7
  38. package/src/workflows/create-stack-skill/data/compose-mode-rules.md +12 -6
  39. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +4 -1
  40. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +11 -5
  41. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +1 -1
  42. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +1 -1
  43. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +40 -23
  44. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +6 -3
  45. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +5 -3
  46. package/src/workflows/drop-skill/steps-c/step-01-select.md +298 -0
  47. package/src/workflows/drop-skill/steps-c/step-02-execute.md +290 -0
  48. package/src/workflows/drop-skill/steps-c/step-03-report.md +135 -0
  49. package/src/workflows/drop-skill/workflow.md +63 -0
  50. package/src/workflows/export-skill/data/managed-section-format.md +33 -8
  51. package/src/workflows/export-skill/data/snippet-format.md +16 -4
  52. package/src/workflows/export-skill/steps-c/step-01-load-skill.md +46 -7
  53. package/src/workflows/export-skill/steps-c/step-02-package.md +2 -2
  54. package/src/workflows/export-skill/steps-c/step-03-generate-snippet.md +39 -7
  55. package/src/workflows/export-skill/steps-c/step-04-update-context.md +185 -13
  56. package/src/workflows/export-skill/steps-c/step-05-token-report.md +2 -2
  57. package/src/workflows/export-skill/steps-c/step-06-summary.md +26 -7
  58. package/src/workflows/quick-skill/steps-c/step-01-resolve-target.md +10 -0
  59. package/src/workflows/quick-skill/steps-c/step-03-quick-extract.md +2 -0
  60. package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
  61. package/src/workflows/quick-skill/steps-c/step-06-write.md +30 -14
  62. package/src/workflows/refine-architecture/steps-c/step-01-init.md +8 -3
  63. package/src/workflows/rename-skill/steps-c/step-01-select.md +281 -0
  64. package/src/workflows/rename-skill/steps-c/step-02-execute.md +391 -0
  65. package/src/workflows/rename-skill/steps-c/step-03-report.md +132 -0
  66. package/src/workflows/rename-skill/workflow.md +64 -0
  67. package/src/workflows/test-skill/steps-c/step-01-init.md +17 -11
  68. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +1 -1
  69. package/src/workflows/update-skill/data/remote-source-resolution.md +18 -4
  70. package/src/workflows/update-skill/steps-c/step-01-init.md +15 -8
  71. package/src/workflows/update-skill/steps-c/step-06-write.md +43 -13
  72. package/src/workflows/update-skill/steps-c/step-07-report.md +7 -5
  73. package/src/workflows/verify-stack/steps-c/step-01-init.md +8 -3
  74. package/tools/cli/lib/installer.js +1 -0
  75. package/tools/cli/lib/ui.js +24 -2
package/README.md CHANGED
@@ -31,7 +31,9 @@ This isn't an edge case. It's the default experience.
31
31
 
32
32
  1. **Analyzes your sources** — extracts real function signatures, types, and patterns from code repositories, documentation websites, and developer discourse
33
33
  2. **Compiles verified instruction files** — every instruction links to the exact file and line it came from
34
- 3. **Follows an open standard** — skills comply with the [agentskills.io](https://agentskills.io) spec and work across Claude, Cursor, Copilot, and other AI agents
34
+ 3. **Version-aware** — skills are stored per-version, so updating to v2.0 doesn't break your v1.x skill. Compatible with [skill.sh](https://skill.sh) and [npx skills](https://www.npmjs.com/package/skills)
35
+ 4. **Manageable lifecycle** — rename skills and drop deprecated versions without manual file surgery. Transactional safety for destructive operations.
36
+ 5. **Follows an open standard** — skills comply with the [agentskills.io](https://agentskills.io) spec and work across Claude, Cursor, Copilot, and other AI agents
35
37
 
36
38
  ## Before vs After
37
39
 
@@ -74,9 +76,11 @@ You'll be prompted for project name, output folders, and IDE configuration. See
74
76
 
75
77
  1. **Set up your environment:** `@Ferris SF` — detects your tools and sets your capability tier
76
78
  2. **Generate your first skill:** `@Ferris QS <package-name>` — creates a verified skill in under a minute
77
- 3. **Full quality path:** `@Ferris BS` then `@Ferris CS` — brief first, then compile for maximum accuracy
79
+ 3. **Full quality path:** `@Ferris BS` clear session → `@Ferris CS` — brief first, then compile for maximum accuracy
78
80
 
79
- See the [workflows docs](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/) for all 12 available workflows.
81
+ > **Tip:** Start a fresh conversation before each workflow. SKF workflows load significant context clearing between them prevents interference.
82
+
83
+ See the [workflows docs](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/) for all 14 available workflows.
80
84
 
81
85
  ## Who Is This For?
82
86
 
@@ -84,13 +88,14 @@ See the [workflows docs](https://armelhbobdad.github.io/bmad-module-skill-forge/
84
88
  - **You maintain a library** and want to ship official, verified instruction files so AI agents use your API correctly
85
89
  - **You manage a codebase with many dependencies** and want a consolidated "stack skill" that teaches your agent how all the pieces fit together
86
90
  - **You use a SaaS API or closed-source tool** with no public code — SKF can generate skills from documentation alone
91
+ - **You need different skills for different use cases** from the same target — compile multiple skills with different scopes from one repo or doc set (e.g., a core API skill and a migration guide skill)
87
92
 
88
93
  ## Learn More
89
94
 
90
95
  - **[Getting Started](https://armelhbobdad.github.io/bmad-module-skill-forge/getting-started/)** — Installation, prerequisites, and your first skill
91
96
  - **[Concepts](https://armelhbobdad.github.io/bmad-module-skill-forge/concepts/)** — Plain-English definitions of all key terms
92
97
  - **[How It Works](https://armelhbobdad.github.io/bmad-module-skill-forge/how-it-works/)** — Architecture, capability tiers, output format, and design decisions
93
- - **[Workflows](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/)** — All 12 workflows with commands and connection diagrams
98
+ - **[Workflows](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/)** — All 14 workflows with commands and connection diagrams
94
99
  - **[Agents](https://armelhbobdad.github.io/bmad-module-skill-forge/agents/)** — Ferris: the AI agent that runs all SKF workflows
95
100
  - **[Examples](https://armelhbobdad.github.io/bmad-module-skill-forge/examples/)** — Real-world scenarios, tips, and troubleshooting
96
101
 
@@ -0,0 +1,183 @@
1
+ ---
2
+ title: BMAD Synergy
3
+ description: How SKF workflows pair with BMAD CORE phases and optional modules (BMM, TEA, BMB, GDS, CIS) — integration patterns, entry points, and artifact flow
4
+ ---
5
+
6
+ # Using SKF with BMAD
7
+
8
+ This page is for people already using [BMAD](https://docs.bmad-method.org/) who want to know where SKF workflows plug in. It assumes you know what BMM phases are, what TEA does, and what a BMAD module is. If any of that is new, start with the [BMAD docs](https://docs.bmad-method.org/) and then come back.
9
+
10
+ If you're new to SKF itself, read [Getting Started](../getting-started/) first. The rest of this page assumes you have SKF installed and have run `@Ferris SF`.
11
+
12
+ ---
13
+
14
+ ## Launcher Skills vs Content Skills
15
+
16
+ A BMAD project that also uses SKF ends up with two different kinds of `SKILL.md` files living in the same platform skills directory (`.claude/skills/` for Claude Code, `.cursor/skills/` for Cursor, `.agents/skills/` for Copilot/Codex and similar). They look similar. They are not the same thing. This is the single most durable point of confusion, so get it straight up front.
17
+
18
+ | | BMAD launcher skill | SKF content skill |
19
+ |---|---|---|
20
+ | **Created by** | `npx bmad-method install` (when you pick a module) | `@Ferris CS` / `QS` / `SS` |
21
+ | **File contains** | A thin wrapper that loads a BMAD workflow, agent, or task | The instructions themselves, with citations to real source code |
22
+ | **Updates when** | You reinstall or upgrade BMAD | You re-run SKF compilation against a new upstream version |
23
+ | **Provenance** | Points to a BMAD workflow file inside `_bmad/` | Points to upstream repo commits, files, and line ranges |
24
+ | **Example** | `bmad-create-prd/SKILL.md` loads a PRD workflow | `hono-4.6.0/SKILL.md` contains verified Hono API signatures |
25
+
26
+ > BMAD skills *launch workflows*. SKF skills *are the workflows' output, frozen with citations*. Both coexist in the same platform skills directory on purpose.
27
+
28
+ When a BMAD agent runs a workflow, that workflow can consult SKF content skills for verified API knowledge. The two kinds of skills compose — they don't compete.
29
+
30
+ ---
31
+
32
+ ## SKF and BMM: Phase-by-Phase Playbook
33
+
34
+ BMM is BMAD's core [4-phase workflow](https://docs.bmad-method.org/) (Analysis → Planning → Solutioning → Implementation). SKF has five concrete entry points across those phases. The diagram below shows the end-to-end picture; the subsections that follow give the trigger, command, and artifact flow for each phase.
35
+
36
+ ```mermaid
37
+ flowchart TD
38
+ P1[BMM Phase 1: Analysis<br/>product-brief · research] -.->|unfamiliar deps| AN[SKF: Analyze Source]
39
+ AN --> BS[SKF: Brief Skill]
40
+ BS -.->|risk register| P1
41
+
42
+ P1 --> P2[BMM Phase 2: Planning<br/>create-prd]
43
+ P2 -.->|uncertain API| QS[SKF: Quick Skill]
44
+ QS -.->|verified API ref| P2
45
+
46
+ P2 --> P3[BMM Phase 3: Solutioning<br/>create-architecture]
47
+ P3 -.->|declared stack| VS[SKF: Verify Stack]
48
+ VS --> RA[SKF: Refine Architecture]
49
+ RA -.->|refined arch| P3b[BMM: check-implementation-readiness]
50
+ P3 --> P3b
51
+
52
+ P3b --> P4[BMM Phase 4: Implementation<br/>create-story · dev-story]
53
+ P4 -.->|story libs| CS[SKF: Create Skill / Stack Skill]
54
+ CS -.->|verified skill context| P4
55
+
56
+ P4 --> RETRO[BMM: retrospective]
57
+ RETRO -.->|API confusion found| US[SKF: Update Skill]
58
+ US -.->|patched skill| P4
59
+ ```
60
+
61
+ ### Phase 1 — Analysis
62
+
63
+ **Trigger:** A brownfield repo or an unfamiliar third-party dependency surfaces during `product-brief` or `research`. The team can't answer "what does this library actually expose?" from training data.
64
+
65
+ **SKF command:** `@Ferris AN` on the repo, then `@Ferris BS` to scope each priority library.
66
+
67
+ **What flows back:** Recommended skill boundaries, an analysis report of the discovered units, and one skill-brief per library that's ready to compile later. The scoping data is what PMs typically feed into their own risk register.
68
+
69
+ **Why now, not later:** Catching surprise libraries during Analysis keeps the PRD honest. Discovering the same unknowns during Implementation forces course corrections that a two-paragraph risk entry could have prevented.
70
+
71
+ ### Phase 2 — Planning
72
+
73
+ **Trigger:** The PRD draft references an API and you realize nobody on the team is 100% sure how it behaves.
74
+
75
+ **SKF command:** `@Ferris QS <package>` — no brief needed.
76
+
77
+ **What flows back:** A verified skill you can cite directly in acceptance criteria. PM and architect read the same source.
78
+
79
+ **Why now, not later:** Quick Skill is cheap insurance. It takes under a minute and prevents a whole class of "actually that function doesn't exist" moments during story writing.
80
+
81
+ ### Phase 3 — Solutioning
82
+
83
+ This is the highest-value integration. BMM's architect agent works from assumptions about the declared stack; SKF is how those assumptions become evidence-backed before the team commits to an implementation readiness check.
84
+
85
+ **Trigger:** Architecture draft exists, `check-implementation-readiness` hasn't run yet.
86
+
87
+ **SKF commands:** `@Ferris QS <library>` per declared dependency, then `@Ferris VS`, then `@Ferris RA` on any gaps or failures.
88
+
89
+ **What flows back:** A pass/fail feasibility report per component, version-pinned evidence for every claim, and a refined architecture document with verified API signatures filled in at the callout points.
90
+
91
+ **Why now, not later:** Running VS after Implementation has started means your stories are already built on an unverified foundation. The loop below is designed to iterate cheaply *before* code gets written.
92
+
93
+ ```mermaid
94
+ flowchart TD
95
+ ARCH[BMM: create-architecture draft] --> GEN["SKF: Create Skill | Quick Skill<br/>(per declared dependency)"]
96
+ GEN --> VS[SKF: Verify Stack]
97
+ VS -->|pass| READY[BMM: check-implementation-readiness]
98
+ VS -->|fail / gaps| RA[SKF: Refine Architecture]
99
+ RA -.->|refined draft| VS
100
+ RA --> READY
101
+ ```
102
+
103
+ The "Pre-Code Architecture Verification — Greenfield Confidence" scenario in [Examples](../examples/) walks through a concrete case of this loop.
104
+
105
+ ### Phase 4 — Implementation
106
+
107
+ Two distinct triggers fire during Implementation, one at the start of each story and one after each retrospective.
108
+
109
+ **Trigger A (before `create-story`):** The story touches a library whose API isn't already in a content skill.
110
+
111
+ **SKF command:** `@Ferris CS` for a single library, or `@Ferris SS` when the story spans several dependencies.
112
+
113
+ **What flows back:** A verified content skill the `dev-story` workflow can consult during implementation — no training-data guessing about function signatures.
114
+
115
+ **Trigger B (after `retrospective`):** The retro flagged something like "we kept getting API X wrong this sprint."
116
+
117
+ **SKF command:** `@Ferris US` on the affected skill.
118
+
119
+ **What flows back:** A patched skill with the newly-discovered edge cases captured — `[MANUAL]` sections preserved so human annotations aren't overwritten. Next sprint's stories consume the updated skill automatically.
120
+
121
+ This retrospective → update loop is the pattern that [Scenario A in Examples](../examples/#scenario-a-greenfield--bmm-integration) sketches for one project; it generalizes to any BMM project that runs more than a few sprints.
122
+
123
+ ---
124
+
125
+ ## SKF with Optional BMAD Modules
126
+
127
+ BMAD ships several [optional modules](https://docs.bmad-method.org/). Synergy with SKF ranges from very high (TEA) to none at all (CIS). This section is honest about both.
128
+
129
+ ### TEA — Test Architect
130
+
131
+ TEA produces structured test strategies and release gates. SKF produces the verified skills TEA's workflows need when the test target is a library they don't fully know.
132
+
133
+ ```mermaid
134
+ flowchart TD
135
+ TD[TEA: Test Design] -.->|test lib unknown| CS[SKF: Create Skill<br/>on Playwright/Vitest/Pact]
136
+ CS --> AUTO[TEA: Automate / ATDD]
137
+ AUTO --> GATE[TEA: Release Gate]
138
+ GATE -.->|drift check| AS[SKF: Audit Skill]
139
+ AS -->|no drift| GATE
140
+ AS -.->|drift found| US[SKF: Update Skill]
141
+ US -.->|refreshed skill| GATE
142
+ ```
143
+
144
+ Two concrete integrations:
145
+
146
+ - **Before Test Design / ATDD / Automate / Framework Scaffolding** — run `@Ferris CS` on whichever test library the strategy depends on (Playwright, Vitest, Pact, etc.). TEA's test-authoring agents then work against verified API surfaces instead of training-data approximations.
147
+ - **Before Release Gate** — run `@Ferris AS` on the skills the gate cites. If the skill has drifted from the current source, the drift report itself becomes evidence the gate can act on, and `@Ferris US` closes the loop.
148
+
149
+ ### BMB — BMad Builder
150
+
151
+ BMB authors extend BMAD with new agents, workflows, or entire modules. When a new module depends on third-party libraries, ship a verified companion skill alongside it:
152
+
153
+ - During `module-builder`, run `@Ferris SS` on the module's declared stack. The resulting stack skill becomes part of the module's distribution — downstream users get both the BMAD module BMB built and the SKF content skill you compiled as its companion in a single install.
154
+
155
+ ### GDS — Game Dev Studio
156
+
157
+ Narrow synergy. GDS covers GDD authoring, narrative design, and engine-specific guidance for 21+ game types, and most of that is conceptual work with no code to verify. The exception is when the GDD commits to a concrete engine SDK (Bevy, Godot-Rust, Unity DOTS):
158
+
159
+ - Once the engine binding is pinned, run `@Ferris CS` on it. The implementation team then has verified bindings to work against.
160
+
161
+ For narrative, character design, world-building, or genre research — no synergy. SKF has nothing to offer the creative side of GDS.
162
+
163
+ ### CIS — Creative Intelligence Suite
164
+
165
+ No direct synergy. CIS covers ideation, brainstorming, innovation strategy, and storytelling — phases with no code to verify. SKF's whole value proposition is turning code and docs into evidence-backed skills, and CIS operates upstream of any of that. Use CIS for the creative work, then bring SKF in once you're producing concrete technical artifacts.
166
+
167
+ ---
168
+
169
+ ## Delivery and Lifecycle in a BMAD Project
170
+
171
+ `@Ferris EX` is the **only workflow that introduces new skill context** into `CLAUDE.md`, `AGENTS.md`, and `.cursorrules`. Create-skill and update-skill produce draft artifacts that never touch those files directly — nothing reaches an agent's passive context until it has been through the EX gate. See [How It Works](../how-it-works/) for the architectural rationale.
172
+
173
+ This matters specifically in a BMAD project: you may have multiple BMAD modules, each with its own launcher skills, plus SKF content skills, all trying to contribute context. The write-guard means only verified, tested SKF skills ever reach an agent's passive context — nothing half-baked sneaks in. `@Ferris EX` injects managed sections that coexist cleanly with whatever BMAD's installer wrote in the same files.
174
+
175
+ For long-running BMAD projects, `@Ferris RS` (rename) and `@Ferris DS` (drop) keep the skill inventory clean as libraries get swapped, versions get deprecated, or naming conventions evolve across sprints. Both *rebuild* the existing managed sections in `CLAUDE.md`, `AGENTS.md`, and `.cursorrules` so references stay consistent after a rename or drop — they never inject previously-unpublished content, so the EX gate still governs what initially enters those files.
176
+
177
+ ---
178
+
179
+ ## Where to Go Next
180
+
181
+ - [BMAD docs](https://docs.bmad-method.org/) — canonical reference for BMM phases, TEA workflows, BMB / GDS / CIS details, and the full module list
182
+ - [Workflows](../workflows/) — complete SKF workflow reference with commands and connection diagrams
183
+ - [Examples](../examples/) — concrete scenarios including the BMM retrospective loop and greenfield architecture verification
package/docs/concepts.md CHANGED
@@ -71,19 +71,47 @@ SKF detects drift by comparing the skill's recorded provenance against the curre
71
71
 
72
72
  ---
73
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.
83
+
84
+ ---
85
+
74
86
  ## Version Pinning
75
87
 
76
88
  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.
77
89
 
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.5.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
+
78
92
  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.
79
93
 
80
94
  ---
81
95
 
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
+
82
110
  ## BMAD Module
83
111
 
84
- SKF is a plugin (called a "module") for the [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD), a framework for running structured AI workflows. BMad provides the workflow engine step-by-step execution, shared knowledge bases, and consistent outputs. SKF plugs into that engine and focuses specifically on skill compilation.
112
+ 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.
85
113
 
86
- You don't need to know BMad to use SKF. The standalone installer sets everything up.
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.
87
115
 
88
116
  ---
89
117
 
@@ -111,8 +139,38 @@ Skills can include executable scripts and static assets alongside the main SKILL
111
139
 
112
140
  ---
113
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
+
114
166
  ## Best Practices
115
167
 
116
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.
117
169
 
118
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:**
173
+
174
+ - **One workflow per session** — clear context between workflows to prevent stale state from affecting results
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
package/docs/examples.md CHANGED
@@ -50,19 +50,22 @@ See [How It Works](../how-it-works/) for the full output structure.
50
50
 
51
51
  ```
52
52
  skills/cognee/
53
- ├── SKILL.md # What your agent reads
54
- ├── context-snippet.md # Compressed index for CLAUDE.md
55
- ├── metadata.json # Machine-readable provenance
56
- ├── references/ # Progressive disclosure detail
57
- ├── api-core.md
58
- │ └── graph-types.md
59
- ├── scripts/ # Executable utilities (when detected)
60
- └── setup-graphdb.sh
61
- └── assets/ # Templates and schemas (when detected)
62
- └── config-schema.json
53
+ ├── active -> 0.5.5
54
+ └── 0.5.5/
55
+ └── cognee/
56
+ ├── SKILL.md # What your agent reads
57
+ ├── context-snippet.md # Compressed index for platform context files
58
+ ├── metadata.json # Machine-readable provenance
59
+ ├── references/ # Progressive disclosure detail
60
+ ├── api-core.md
61
+ └── graph-types.md
62
+ ├── scripts/ # Executable utilities (when detected)
63
+ │ └── setup-graphdb.sh
64
+ └── assets/ # Templates and schemas (when detected)
65
+ └── config-schema.json
63
66
  ```
64
67
 
65
- The `scripts/` and `assets/` directories appear only when the source repository contains them. Each file traces back to its source with provenance citations and SHA-256 hashes.
68
+ Skills are stored per-version — updating cognee to v0.6.0 creates a new version directory without overwriting v0.5.5. The `active` symlink always points to the current version. The `scripts/` and `assets/` directories appear only when the source repository contains them. Each file traces back to its source with provenance citations and SHA-256 hashes.
66
69
 
67
70
  ---
68
71
 
@@ -76,7 +79,13 @@ Developer adds [cognee](https://github.com/topoteretes/cognee) to a Python proje
76
79
  @Ferris QS https://github.com/topoteretes/cognee
77
80
  ```
78
81
 
79
- Ferris reads the repository, extracts the public API via source reading, validates against spec. Skill appears in `skills/cognee/`. Agent stops hallucinating. Forty-seven seconds. Done.
82
+ Ferris reads the repository, extracts the public API via source reading, validates against spec. Skill appears in `skills/cognee/0.5.5/cognee/`. Agent stops hallucinating. Forty-seven seconds. Done.
83
+
84
+ Need a specific version? Append `@version`:
85
+
86
+ ```
87
+ @Ferris QS cognee@0.5.0
88
+ ```
80
89
 
81
90
  ### Brownfield Platform — 8 Minutes
82
91
 
@@ -84,11 +93,13 @@ Alex's team adopts BMAD for 10 microservices (TypeScript, Go, Rust).
84
93
 
85
94
  ```
86
95
  @Ferris SF # Setup — Deep mode detected
96
+ # — clear session —
87
97
  @Ferris AN # Analyze — 10 services mapped
98
+ # — clear session —
88
99
  @Ferris CS --batch # Create — batch generation
89
100
  ```
90
101
 
91
- 10 individual skills + 1 platform stack skill. BMM architect navigates cross-service flows with verified knowledge.
102
+ 10 individual skills + 1 platform stack skill. [BMM](../bmad-synergy/#skf-and-bmm-phase-by-phase-playbook) architect navigates cross-service flows with verified knowledge.
92
103
 
93
104
  ### Release Prep — Trust Builder
94
105
 
@@ -96,8 +107,11 @@ Sarah prepares v3.0.0 with breaking changes.
96
107
 
97
108
  ```
98
109
  @Ferris AS # Audit — finds 3 renames, 1 removal, 1 addition
110
+ # — clear session —
99
111
  @Ferris US # Update — preserves [MANUAL] sections, adds annotations
112
+ # — clear session —
100
113
  @Ferris TS # Test — verify completeness
114
+ # — clear session —
101
115
  @Ferris EX # Export — package for npm release
102
116
  ```
103
117
 
@@ -134,13 +148,13 @@ VS finds a Risky integration between Drizzle and SpacetimeDB (incompatible query
134
148
 
135
149
  ### Scenario A: Greenfield + BMM Integration
136
150
 
137
- BMAD user starts a new project. BMM architect suggests skill generation after retrospective.
151
+ BMAD user starts a new project. [BMM](../bmad-synergy/#skf-and-bmm-phase-by-phase-playbook) architect suggests skill generation after retrospective.
138
152
 
139
153
  ```
140
154
  @Ferris BS # Brief — scope the skill
141
155
  @Ferris CS # Create — compile from brief
142
156
  @Ferris TS # Test — verify completeness
143
- @Ferris EX # Export — inject into CLAUDE.md
157
+ @Ferris EX # Export — inject into platform context files
144
158
  ```
145
159
 
146
160
  Skills accumulate over sprints. Agent gets smarter every iteration.
@@ -168,8 +182,10 @@ No source code available — only documentation.
168
182
  ```
169
183
  @Ferris BS
170
184
  # When asked for target, provide documentation URLs:
171
- # https://docs.cognee.ai/
185
+ # https://docs.cognee.ai/v2/api/
172
186
  # Ferris sets source_type: "docs-only" and collects doc_urls
187
+ # When asked for target version, specify: 2.0.0
188
+ # Ferris confirms your doc URLs match that version
173
189
  @Ferris CS
174
190
  # step-03 skips (no source), step-03c fetches docs via doc_fetcher
175
191
  # All content is T3 [EXT:url] confidence. source_authority: community
@@ -177,6 +193,35 @@ No source code available — only documentation.
177
193
 
178
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 T3 citations.
179
195
 
196
+ ### Scenario E: Rename a Skill
197
+
198
+ You generated a quick skill for `cognee` and now want a more specific name to distinguish it from the official one.
199
+
200
+ ```
201
+ @Ferris RS
202
+ # Ferris asks: Which skill? → cognee
203
+ # Ferris asks: New name? → cognee-skf-community
204
+ # Ferris copies to new name across all versions, verifies every reference,
205
+ # updates the export manifest, rebuilds CLAUDE.md/AGENTS.md,
206
+ # then deletes the old name.
207
+ ```
208
+
209
+ Transactional safety: if verification fails, the old skill stays intact.
210
+
211
+ ### Scenario F: Drop a Deprecated Version
212
+
213
+ You have `cognee` with versions 0.1.0, 0.5.0, and 0.6.0 (active). Version 0.1.0 is obsolete.
214
+
215
+ ```
216
+ @Ferris DS
217
+ # Ferris asks: Which skill? → cognee
218
+ # Ferris asks: Which version? → 0.1.0
219
+ # Ferris asks: Deprecate (keep files) or Purge (delete)? → Purge
220
+ # Ferris updates the manifest, rebuilds context files, deletes the 0.1.0 directory.
221
+ ```
222
+
223
+ 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
+
180
225
  ---
181
226
 
182
227
  ## Tips & Tricks
@@ -195,7 +240,15 @@ Stack skills focus on integration patterns. Individual skills focus on API surfa
195
240
 
196
241
  ### The Loop
197
242
 
198
- After each sprint's refactor, run `@Ferris US` to regenerate changed components. Export updates CLAUDE.md automatically. Skill generation becomes routine — like running tests.
243
+ After each sprint's refactor, run `@Ferris US` to regenerate changed components. Export updates your platform context files (CLAUDE.md, AGENTS.md, .cursorrules) automatically. Skill generation becomes routine — like running tests.
244
+
245
+ ### One Workflow Per Session
246
+
247
+ Clear your conversation context (start a new chat) before invoking a new workflow. Each SKF workflow loads step files, knowledge fragments, and extraction data into context. Starting fresh ensures the next workflow operates without interference from prior steps. Sidecar state (forge tier, preferences) persists automatically across sessions — you don't lose configuration.
248
+
249
+ ### Full Control Over Scope
250
+
251
+ You can compile multiple skills from the same target (repo or docs) with different scopes and intents. Each brief defines what to extract and why, producing a distinct skill from the same source. For example, from a single library you could compile `cognee-core` for the public API, `cognee-graph-types` for the type system, and `cognee-migration` for upgrade patterns — each serving a different use case.
199
252
 
200
253
  ### Best Practices Built In
201
254
 
@@ -51,6 +51,18 @@ npx bmad-module-skill-forge install
51
51
 
52
52
  The installer detects the existing `_bmad/` directory and installs SKF alongside your current modules.
53
53
 
54
+ ### Updating an existing SKF installation
55
+
56
+ To move to a newer (or older) SKF version, run the installer again in your project directory:
57
+
58
+ ```bash
59
+ npx bmad-module-skill-forge@latest install
60
+ ```
61
+
62
+ The installer reads the installed version from your manifest and shows the delta in the prompt — for example `v0.8.3 → v0.8.4 available`. Pick **Update** to replace SKF files while keeping your `config.yaml` intact. The option label adapts to the direction you're moving (upgrade, reinstall the same version, or downgrade) so you always see exactly what you're about to apply. Pick **Fresh install** instead if you want to wipe everything and start clean.
63
+
64
+ > The `@latest` suffix forces npx to fetch the newest published version instead of reusing a cached copy from a previous run.
65
+
54
66
  ---
55
67
 
56
68
  ## Prerequisites
@@ -103,14 +115,24 @@ This detects your tools, sets your capability tier, and initializes the forge en
103
115
 
104
116
  Ferris reads the repository, extracts the public API, and generates a skill in under a minute.
105
117
 
106
- **Full quality path:**
118
+ **Targeting a specific version:** Append `@version` to pin the skill to a library version:
119
+ ```
120
+ @Ferris QS cognee@0.5.0
121
+ ```
122
+
123
+ **Full quality path (one workflow per session):**
107
124
  ```
108
125
  @Ferris BS # Brief — scope and design the skill
126
+ # — clear session —
109
127
  @Ferris CS # Create — compile from the brief
128
+ # — clear session —
110
129
  @Ferris TS # Test — verify completeness
130
+ # — clear session —
111
131
  @Ferris EX # Export — package for distribution
112
132
  ```
113
133
 
134
+ > Start a fresh conversation before each workflow. SKF workflows load significant context — clearing between them prevents interference. See [Session Context](../concepts/#session-context).
135
+
114
136
  ### 3. Stack Skill (for full projects)
115
137
 
116
138
  ```