bmad-module-skill-forge 0.8.4 → 0.10.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/README.md +5 -3
- package/docs/bmad-synergy.md +183 -0
- package/docs/concepts.md +30 -2
- package/docs/examples.md +57 -17
- package/docs/getting-started.md +17 -0
- package/docs/how-it-works.md +143 -29
- package/docs/index.md +1 -1
- package/docs/workflows.md +43 -5
- package/package.json +1 -1
- package/src/README.md +47 -0
- package/src/agents/forger.agent.yaml +8 -0
- package/src/knowledge/agentskills-spec.md +3 -0
- package/src/knowledge/overview.md +1 -0
- package/src/knowledge/provenance-tracking.md +3 -0
- package/src/knowledge/skf-knowledge-index.csv +1 -0
- package/src/knowledge/skill-lifecycle.md +19 -7
- package/src/knowledge/version-paths.md +243 -0
- package/src/module-help.csv +2 -0
- package/src/module.yaml +4 -0
- package/src/workflows/README.md +9 -1
- package/src/workflows/analyze-source/data/skill-brief-schema.md +4 -0
- package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +5 -0
- package/src/workflows/audit-skill/steps-c/step-01-init.md +10 -6
- package/src/workflows/audit-skill/steps-c/step-02-re-index.md +1 -1
- package/src/workflows/audit-skill/steps-c/step-03-structural-diff.md +1 -1
- package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +1 -1
- package/src/workflows/audit-skill/steps-c/step-05-severity-classify.md +1 -1
- package/src/workflows/audit-skill/steps-c/step-06-report.md +7 -2
- package/src/workflows/brief-skill/data/skill-brief-schema.md +11 -0
- package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +24 -1
- package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +10 -0
- package/src/workflows/brief-skill/steps-c/step-04-confirm-brief.md +9 -0
- package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +18 -4
- package/src/workflows/create-skill/data/skill-sections.md +2 -0
- package/src/workflows/create-skill/data/source-resolution-protocols.md +40 -4
- package/src/workflows/create-skill/steps-c/step-03-extract.md +1 -1
- package/src/workflows/create-skill/steps-c/step-05-compile.md +1 -0
- package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +48 -32
- package/src/workflows/create-skill/steps-c/step-08-report.md +16 -12
- package/src/workflows/create-stack-skill/data/compose-mode-rules.md +12 -6
- package/src/workflows/create-stack-skill/steps-c/step-01-init.md +4 -1
- package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +11 -5
- package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +1 -1
- package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +1 -1
- package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +40 -23
- package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +6 -3
- package/src/workflows/create-stack-skill/steps-c/step-09-report.md +11 -4
- package/src/workflows/drop-skill/steps-c/step-01-select.md +298 -0
- package/src/workflows/drop-skill/steps-c/step-02-execute.md +290 -0
- package/src/workflows/drop-skill/steps-c/step-03-report.md +136 -0
- package/src/workflows/drop-skill/workflow.md +63 -0
- package/src/workflows/export-skill/data/managed-section-format.md +33 -8
- package/src/workflows/export-skill/data/snippet-format.md +16 -4
- package/src/workflows/export-skill/steps-c/step-01-load-skill.md +46 -7
- package/src/workflows/export-skill/steps-c/step-02-package.md +2 -2
- package/src/workflows/export-skill/steps-c/step-03-generate-snippet.md +39 -7
- package/src/workflows/export-skill/steps-c/step-04-update-context.md +185 -13
- package/src/workflows/export-skill/steps-c/step-05-token-report.md +2 -2
- package/src/workflows/export-skill/steps-c/step-06-summary.md +35 -8
- package/src/workflows/quick-skill/steps-c/step-01-resolve-target.md +10 -0
- package/src/workflows/quick-skill/steps-c/step-03-quick-extract.md +2 -0
- package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
- package/src/workflows/quick-skill/steps-c/step-06-write.md +36 -21
- package/src/workflows/refine-architecture/steps-c/step-01-init.md +8 -3
- package/src/workflows/refine-architecture/steps-c/step-06-report.md +7 -4
- package/src/workflows/rename-skill/steps-c/step-01-select.md +281 -0
- package/src/workflows/rename-skill/steps-c/step-02-execute.md +391 -0
- package/src/workflows/rename-skill/steps-c/step-03-report.md +133 -0
- package/src/workflows/rename-skill/workflow.md +64 -0
- package/src/workflows/setup-forge/steps-c/step-04-report.md +8 -5
- package/src/workflows/shared/health-check.md +231 -0
- package/src/workflows/test-skill/steps-c/step-01-init.md +14 -6
- package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +1 -1
- package/src/workflows/test-skill/steps-c/step-06-report.md +4 -3
- package/src/workflows/update-skill/data/remote-source-resolution.md +18 -4
- package/src/workflows/update-skill/steps-c/step-01-init.md +15 -8
- package/src/workflows/update-skill/steps-c/step-06-write.md +43 -13
- package/src/workflows/update-skill/steps-c/step-07-report.md +13 -8
- package/src/workflows/verify-stack/steps-c/step-01-init.md +8 -3
- package/src/workflows/verify-stack/steps-c/step-06-report.md +6 -3
- package/tools/cli/lib/compiler.js +1 -1
- 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. **
|
|
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
|
|
|
@@ -78,7 +80,7 @@ You'll be prompted for project name, output folders, and IDE configuration. See
|
|
|
78
80
|
|
|
79
81
|
> **Tip:** Start a fresh conversation before each workflow. SKF workflows load significant context — clearing between them prevents interference.
|
|
80
82
|
|
|
81
|
-
See the [workflows docs](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/) for all
|
|
83
|
+
See the [workflows docs](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/) for all 14 available workflows.
|
|
82
84
|
|
|
83
85
|
## Who Is This For?
|
|
84
86
|
|
|
@@ -93,7 +95,7 @@ See the [workflows docs](https://armelhbobdad.github.io/bmad-module-skill-forge/
|
|
|
93
95
|
- **[Getting Started](https://armelhbobdad.github.io/bmad-module-skill-forge/getting-started/)** — Installation, prerequisites, and your first skill
|
|
94
96
|
- **[Concepts](https://armelhbobdad.github.io/bmad-module-skill-forge/concepts/)** — Plain-English definitions of all key terms
|
|
95
97
|
- **[How It Works](https://armelhbobdad.github.io/bmad-module-skill-forge/how-it-works/)** — Architecture, capability tiers, output format, and design decisions
|
|
96
|
-
- **[Workflows](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/)** — All
|
|
98
|
+
- **[Workflows](https://armelhbobdad.github.io/bmad-module-skill-forge/workflows/)** — All 14 workflows with commands and connection diagrams
|
|
97
99
|
- **[Agents](https://armelhbobdad.github.io/bmad-module-skill-forge/agents/)** — Ferris: the AI agent that runs all SKF workflows
|
|
98
100
|
- **[Examples](https://armelhbobdad.github.io/bmad-module-skill-forge/examples/)** — Real-world scenarios, tips, and troubleshooting
|
|
99
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
|
|
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
|
-
|
|
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
|
|
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
|
-
├──
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
├──
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
├──
|
|
60
|
-
│
|
|
61
|
-
└──
|
|
62
|
-
|
|
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
|
|
|
@@ -90,7 +99,7 @@ Alex's team adopts BMAD for 10 microservices (TypeScript, Go, Rust).
|
|
|
90
99
|
@Ferris CS --batch # Create — batch generation
|
|
91
100
|
```
|
|
92
101
|
|
|
93
|
-
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.
|
|
94
103
|
|
|
95
104
|
### Release Prep — Trust Builder
|
|
96
105
|
|
|
@@ -139,13 +148,13 @@ VS finds a Risky integration between Drizzle and SpacetimeDB (incompatible query
|
|
|
139
148
|
|
|
140
149
|
### Scenario A: Greenfield + BMM Integration
|
|
141
150
|
|
|
142
|
-
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.
|
|
143
152
|
|
|
144
153
|
```
|
|
145
154
|
@Ferris BS # Brief — scope the skill
|
|
146
155
|
@Ferris CS # Create — compile from brief
|
|
147
156
|
@Ferris TS # Test — verify completeness
|
|
148
|
-
@Ferris EX # Export — inject into
|
|
157
|
+
@Ferris EX # Export — inject into platform context files
|
|
149
158
|
```
|
|
150
159
|
|
|
151
160
|
Skills accumulate over sprints. Agent gets smarter every iteration.
|
|
@@ -173,8 +182,10 @@ No source code available — only documentation.
|
|
|
173
182
|
```
|
|
174
183
|
@Ferris BS
|
|
175
184
|
# When asked for target, provide documentation URLs:
|
|
176
|
-
# https://docs.cognee.ai/
|
|
185
|
+
# https://docs.cognee.ai/v2/api/
|
|
177
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
|
|
178
189
|
@Ferris CS
|
|
179
190
|
# step-03 skips (no source), step-03c fetches docs via doc_fetcher
|
|
180
191
|
# All content is T3 [EXT:url] confidence. source_authority: community
|
|
@@ -182,6 +193,35 @@ No source code available — only documentation.
|
|
|
182
193
|
|
|
183
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.
|
|
184
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
|
+
|
|
185
225
|
---
|
|
186
226
|
|
|
187
227
|
## Tips & Tricks
|
|
@@ -200,7 +240,7 @@ Stack skills focus on integration patterns. Individual skills focus on API surfa
|
|
|
200
240
|
|
|
201
241
|
### The Loop
|
|
202
242
|
|
|
203
|
-
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.
|
|
204
244
|
|
|
205
245
|
### One Workflow Per Session
|
|
206
246
|
|
package/docs/getting-started.md
CHANGED
|
@@ -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,6 +115,11 @@ 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
|
|
|
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
|
+
|
|
106
123
|
**Full quality path (one workflow per session):**
|
|
107
124
|
```
|
|
108
125
|
@Ferris BS # Brief — scope and design the skill
|