bmad-module-skill-forge 2.0.2 → 2.2.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 (63) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/README.md +3 -1
  3. package/docs/404.md +4 -4
  4. package/docs/_data/pinned.yaml +1 -1
  5. package/docs/_internal/RELEASING.md +41 -4
  6. package/docs/agents.md +2 -2
  7. package/docs/architecture.md +1 -1
  8. package/docs/bmad-synergy.md +13 -13
  9. package/docs/campaign.md +3 -3
  10. package/docs/concepts.md +3 -3
  11. package/docs/examples.md +9 -9
  12. package/docs/forge-auto.md +6 -6
  13. package/docs/getting-started.md +12 -12
  14. package/docs/how-it-works.md +7 -7
  15. package/docs/index.md +7 -1
  16. package/docs/skill-model.md +2 -2
  17. package/docs/troubleshooting.md +7 -7
  18. package/docs/why-skf.md +8 -8
  19. package/docs/workflows.md +5 -5
  20. package/package.json +7 -3
  21. package/src/shared/references/description-guard-protocol.md +2 -0
  22. package/src/shared/scripts/schemas/skill-brief.v1.json +6 -0
  23. package/src/shared/scripts/skf-description-guard.py +22 -2
  24. package/src/shared/scripts/skf-detect-docs.py +198 -2
  25. package/src/shared/scripts/skf-detect-language.py +20 -0
  26. package/src/shared/scripts/skf-detect-tools.py +40 -0
  27. package/src/shared/scripts/skf-emit-result-envelope.py +20 -0
  28. package/src/shared/scripts/skf-language-corpora.py +20 -0
  29. package/src/shared/scripts/skf-merge-doc-urls.py +20 -0
  30. package/src/shared/scripts/skf-qmd-classify-collections.py +44 -2
  31. package/src/shared/scripts/skf-recommend-scope-type.py +20 -0
  32. package/src/shared/scripts/skf-render-metadata-stats.py +1 -1
  33. package/src/shared/scripts/skf-shape-detect.py +20 -0
  34. package/src/skf-analyze-source/assets/skill-brief-schema.md +2 -1
  35. package/src/skf-analyze-source/references/recommend.md +1 -1
  36. package/src/skf-audit-skill/references/re-index.md +1 -1
  37. package/src/skf-brief-skill/assets/description-voice-examples.md +5 -3
  38. package/src/skf-brief-skill/assets/skill-brief-schema.md +2 -2
  39. package/src/skf-brief-skill/references/analyze-target.md +2 -2
  40. package/src/skf-brief-skill/references/gather-intent.md +4 -2
  41. package/src/skf-campaign/references/step-05-skill-loop.md +3 -1
  42. package/src/skf-create-skill/assets/compile-assembly-rules.md +3 -2
  43. package/src/skf-create-skill/assets/skill-sections.md +3 -2
  44. package/src/skf-create-skill/references/compile.md +12 -3
  45. package/src/skf-create-skill/references/extract.md +1 -1
  46. package/src/skf-create-skill/references/generate-artifacts.md +5 -3
  47. package/src/skf-create-skill/references/step-doc-rot.md +23 -6
  48. package/src/skf-create-skill/references/step-doc-sources.md +31 -3
  49. package/src/skf-create-skill/references/sub/fetch-docs.md +4 -2
  50. package/src/skf-create-skill/references/validate.md +2 -2
  51. package/src/skf-create-skill/scripts/scan-doc-rot.py +191 -27
  52. package/src/skf-create-stack-skill/references/detect-integrations.md +1 -1
  53. package/src/skf-setup/references/ccc-index.md +5 -4
  54. package/src/skf-setup/references/detect-and-tier.md +1 -0
  55. package/src/skf-setup/references/report.md +1 -1
  56. package/src/skf-test-skill/references/coverage-check.md +11 -5
  57. package/src/skf-test-skill/references/score.md +7 -1
  58. package/src/skf-test-skill/scripts/aggregate-coherence.py +13 -3
  59. package/src/skf-test-skill/scripts/compute-score.py +17 -4
  60. package/src/skf-test-skill/scripts/reconcile-coverage.py +36 -9
  61. package/src/skf-update-skill/references/write.md +2 -2
  62. package/tools/cli/lib/installer.js +31 -1
  63. package/tools/validate-docs-links.js +665 -0
@@ -30,7 +30,7 @@
30
30
  "name": "skill-forge",
31
31
  "source": "./",
32
32
  "description": "Evidence-based agent skills compiler with progressive capability tiers (Quick/Forge/Forge+/Deep).",
33
- "version": "2.0.2",
33
+ "version": "2.2.0",
34
34
  "author": {
35
35
  "name": "Armel"
36
36
  },
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  <div align="center">
2
4
 
3
5
  <img src="website/public/img/skf-logo-animated.svg" alt="Skill Forge Logo" width="120" />
@@ -75,7 +77,7 @@ You'll be prompted for project name, output folders, and IDE configuration. When
75
77
  1. **Set up your environment:** `@Ferris SF` _(Setup Forge)_ — detects your tools and sets your capability tier
76
78
  2. **Zero-ceremony path:** `@Ferris forge-auto <repo-or-doc-url>` _(Forge-Auto)_ — one command turns a repo or doc URL into a verified skill (auto-scope, auto-brief, 90% quality gate, export)
77
79
  3. **Fast path:** `@Ferris QS <package-name>` _(Quick Skill)_ — creates a verified skill in under a minute
78
- 4. **Full quality path:** `@Ferris forge <your-library>` chains Brief → Create → Test → Export automatically — or run manually: `@Ferris BS` → clear session → `@Ferris CS` for maximum control
80
+ 4. **Full quality path:** `@Ferris forge <your-library>` chains Brief → Create → Test → Export automatically — or run manually: `@Ferris BS` _(Brief Skill)_ → clear session → `@Ferris CS` _(Create Skill)_ for maximum control
79
81
 
80
82
  For producing **many coordinated skills** across sessions, `@Ferris campaign` _(Campaign)_ orchestrates the whole set with dependency tracking and resume.
81
83
 
package/docs/404.md CHANGED
@@ -10,14 +10,14 @@ No page resolves to that URL. In keeping with the rest of this site, if a claim
10
10
 
11
11
  Try one of these cited sources instead, or use the **search bar** at the top of the page:
12
12
 
13
- **Why** — [Why Skill Forge?](/why-skf/) · [Verifying a Skill](/verifying-a-skill/)
13
+ **Why** — [Why Skill Forge?](/docs/why-skf.md) · [Verifying a Skill](/docs/verifying-a-skill.md)
14
14
 
15
- **Try** — [Getting Started](/getting-started/) · [How It Works](/how-it-works/) · [Examples](/examples/) · [Workflows](/workflows/)
15
+ **Try** — [Getting Started](/docs/getting-started.md) · [How It Works](/docs/how-it-works.md) · [Examples](/docs/examples.md) · [Workflows](/docs/workflows.md)
16
16
 
17
- **Reference** — [Concepts](/concepts/) · [Architecture](/architecture/) · [Skill Model](/skill-model/) · [Agents](/agents/) · [BMAD Synergy](/bmad-synergy/) · [Troubleshooting](/troubleshooting/)
17
+ **Reference** — [Concepts](/docs/concepts.md) · [Architecture](/docs/architecture.md) · [Skill Model](/docs/skill-model.md) · [Agents](/docs/agents.md) · [BMAD Synergy](/docs/bmad-synergy.md) · [Troubleshooting](/docs/troubleshooting.md)
18
18
 
19
19
  ---
20
20
 
21
21
  ### Think this page should exist?
22
22
 
23
- A missing page is drift — a citation the docs site made to itself that no longer resolves. [Open an issue](https://github.com/armelhbobdad/bmad-module-skill-forge/issues/new/choose) with the URL you tried. SKF's docs ship a [drift validator](/verifying-a-skill/#build-time-drift-detection-for-docs-themselves) that catches exactly this pattern — if one slipped through, it's a bug we want to know about.
23
+ A missing page is drift — a citation the docs site made to itself that no longer resolves. [Open an issue](https://github.com/armelhbobdad/bmad-module-skill-forge/issues/new/choose) with the URL you tried. SKF's docs ship a [drift validator](/docs/verifying-a-skill.md#build-time-drift-detection-for-docs-themselves) that catches exactly this pattern — if one slipped through, it's a bug we want to know about.
@@ -26,7 +26,7 @@
26
26
  # Enforced two ways: (1) release.yaml bumps this line in the same commit
27
27
  # as package.json + marketplace.json on every release; (2) validate-docs-drift.js
28
28
  # cross-checks this value against package.json.version and fails on mismatch.
29
- skf_version: "2.0.2"
29
+ skf_version: "2.2.0"
30
30
 
31
31
  # Path to the oh-my-skills repo, resolved relative to this repo's root.
32
32
  # Override at runtime with the OMS environment variable if oh-my-skills
@@ -23,7 +23,7 @@ For background on GitHub rulesets vs legacy branch protection, see the [GitHub r
23
23
  | `code_quality` | Blocks merge on `severity: errors` from GitHub code-quality checks. |
24
24
  | `required_status_checks` | Merge blocked until all seven `quality.yaml` checks pass (names below). |
25
25
 
26
- **Required status checks (7):** sourced from `.github/workflows/quality.yaml` job keys. Matrix jobs expand to `jobname (matrix-value)`:
26
+ **Required status checks (8):** sourced from `.github/workflows/quality.yaml` job keys. Matrix jobs expand to `jobname (matrix-value)`:
27
27
 
28
28
  - `prettier`
29
29
  - `eslint`
@@ -32,6 +32,7 @@ For background on GitHub rulesets vs legacy branch protection, see the [GitHub r
32
32
  - `validate (windows-latest)`
33
33
  - `python (ubuntu-latest)`
34
34
  - `python (windows-latest)`
35
+ - `docs-links`
35
36
 
36
37
  **Coupling with `quality.yaml`:** if that workflow renames a job or changes the `strategy.matrix.os` for `validate` or `python`, the ruleset's `required_status_checks` list must be updated in lock-step — otherwise merges to `main` will either block on a check name that no longer reports, or silently pass without the renamed check. Update both in the same PR.
37
38
 
@@ -188,6 +189,40 @@ The future `release.yaml` workflow (Story 3.1) publishes to npm via **OIDC trust
188
189
 
189
190
  **Fixing a bad registration.** The npm UI exposes both **Edit** and **Delete** on an existing Trusted Publisher entry (observed 2026-04-20). Prefer edit for a single-field typo; prefer delete-and-re-add if multiple fields are wrong or the edit form ever feels ambiguous. **Pre-Story 3.2**: there is no destructive side effect because no publish is attempted yet, and delete-and-re-add keeps the audit trail cleaner. **Post-Story 3.2**: a publish that fires during the delete-and-re-add window will 404 — gate any delete-and-re-add behind a manual publish freeze (pause any active `release.yaml` runs, confirm no tags are in-flight) before touching the entry.
190
191
 
192
+ ## Cutting a Release
193
+
194
+ The dispatch mechanics are worked end-to-end in [§ Cutting v1.0.0 under --tag latest](#cutting-v100-under---tag-latest). That section is a launch-specific record, but its dispatch command, two-gate sequence, and verification block are the same for every cut. The two steps below are general, apply to every cut, and have no other home — both are invisible until they bite, because the default state of each is the harmless one.
195
+
196
+ ### Pre-dispatch — reconcile a non-empty `## [Unreleased]`
197
+
198
+ The `Restore CHANGELOG preamble` step splits `CHANGELOG.md` at the **first** `## [X.Y.Z]` header and treats everything above it as preamble. The generated block for the new version is therefore inserted _below_ any prose sitting under `## [Unreleased]`, and the workflow neither empties that section nor warns about it. Check before dispatching:
199
+
200
+ ```bash
201
+ sed -n '/^## \[Unreleased\]/,/^## \[[0-9]/p' CHANGELOG.md
202
+ ```
203
+
204
+ If the `## [Unreleased]` header is immediately followed by the first released header, there is nothing to do — that was the state at every cut through v2.0.2, which is why the interaction went unexercised for so long. If it carries prose, those entries describe work that is about to ship, and after the cut they read as unreleased directly above the release containing them.
205
+
206
+ **Do not hand-edit it before dispatch.** The `## [X.Y.Z]` header the prose belongs under does not exist until the workflow generates it. Reconcile after publish in a normal PR: move the prose under the generated version header and leave the `## [Unreleased]` header in place with an empty body — deleting the header itself breaks the section split the preamble-restore step depends on.
207
+
208
+ Prefer moving the prose over dropping it in favour of the generated list. Under `conventionalcommits`, `test:` and `chore:` subjects produce no generated entry at all, and one `fix:` subject often stands in for several distinct fixes, so the hand-written text is frequently the only record of both. v2.1.0 is the worked example: five bullets stranded, moved under `## [2.1.0]` in a follow-up PR.
209
+
210
+ ### Post-publish — delete the bot temp branch after an admin-bypass merge
211
+
212
+ `Auto-merge bot PR` runs `gh pr merge --auto --merge --delete-branch`, so on the auto-merge path the temp branch `release/bot/vX.Y.Z-<run_id>` is removed when the queued merge fires. Clearing gate 2 with the PR merge button instead — admin bypass, the observed pattern for most cuts — merges the PR directly, and the queued `--delete-branch` never runs. The branch stays on origin.
213
+
214
+ ```bash
215
+ # Expect zero once a cut is fully closed out.
216
+ git ls-remote --heads origin 'release/bot/*'
217
+
218
+ # Delete a leftover only after confirming its commit is reachable from main.
219
+ git fetch origin --quiet
220
+ git merge-base --is-ancestor <temp-branch-sha> origin/main \
221
+ && git push origin --delete release/bot/vX.Y.Z-<run_id>
222
+ ```
223
+
224
+ The tag anchors on the bot PR's merge commit on `main`, not on the temp branch (see the `Create and push tag` step's main-dispatch path), so deleting the branch after the merge orphans nothing. The reachability check is what distinguishes this from the tag-orphan case in [§ Scenario D](#scenario-d--tag-exists-but-npm-publish-failed); if the commit is _not_ reachable, the merge did not land and the branch is still load-bearing.
225
+
191
226
  <!-- Rollback Playbook — added in Story 4.1 -->
192
227
 
193
228
  ## Rollback Playbook
@@ -581,7 +616,7 @@ For the `release` environment, a deletion+restore similarly uses the two-call pa
581
616
  The workflow pauses at **two** gates that the maintainer must clear in the browser. Gate 1 requires explicit approval; gate 2 accepts either approval or admin-bypass-merge:
582
617
 
583
618
  1. The `release` environment deployment gate (at job start). Approve via "Review deployments" → "Approve and deploy" on the run page.
584
- 2. The bot PR review-decision gate (after the 7 required status checks pass). EITHER approve the bot PR via the review UI, OR admin-bypass-merge via the PR merge button — both paths are accepted by `release.yaml`'s `Wait for PR approval or admin-bypass merge` step. Admin-bypass-merge is the observed pattern for prior cuts (PRs #209 and #213).
619
+ 2. The bot PR review-decision gate (after the 8 required status checks pass). EITHER approve the bot PR via the review UI, OR admin-bypass-merge via the PR merge button — both paths are accepted by `release.yaml`'s `Wait for PR approval or admin-bypass merge` step. Admin-bypass-merge is the observed pattern for prior cuts (PRs #209 and #213).
585
620
 
586
621
  Expected wall-clock: ~5–8 minutes end-to-end when both gates are approved promptly.
587
622
 
@@ -633,10 +668,12 @@ For the `release` environment, a deletion+restore similarly uses the two-call pa
633
668
 
634
669
  #### Post-publish verification (NFR9)
635
670
 
636
- Cross-platform install verification for any cut is performed by the [`install-smoke.yaml`](../.github/workflows/install-smoke.yaml) workflow, not by `release.yaml` itself. Dispatch it within 1 hour of publish per NFR9:
671
+ Cross-platform install verification for any cut is performed by the [`install-smoke.yaml`](/.github/workflows/install-smoke.yaml) workflow, not by `release.yaml` itself. Dispatch it within 1 hour of publish per NFR9:
637
672
 
638
673
  ```bash
639
674
  gh workflow run install-smoke.yaml -f version=latest --ref main
640
675
  ```
641
676
 
642
- The workflow fans a `workflow_dispatch` input over `ubuntu-latest`, `windows-latest`, and `macos-latest`, running `npx --yes bmad-module-skill-forge@<version> --version` on each runner. A clean three-leg run is the canonical post-publish evidence — its run URL + matrix table belong in the release audit artifact's `## Story <N> Post-Publish Verification` section. Any failing leg routes through the `Rollback Playbook § Scenario B` (deprecate + ship `vX.Y.Z+1`).
677
+ The workflow fans a `workflow_dispatch` input over `ubuntu-latest`, `windows-latest`, and `macos-latest`, running `npx --yes bmad-module-skill-forge@<version> --version` on each runner. A clean three-leg run is the canonical post-publish evidence. Any failing leg routes through the `Rollback Playbook § Scenario B` (deprecate + ship `vX.Y.Z+1`).
678
+
679
+ **Where the evidence lives.** For a routine release the workflow run **is** the record — the dispatch satisfies NFR9 on its own and no audit artifact is written. Launch cuts additionally transcribe the run URL and matrix table into a per-launch audit artifact under `release-audits/`; `v1.0.0-launch-audit.md § Story 5.4 Post-Publish Verification` is the worked example and remains the only such artifact. Do not append routine releases to it — each audit file is a forensic record scoped to the launch that produced it.
package/docs/agents.md CHANGED
@@ -86,9 +86,9 @@ PIPELINE ALIASES:
86
86
 
87
87
  **Pipeline Aliases:**
88
88
 
89
- Ferris chains multiple workflows in one command via named aliases (`forge-auto`, `forge`, `forge-quick`, `maintain`). The full alias table, expansion rules, and target-resolution contract live in [Workflows → Pipeline Mode](../workflows/#pipeline-mode) — the canonical source. Example: `@Ferris forge-quick cognee` chains Quick → Test → Export with automatic data forwarding.
89
+ Ferris chains multiple workflows in one command via named aliases (`forge-auto`, `forge`, `forge-quick`, `maintain`). The full alias table, expansion rules, and target-resolution contract live in [Workflows → Pipeline Mode](/docs/workflows.md#pipeline-mode) — the canonical source. Example: `@Ferris forge-quick cognee` chains Quick → Test → Export with automatic data forwarding.
90
90
 
91
- `campaign` is not a chaining alias — it is a standalone orchestrator workflow (`@Ferris campaign`) that runs its own multi-stage pipeline internally, with dependency tracking and resume. See the [Campaign](../campaign/) page.
91
+ `campaign` is not a chaining alias — it is a standalone orchestrator workflow (`@Ferris campaign`) that runs its own multi-stage pipeline internally, with dependency tracking and resume. See the [Campaign](/docs/campaign.md) page.
92
92
 
93
93
  **Memory:**
94
94
  Ferris has a sidecar (`_bmad/_memory/forger-sidecar/`) that persists user preferences and tool availability across sessions. Set `headless_mode: true` in preferences to make headless the default.
@@ -3,7 +3,7 @@ title: Architecture
3
3
  description: How Skill Forge runs — the BMAD-backed agent and workflow engine, tool ecosystem, workspace artifacts, security, and the design decisions behind them.
4
4
  ---
5
5
 
6
- Skill Forge runs entirely inside the LLM context window through structured instructions. There is no external orchestrator — just an agent persona (Ferris), a set of workflows, and a curated knowledge base. This page covers the machinery. For an end-to-end walkthrough, see [How It Works](../how-it-works/). For what a skill contains, see [Skill Model](../skill-model/).
6
+ Skill Forge runs entirely inside the LLM context window through structured instructions. There is no external orchestrator — just an agent persona (Ferris), a set of workflows, and a curated knowledge base. This page covers the machinery. For an end-to-end walkthrough, see [How It Works](/docs/how-it-works.md). For what a skill contains, see [Skill Model](/docs/skill-model.md).
7
7
 
8
8
  ---
9
9
 
@@ -3,7 +3,7 @@ title: BMAD Synergy
3
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
4
  ---
5
5
 
6
- This page builds on BMAD concepts (BMM phases, TEA, modules). New to BMAD? Start with the [BMAD docs](https://docs.bmad-method.org/) first. New to SKF? Read [Getting Started](../getting-started/) instead.
6
+ This page builds on BMAD concepts (BMM phases, TEA, modules). New to BMAD? Start with the [BMAD docs](https://docs.bmad-method.org/) first. New to SKF? Read [Getting Started](/docs/getting-started.md) instead.
7
7
 
8
8
  ---
9
9
 
@@ -29,13 +29,13 @@ When a BMAD agent runs a workflow, that workflow can consult SKF content skills
29
29
 
30
30
  SKF works standalone — no BMAD installation required. If you found this page from a search and don't use the BMAD Method, this section is for you.
31
31
 
32
- The fastest way to start is [`forge-auto`](../forge-auto/). One command produces a verified skill in 3–5 minutes with zero configuration:
32
+ The fastest way to start is [`forge-auto`](/docs/forge-auto.md). One command produces a verified skill in 3–5 minutes with zero configuration:
33
33
 
34
34
  ```
35
35
  @Ferris forge-auto https://github.com/honojs/hono
36
36
  ```
37
37
 
38
- That's it. No brief file, no scope decisions, no multi-step pipeline to learn. forge-auto handles analysis, scoping, compilation, testing (with a 90% quality gate), and export automatically. See the [forge-auto guide](../forge-auto/) for the full syntax and input types.
38
+ That's it. No brief file, no scope decisions, no multi-step pipeline to learn. forge-auto handles analysis, scoping, compilation, testing (with a 90% quality gate), and export automatically. See the [forge-auto guide](/docs/forge-auto.md) for the full syntax and input types.
39
39
 
40
40
  If you later adopt the BMAD Method, the skills you created via forge-auto integrate seamlessly into BMM phases — they become the verified content skills that BMAD workflows consult during planning and implementation. The [phase-by-phase playbook](#skf-and-bmm-phase-by-phase-playbook) below shows exactly where each SKF workflow fits.
41
41
 
@@ -45,7 +45,7 @@ If you later adopt the BMAD Method, the skills you created via forge-auto integr
45
45
 
46
46
  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.
47
47
 
48
- > **Atomic workflows vs pipeline aliases.** The playbook below maps each phase to an *atomic* SKF workflow (`AN`, `BS`, `QS`, `VS`, `CS`…) on purpose — in BMM you often want only part of the chain (a brief to feed a risk register, a quick reference for acceptance criteria). When you instead want the *finished, exported skill* in one command, reach for a pipeline alias: [`forge-auto`](../forge-auto/) collapses `AN → BS → CS → TS → EX` for a single library, and [`campaign`](../campaign/) orchestrates that whole chain across many dependencies. Rule of thumb: **atomic when you want a stage's artifact; alias when you want the verified skill.**
48
+ > **Atomic workflows vs pipeline aliases.** The playbook below maps each phase to an *atomic* SKF workflow (`AN`, `BS`, `QS`, `VS`, `CS`…) on purpose — in BMM you often want only part of the chain (a brief to feed a risk register, a quick reference for acceptance criteria). When you instead want the *finished, exported skill* in one command, reach for a pipeline alias: [`forge-auto`](/docs/forge-auto.md) collapses `AN → BS → CS → TS → EX` for a single library, and [`campaign`](/docs/campaign.md) orchestrates that whole chain across many dependencies. Rule of thumb: **atomic when you want a stage's artifact; alias when you want the verified skill.**
49
49
 
50
50
  ```mermaid
51
51
  flowchart TD
@@ -96,7 +96,7 @@ flowchart TD
96
96
 
97
97
  **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.
98
98
 
99
- **Want more than a quick reference?** When the PRD leans heavily on one library and you'd rather have a thorough, doc-enriched skill behind a 90% quality gate than a fast QS pass, run [`@Ferris forge-auto <repo>`](../forge-auto/) instead — one command produces the finished, exported skill (auto-scope, auto-brief, test, export) ready for BMM workflows to consult.
99
+ **Want more than a quick reference?** When the PRD leans heavily on one library and you'd rather have a thorough, doc-enriched skill behind a 90% quality gate than a fast QS pass, run [`@Ferris forge-auto <repo>`](/docs/forge-auto.md) instead — one command produces the finished, exported skill (auto-scope, auto-brief, test, export) ready for BMM workflows to consult.
100
100
 
101
101
  ### Phase 3 — Solutioning
102
102
 
@@ -123,7 +123,7 @@ flowchart TD
123
123
  CAMPAIGN -->|"automates the full pipeline<br/>for all dependencies"| READY
124
124
  ```
125
125
 
126
- The "Pre-Code Architecture Verification — Greenfield Confidence" scenario in [Examples](../examples/) walks through a concrete case of this loop.
126
+ The "Pre-Code Architecture Verification — Greenfield Confidence" scenario in [Examples](/docs/examples.md) walks through a concrete case of this loop.
127
127
 
128
128
  #### Campaign Orchestration
129
129
 
@@ -141,7 +141,7 @@ Two distinct triggers fire during Implementation, one at the start of each story
141
141
 
142
142
  **Trigger A (before `create-story`):** The story touches a library whose API isn't already in a content skill.
143
143
 
144
- **SKF command:** `@Ferris CS` for a single library, or `@Ferris SS` when the story spans several dependencies. If there's no brief yet and you want the skill in one shot, [`@Ferris forge-auto <repo>`](../forge-auto/) runs the full analyze → brief → compile → test → export chain from just the repo URL.
144
+ **SKF command:** `@Ferris CS` for a single library, or `@Ferris SS` when the story spans several dependencies. If there's no brief yet and you want the skill in one shot, [`@Ferris forge-auto <repo>`](/docs/forge-auto.md) runs the full analyze → brief → compile → test → export chain from just the repo URL.
145
145
 
146
146
  **What flows back:** A verified content skill the `dev-story` workflow can consult during implementation — no training-data guessing about function signatures.
147
147
 
@@ -151,7 +151,7 @@ Two distinct triggers fire during Implementation, one at the start of each story
151
151
 
152
152
  **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.
153
153
 
154
- 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.
154
+ This retrospective → update loop is the pattern that [Scenario A in Examples](/docs/examples.md#scenario-a-greenfield--bmm-integration) sketches for one project; it generalizes to any BMM project that runs more than a few sprints.
155
155
 
156
156
  ---
157
157
 
@@ -203,7 +203,7 @@ Beyond briefing, CIS and SKF don't overlap — CIS covers ideation, storytelling
203
203
 
204
204
  ## Delivery and Lifecycle in a BMAD Project
205
205
 
206
- `@Ferris EX` is the **only workflow that introduces new skill context** into the three context files that serve all 23 IDEs: `CLAUDE.md` (Claude Code), `.cursorrules` (Cursor), and `AGENTS.md` (the remaining 21 IDEs — GitHub Copilot, Windsurf, Cline, Roo Code, Gemini CLI, and others). Each IDE also has its own skill root directory where skill files are installed (e.g., `.windsurf/skills/`, `.roo/skills/`, `.gemini/skills/`). 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 [Skill Model → Dual-Output Strategy](../skill-model/#dual-output-strategy) for the architectural rationale.
206
+ `@Ferris EX` is the **only workflow that introduces new skill context** into the three context files that serve all 23 IDEs: `CLAUDE.md` (Claude Code), `.cursorrules` (Cursor), and `AGENTS.md` (the remaining 21 IDEs — GitHub Copilot, Windsurf, Cline, Roo Code, Gemini CLI, and others). Each IDE also has its own skill root directory where skill files are installed (e.g., `.windsurf/skills/`, `.roo/skills/`, `.gemini/skills/`). 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 [Skill Model → Dual-Output Strategy](/docs/skill-model.md#dual-output-strategy) for the architectural rationale.
207
207
 
208
208
  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.
209
209
 
@@ -214,7 +214,7 @@ For long-running BMAD projects, `@Ferris RS` (rename) and `@Ferris DS` (drop) ke
214
214
  ## Where to Go Next
215
215
 
216
216
  - [BMAD docs](https://docs.bmad-method.org/) — canonical reference for BMM phases, TEA workflows, BMB / GDS / CIS details, and the full module list
217
- - [Forge-Auto](../forge-auto/) — the one-command alias that collapses analyze → brief → compile → test → export for a single library
218
- - [Campaign](../campaign/) — orchestrate the full pipeline across many declared dependencies with dependency ordering and resume
219
- - [Workflows](../workflows/) — complete SKF workflow reference with commands and connection diagrams
220
- - [Examples](../examples/) — concrete scenarios including the BMM retrospective loop and greenfield architecture verification
217
+ - [Forge-Auto](/docs/forge-auto.md) — the one-command alias that collapses analyze → brief → compile → test → export for a single library
218
+ - [Campaign](/docs/campaign.md) — orchestrate the full pipeline across many declared dependencies with dependency ordering and resume
219
+ - [Workflows](/docs/workflows.md) — complete SKF workflow reference with commands and connection diagrams
220
+ - [Examples](/docs/examples.md) — concrete scenarios including the BMM retrospective loop and greenfield architecture verification
package/docs/campaign.md CHANGED
@@ -167,6 +167,6 @@ Plan a campaign as multi-session work rather than a single sitting — the resum
167
167
 
168
168
  ## Related
169
169
 
170
- - [Workflows](../workflows/) — pipeline mode mechanics, headless mode, circuit breakers
171
- - [forge-auto](../forge-auto/) — zero-ceremony single-skill creation (campaign orchestrates many of these)
172
- - [BMAD Synergy](../bmad-synergy/) — how campaign fits into BMAD Phase 3 as an orchestration layer
170
+ - [Workflows](/docs/workflows.md) — pipeline mode mechanics, headless mode, circuit breakers
171
+ - [forge-auto](/docs/forge-auto.md) — zero-ceremony single-skill creation (campaign orchestrates many of these)
172
+ - [BMAD Synergy](/docs/bmad-synergy.md) — how campaign fits into BMAD Phase 3 as an orchestration layer
package/docs/concepts.md CHANGED
@@ -3,7 +3,7 @@ title: Concepts
3
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
- 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/).
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](/docs/architecture.md) and [Skill Model](/docs/skill-model.md).
7
7
 
8
8
  ---
9
9
 
@@ -55,7 +55,7 @@ Your capability tier depends on which tools you have installed. Each tier builds
55
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.
56
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.
57
57
 
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.
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](/docs/skill-model.md#progressive-capability-model) for the full technical treatment.
59
59
 
60
60
  ---
61
61
 
@@ -83,4 +83,4 @@ When the source updates, you can re-run `@Ferris US` (update-skill) to regenerat
83
83
 
84
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.
85
85
 
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.
86
+ If you already use BMAD, see [BMAD Synergy](/docs/bmad-synergy.md) for how SKF workflows pair with BMM phases and optional modules like TEA, BMB, and GDS.
package/docs/examples.md CHANGED
@@ -49,7 +49,7 @@ Provenance tags trace each instruction to its source:
49
49
  - `[EXT:url]` — sourced from external documentation
50
50
  - `[QMD:collection:doc]` — surfaced from indexed developer discourse (issues, PRs, changelogs)
51
51
 
52
- See [Skill Model → Output Architecture](../skill-model/#output-architecture) for the full output structure.
52
+ See [Skill Model → Output Architecture](/docs/skill-model.md#output-architecture) for the full output structure.
53
53
 
54
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)):
55
55
 
@@ -74,7 +74,7 @@ skills/oms-cognee/
74
74
  └── pipelines-and-datapoints.md
75
75
  ```
76
76
 
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.
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](/docs/skill-model.md#per-skill-output) for the full schema.
78
78
 
79
79
  ---
80
80
 
@@ -115,7 +115,7 @@ Or one workflow per session:
115
115
  @Ferris CS --batch # Create — batch generation
116
116
  ```
117
117
 
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.
118
+ 10 individual skills + 1 platform stack skill. The [BMM](/docs/bmad-synergy.md#skf-and-bmm-phase-by-phase-playbook) architect then navigates cross-service flows using verified knowledge.
119
119
 
120
120
  ### Release Prep — Trust Builder
121
121
 
@@ -146,7 +146,7 @@ Armel, building a full-stack side project on Next.js + Serwist + SpacetimeDB + b
146
146
  @Ferris SS
147
147
  ```
148
148
 
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).
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](/docs/index.md#how-skf-compares).
150
150
 
151
151
  ### Pre-Code Architecture Verification — Greenfield Confidence
152
152
 
@@ -169,7 +169,7 @@ VS flags the Drizzle↔SpacetimeDB integration as incompatible (query-model mism
169
169
 
170
170
  ### Scenario A: Greenfield + BMM Integration
171
171
 
172
- BMAD user starts a new project. [BMM](../bmad-synergy/#skf-and-bmm-phase-by-phase-playbook) architect suggests skill generation after retrospective.
172
+ BMAD user starts a new project. [BMM](/docs/bmad-synergy.md#skf-and-bmm-phase-by-phase-playbook) architect suggests skill generation after retrospective.
173
173
 
174
174
  ```
175
175
  @Ferris BS # Brief — scope the skill
@@ -188,7 +188,7 @@ Blondin, a platform lead, needs cross-service knowledge for 10 microservices so
188
188
  @Ferris campaign # Orchestrate all 10 skills across sessions, in dependency order
189
189
  ```
190
190
 
191
- Campaign reads the dependency graph, sorts the skills topologically, and drives each one through the full pipeline (brief, generate, compile, test) with quality gates enforced. State is written to disk, so Blondin can walk away and `@Ferris campaign resume` after a context death or a session break — picking up exactly where the last session stopped. One forge project, multiple QMD collections, hub-and-spoke skills with integration patterns. See [Campaign Orchestration](../campaign/) for the full stage-by-stage flow.
191
+ Campaign reads the dependency graph, sorts the skills topologically, and drives each one through the full pipeline (brief, generate, compile, test) with quality gates enforced. State is written to disk, so Blondin can walk away and `@Ferris campaign resume` after a context death or a session break — picking up exactly where the last session stopped. One forge project, multiple QMD collections, hub-and-spoke skills with integration patterns. See [Campaign Orchestration](/docs/campaign.md) for the full stage-by-stage flow.
192
192
 
193
193
  ### Scenario C: External Dependency
194
194
 
@@ -268,7 +268,7 @@ You're building skills for a production payments library and need maximum citati
268
268
  @Ferris TS # Completeness score — 80%+ threshold
269
269
  ```
270
270
 
271
- **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).
271
+ **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](/docs/concepts.md#capability-tiers-quickforgeforgedeep).
272
272
 
273
273
  ### Scenario H: OSS Maintainer Publishing Official Skills
274
274
 
@@ -327,10 +327,10 @@ If your source repo includes executable scripts (`scripts/`, `bin/`) or static a
327
327
 
328
328
  ### Let the Health Check Run
329
329
 
330
- 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.
330
+ 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](/docs/workflows.md#terminal-step-health-check) for details.
331
331
 
332
332
  ---
333
333
 
334
334
  ## Something not working?
335
335
 
336
- 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).
336
+ See [Troubleshooting](/docs/troubleshooting.md) 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?](/docs/getting-started.md#need-help).
@@ -3,7 +3,7 @@ title: Forge-Auto
3
3
  description: Zero-ceremony skill creation — one command turns a GitHub repo, doc URL, or pinned version into a verified skill
4
4
  ---
5
5
 
6
- Forge-Auto is a [pipeline alias](../workflows/#pipeline-aliases) that chains five workflows into a single command. Give it a repo URL, a documentation URL, or a pinned version, and it produces a verified skill in 3–5 minutes with zero configuration.
6
+ Forge-Auto is a [pipeline alias](/docs/workflows.md#pipeline-aliases) that chains five workflows into a single command. Give it a repo URL, a documentation URL, or a pinned version, and it produces a verified skill in 3–5 minutes with zero configuration.
7
7
 
8
8
  If you're new to SKF and want to try it without reading anything else, start here.
9
9
 
@@ -27,7 +27,7 @@ Three input types, one command pattern:
27
27
 
28
28
  ## Pipeline Stages
29
29
 
30
- forge-auto expands to `AN[auto] BS[auto] CS TS[min:90] EX`. The two analysis stages (AN, BS) run in [headless mode](../workflows/#headless-mode) via their `[auto]` flags — no confirmation gates, no interactive prompts. The compile, test, and export stages then proceed with their standard behaviors once the analysis context is ready.
30
+ forge-auto expands to `AN[auto] BS[auto] CS TS[min:90] EX`. The two analysis stages (AN, BS) run in [headless mode](/docs/workflows.md#headless-mode) via their `[auto]` flags — no confirmation gates, no interactive prompts. The compile, test, and export stages then proceed with their standard behaviors once the analysis context is ready.
31
31
 
32
32
  | Stage | Workflow | Mode | What Happens |
33
33
  |-------|----------|------|-------------|
@@ -37,7 +37,7 @@ forge-auto expands to `AN[auto] BS[auto] CS TS[min:90] EX`. The two analysis sta
37
37
  | 4 | **Test Skill** (TS) | `[min:90]` | Verifies completeness with a **90% quality threshold** (stricter than the default 80%). Fail halts the pipeline. |
38
38
  | 5 | **Export Skill** (EX) | standard | Validates the package, generates context snippets, and injects into your IDE's context file. |
39
39
 
40
- Data flows automatically between stages — the brief path from AN feeds BS, the skill name from CS feeds TS, and so on. See [Pipeline Mode](../workflows/#pipeline-mode) for the general mechanics.
40
+ Data flows automatically between stages — the brief path from AN feeds BS, the skill name from CS feeds TS, and so on. See [Pipeline Mode](/docs/workflows.md#pipeline-mode) for the general mechanics.
41
41
 
42
42
  ---
43
43
 
@@ -85,6 +85,6 @@ Before that, the auto pipeline replaced the older `onboard` alias. `onboard` has
85
85
 
86
86
  ## Related
87
87
 
88
- - [Workflows](../workflows/) — pipeline mode mechanics, headless mode, circuit breakers
89
- - [Concepts](../concepts/) — provenance, confidence tiers, drift, version pinning
90
- - [BMAD Synergy](../bmad-synergy/) — how forge-auto fits into BMAD phases, and standalone SKF usage
88
+ - [Workflows](/docs/workflows.md) — pipeline mode mechanics, headless mode, circuit breakers
89
+ - [Concepts](/docs/concepts.md) — provenance, confidence tiers, drift, version pinning
90
+ - [BMAD Synergy](/docs/bmad-synergy.md) — how forge-auto fits into BMAD phases, and standalone SKF usage
@@ -15,7 +15,7 @@ await cognee.search( # [AST:cognee/api/v1/search/search.py:L26]
15
15
 
16
16
  Every instruction carries a receipt — a file, a line, and a commit SHA from the upstream repo. Your AI reads these instead of guessing from training data, and you can open the source at the pinned commit to confirm the function exists. Nothing is made up; everything is falsifiable.
17
17
 
18
- Want to see the full audit on a real shipped skill before you install anything? → [Verifying a Skill](../verifying-a-skill/).
18
+ Want to see the full audit on a real shipped skill before you install anything? → [Verifying a Skill](/docs/verifying-a-skill.md).
19
19
 
20
20
  ---
21
21
 
@@ -51,7 +51,7 @@ Or, if you've already cloned the repo locally, provide the path to the repo root
51
51
  /path/to/bmad-module-skill-forge
52
52
  ```
53
53
 
54
- This installs BMAD core + SKF together with full IDE integration, manifests, and help catalog. Best when you want the complete BMAD development workflow. See [BMAD Synergy](../bmad-synergy/) for how SKF workflows pair with BMM phases and other BMAD modules.
54
+ This installs BMAD core + SKF together with full IDE integration, manifests, and help catalog. Best when you want the complete BMAD development workflow. See [BMAD Synergy](/docs/bmad-synergy.md) for how SKF workflows pair with BMM phases and other BMAD modules.
55
55
 
56
56
  ### Add SKF to an existing BMAD project
57
57
 
@@ -61,7 +61,7 @@ If you already have BMAD installed, you can add SKF afterward by running the sta
61
61
  npx bmad-module-skill-forge install
62
62
  ```
63
63
 
64
- The installer detects the existing `_bmad/` directory and installs SKF alongside your current modules. See [BMAD Synergy](../bmad-synergy/) for integration patterns with your existing BMM workflows.
64
+ The installer detects the existing `_bmad/` directory and installs SKF alongside your current modules. See [BMAD Synergy](/docs/bmad-synergy.md) for integration patterns with your existing BMM workflows.
65
65
 
66
66
  ### Updating an existing SKF installation
67
67
 
@@ -94,7 +94,7 @@ This detects your tools, sets your capability tier, and initializes the forge en
94
94
  @Ferris forge-auto https://github.com/honojs/hono
95
95
  ```
96
96
 
97
- One command turns a repo URL (or a doc URL) into a verified skill — auto-scope, auto-brief, a 90% quality gate, and export, with no configuration. If you only read one thing, [start with forge-auto](../forge-auto/).
97
+ One command turns a repo URL (or a doc URL) into a verified skill — auto-scope, auto-brief, a 90% quality gate, and export, with no configuration. If you only read one thing, [start with forge-auto](/docs/forge-auto.md).
98
98
 
99
99
  **Fastest path (Quick Skill):**
100
100
  ```
@@ -136,13 +136,13 @@ Or one workflow per session:
136
136
 
137
137
  Analyzes your project's dependencies and generates a consolidated stack skill with integration patterns.
138
138
 
139
- > **After every workflow:** Ferris runs a **health check** — a reflection step that captures any friction, bugs, or gaps from the session. Clean runs exit in one line; when something breaks, Ferris offers to file structured findings as GitHub issues (with your approval). **Please let workflows run to completion** so the health check can fire. If it was skipped, 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).
139
+ > **After every workflow:** Ferris runs a **health check** — a reflection step that captures any friction, bugs, or gaps from the session. Clean runs exit in one line; when something breaks, Ferris offers to file structured findings as GitHub issues (with your approval). **Please let workflows run to completion** so the health check can fire. If it was skipped, 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](/docs/workflows.md#terminal-step-health-check).
140
140
 
141
141
  ---
142
142
 
143
143
  ## Common use cases
144
144
 
145
- > **Looking for end-to-end examples?** See [Examples](../examples/) for thirteen real-world scenarios with full command transcripts — from Quick Skill under a minute, to brownfield onboarding, stack verification, release-prep drift remediation, and SaaS docs-only skills.
145
+ > **Looking for end-to-end examples?** See [Examples](/docs/examples.md) for thirteen real-world scenarios with full command transcripts — from Quick Skill under a minute, to brownfield onboarding, stack verification, release-prep drift remediation, and SaaS docs-only skills.
146
146
 
147
147
  ---
148
148
 
@@ -190,11 +190,11 @@ Runtime configuration (tool detection, tier, and collection state) is managed by
190
190
 
191
191
  ## What's next?
192
192
 
193
- - [Forge-Auto](../forge-auto/) — the zero-ceremony path: one command from repo or doc URL to a verified skill
194
- - [Campaign](../campaign/) — orchestrate many coordinated skills across sessions with dependency tracking and resume
195
- - [Agents](../agents/) — learn about Ferris
196
- - [Workflows](../workflows/) — the full command reference
197
- - [Examples](../examples/) — real-world scenarios with transcripts
193
+ - [Forge-Auto](/docs/forge-auto.md) — the zero-ceremony path: one command from repo or doc URL to a verified skill
194
+ - [Campaign](/docs/campaign.md) — orchestrate many coordinated skills across sessions with dependency tracking and resume
195
+ - [Agents](/docs/agents.md) — learn about Ferris
196
+ - [Workflows](/docs/workflows.md) — the full command reference
197
+ - [Examples](/docs/examples.md) — real-world scenarios with transcripts
198
198
 
199
199
  ---
200
200
 
@@ -206,4 +206,4 @@ If you run into issues:
206
206
  *Provided by the [BMAD Method](https://github.com/bmad-code-org/BMAD-METHOD) — not available in standalone SKF installations.*
207
207
  2. Run `@Ferris SF` to check your tool availability and tier
208
208
  3. Check `forge-tier.yaml` in your forger sidecar for your current configuration
209
- 4. If a workflow gave you friction, ask Ferris to run the health check for that session, or [open an issue](https://github.com/armelhbobdad/bmad-module-skill-forge/issues/new/choose) — see [Workflow Health Check](../workflows/#terminal-step-health-check)
209
+ 4. If a workflow gave you friction, ask Ferris to run the health check for that session, or [open an issue](https://github.com/armelhbobdad/bmad-module-skill-forge/issues/new/choose) — see [Workflow Health Check](/docs/workflows.md#terminal-step-health-check)
@@ -3,7 +3,7 @@ title: How It Works
3
3
  description: A plain-English walkthrough of Skill Forge compiling one skill from a real library, end to end.
4
4
  ---
5
5
 
6
- Skill Forge reads your code, extracts what your AI agents actually need, and compiles it into instructions with citations. This page walks through what that looks like end-to-end. For the machinery behind it, see [Architecture](../architecture/). For what ships inside a skill, see [Skill Model](../skill-model/).
6
+ Skill Forge reads your code, extracts what your AI agents actually need, and compiles it into instructions with citations. This page walks through what that looks like end-to-end. For the machinery behind it, see [Architecture](/docs/architecture.md). For what ships inside a skill, see [Skill Model](/docs/skill-model.md).
7
7
 
8
8
  ---
9
9
 
@@ -43,7 +43,7 @@ That tag means: *this came from AST extraction of this exact file at this exact
43
43
 
44
44
  ### 5. You get a skill package
45
45
 
46
- Ferris writes a `SKILL.md` (the full instruction manual your agent loads on demand) and a `context-snippet.md` (an 80–120 token index) alongside it. The snippet is the always-on reminder — *"This skill exists; read it before writing cognee code."* — but it isn't wired in automatically: when you run `export-skill`, the snippet gets injected into your platform context file (`CLAUDE.md`, `AGENTS.md`, or `.cursorrules`). Both halves are load-bearing — see the [Dual-Output Strategy](../skill-model/#dual-output-strategy) for why.
46
+ Ferris writes a `SKILL.md` (the full instruction manual your agent loads on demand) and a `context-snippet.md` (an 80–120 token index) alongside it. The snippet is the always-on reminder — *"This skill exists; read it before writing cognee code."* — but it isn't wired in automatically: when you run `export-skill`, the snippet gets injected into your platform context file (`CLAUDE.md`, `AGENTS.md`, or `.cursorrules`). Both halves are load-bearing — see the [Dual-Output Strategy](/docs/skill-model.md#dual-output-strategy) for why.
47
47
 
48
48
  ### 6. The audit trail stays on disk
49
49
 
@@ -51,13 +51,13 @@ Alongside the skill, Ferris leaves a `metadata.json` (the pinned source, commit
51
51
 
52
52
  That's the whole pipeline. One trigger in, one verifiable skill out, every claim traceable back to a file and a commit.
53
53
 
54
- Quick Skill is the fastest path, not the most thorough one. When you want a full audit trail — a `provenance-map.json` of every receipt and an `evidence-report.md` build log, both produced from a `skill-brief.yaml` — run the brief-driven [`create-skill`](../workflows/#create-skill-cs) path instead.
54
+ Quick Skill is the fastest path, not the most thorough one. When you want a full audit trail — a `provenance-map.json` of every receipt and an `evidence-report.md` build log, both produced from a `skill-brief.yaml` — run the brief-driven [`create-skill`](/docs/workflows.md#create-skill-cs) path instead.
55
55
 
56
56
  ---
57
57
 
58
58
  ## Next
59
59
 
60
- - **[Architecture](../architecture/)** — how Ferris loads workflows, how sub-agents handle large extractions, how the 7 tools resolve conflicts, where artifacts land on disk
61
- - **[Skill Model](../skill-model/)** — what a skill contains, confidence tiers (T1 / T2 / T3), capability tiers (Quick / Forge / Forge+ / Deep), and the dual-output strategy
62
- - **[Verifying a Skill](../verifying-a-skill/)** — the 60-second audit recipe and how completeness scoring works
63
- - **[BMAD Synergy](../bmad-synergy/)** — how SKF fits alongside BMAD Method, TEA, BMB, and other modules
60
+ - **[Architecture](/docs/architecture.md)** — how Ferris loads workflows, how sub-agents handle large extractions, how the 7 tools resolve conflicts, where artifacts land on disk
61
+ - **[Skill Model](/docs/skill-model.md)** — what a skill contains, confidence tiers (T1 / T2 / T3), capability tiers (Quick / Forge / Forge+ / Deep), and the dual-output strategy
62
+ - **[Verifying a Skill](/docs/verifying-a-skill.md)** — the 60-second audit recipe and how completeness scoring works
63
+ - **[BMAD Synergy](/docs/bmad-synergy.md)** — how SKF fits alongside BMAD Method, TEA, BMB, and other modules
package/docs/index.md CHANGED
@@ -32,6 +32,12 @@ Skill Forge reads the source and hands your agent the truth — with receipts. E
32
32
 
33
33
  If SKF can't cite a source, it doesn't include the instruction.
34
34
 
35
+ <!-- Raw HTML bypasses rehype-markdown-links, so this href ships verbatim and
36
+ cannot take the `/docs/*.md` form the Markdown links use: nothing would
37
+ rewrite it into a route and the site would 404. It stays site-relative,
38
+ which is correct here because this page is the site root. That makes it
39
+ the one link in docs/ that does not also resolve on GitHub. -->
40
+
35
41
  <p class="cta-pill"><a href="./verifying-a-skill/">Verify any claim in 60 seconds →</a></p>
36
42
 
37
43
  ## How SKF compares
@@ -65,4 +71,4 @@ Then generate your first skill:
65
71
  @Ferris QS <package> # Or a fast skill from a package name in under a minute
66
72
  ```
67
73
 
68
- [forge-auto](./forge-auto/) is the recommended starting point — one command, no configuration. See [Getting Started](./getting-started/) for platform support, tier selection, and troubleshooting.
74
+ [forge-auto](/docs/forge-auto.md) is the recommended starting point — one command, no configuration. See [Getting Started](/docs/getting-started.md) for platform support, tier selection, and troubleshooting.
@@ -3,7 +3,7 @@ title: Skill Model
3
3
  description: What a Skill Forge skill contains — progressive capability tiers, confidence model, output architecture, the dual-output strategy, and the ownership model.
4
4
  ---
5
5
 
6
- A Skill Forge skill is more than a single markdown file. This page explains what ships when you compile and export a skill: the capability tier your forge runs at, the confidence level of every claim, the files in the output directory, and why every skill is shipped as both an active instruction manual and a passive context index. For a walkthrough of compilation, see [How It Works](../how-it-works/). For the audit recipe that ties this all together, see [Verifying a Skill](../verifying-a-skill/).
6
+ A Skill Forge skill is more than a single markdown file. This page explains what ships when you compile and export a skill: the capability tier your forge runs at, the confidence level of every claim, the files in the output directory, and why every skill is shipped as both an active instruction manual and a passive context index. For a walkthrough of compilation, see [How It Works](/docs/how-it-works.md). For the audit recipe that ties this all together, see [Verifying a Skill](/docs/verifying-a-skill.md).
7
7
 
8
8
  ---
9
9
 
@@ -140,7 +140,7 @@ Your forge tier limits what authority claims a skill can make:
140
140
 
141
141
  ## Completeness Scoring
142
142
 
143
- Skills are graded on a 0–100 completeness scale. See [how the score is computed](../verifying-a-skill/#how-the-score-is-computed) in Verifying a Skill for the formula and tier adjustments.
143
+ Skills are graded on a 0–100 completeness scale. See [how the score is computed](/docs/verifying-a-skill.md#how-the-score-is-computed) in Verifying a Skill for the formula and tier adjustments.
144
144
 
145
145
  ---
146
146