bigpowers 2.77.0 → 2.77.2

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 (76) hide show
  1. package/.pi/package.json +1 -1
  2. package/.pi/prompts/audit-code.md +1 -1
  3. package/.pi/prompts/craft-skill.md +2 -2
  4. package/.pi/prompts/elaborate-spec.md +1 -1
  5. package/.pi/prompts/evolve-skill.md +1 -1
  6. package/.pi/prompts/grill-me.md +1 -1
  7. package/.pi/prompts/guard-git.md +1 -1
  8. package/.pi/prompts/investigate-bug.md +2 -2
  9. package/.pi/prompts/model-domain.md +3 -3
  10. package/.pi/prompts/plan-refactor.md +2 -2
  11. package/.pi/prompts/plan-release.md +2 -2
  12. package/.pi/prompts/using-bigpowers.md +1 -1
  13. package/.pi/prompts/write-document.md +2 -2
  14. package/.pi/skills/audit-code/SKILL.md +1 -1
  15. package/.pi/skills/change-request/SKILL.md +1 -1
  16. package/.pi/skills/commit-message/SKILL.md +3 -3
  17. package/.pi/skills/compose-workflow/SKILL.md +1 -1
  18. package/.pi/skills/craft-skill/SKILL.md +4 -4
  19. package/.pi/skills/deepen-architecture/SKILL.md +13 -13
  20. package/.pi/skills/deploy/SKILL.md +4 -4
  21. package/.pi/skills/develop-tdd/SKILL.md +5 -5
  22. package/.pi/skills/elaborate-spec/SKILL.md +1 -1
  23. package/.pi/skills/evolve-skill/SKILL.md +2 -2
  24. package/.pi/skills/extract-design/SKILL.md +1 -1
  25. package/.pi/skills/generate-allure-report/SKILL.md +1 -1
  26. package/.pi/skills/grill-me/SKILL.md +2 -2
  27. package/.pi/skills/grill-with-docs/SKILL.md +1 -1
  28. package/.pi/skills/guard-git/SKILL.md +5 -5
  29. package/.pi/skills/harden-vps/SKILL.md +1 -1
  30. package/.pi/skills/investigate-bug/SKILL.md +2 -2
  31. package/.pi/skills/migrate-spec/SKILL.md +13 -13
  32. package/.pi/skills/model-domain/SKILL.md +5 -5
  33. package/.pi/skills/orchestrate-project/SKILL.md +2 -2
  34. package/.pi/skills/organize-workspace/SKILL.md +1 -1
  35. package/.pi/skills/plan-refactor/SKILL.md +2 -2
  36. package/.pi/skills/plan-release/SKILL.md +2 -2
  37. package/.pi/skills/plan-work/SKILL.md +2 -2
  38. package/.pi/skills/publish-package/SKILL.md +8 -8
  39. package/.pi/skills/release-branch/SKILL.md +2 -2
  40. package/.pi/skills/research-first/SKILL.md +1 -1
  41. package/.pi/skills/run-evals/SKILL.md +1 -1
  42. package/.pi/skills/security-review/SKILL.md +3 -3
  43. package/.pi/skills/seed-conventions/SKILL.md +3 -3
  44. package/.pi/skills/smoke-test/SKILL.md +5 -5
  45. package/.pi/skills/stocktake-skills/SKILL.md +1 -1
  46. package/.pi/skills/using-bigpowers/SKILL.md +1 -1
  47. package/.pi/skills/validate-contracts/SKILL.md +6 -6
  48. package/.pi/skills/verify-work/SKILL.md +1 -1
  49. package/.pi/skills/wire-ci/SKILL.md +8 -8
  50. package/.pi/skills/write-document/SKILL.md +3 -3
  51. package/CHANGELOG.md +14 -0
  52. package/package.json +4 -3
  53. package/scripts/adapters/pi.sh +4 -1
  54. package/scripts/check-skill-links.py +78 -0
  55. package/scripts/generate-reference-tables.sh +2 -1
  56. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  57. package/scripts/lib/link_utils.py +49 -0
  58. package/scripts/lib/simple_yaml.py +64 -13
  59. package/scripts/lib/srp-engine.py +100 -4
  60. package/scripts/sync-skills.sh +1 -1
  61. package/scripts/test-setup-no-pyyaml.sh +83 -0
  62. package/scripts/validate-skill-yaml.py +12 -5
  63. package/skills/audit-code/SKILL.md +1 -1
  64. package/skills/craft-skill/SKILL.md +2 -2
  65. package/skills/elaborate-spec/SKILL.md +1 -1
  66. package/skills/evolve-skill/REFERENCE.md +1 -1
  67. package/skills/grill-me/REFERENCE.md +1 -1
  68. package/skills/guard-git/SKILL.md +1 -1
  69. package/skills/investigate-bug/SKILL.md +2 -2
  70. package/skills/model-domain/CONTEXT-FORMAT.md +3 -3
  71. package/skills/plan-refactor/SKILL.md +2 -2
  72. package/skills/plan-release/SKILL.md +2 -2
  73. package/skills/using-bigpowers/SKILL.md +1 -1
  74. package/skills/write-document/REFERENCE.md +2 -2
  75. package/skills-lock.json +8 -8
  76. package/tests/test_srp_engine.py +148 -0
package/.pi/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.77.0",
3
+ "version": "2.77.2",
4
4
  "description": "79 skills — 73 agent skills synthesizing 17 years of software engineering discipline into a prescriptive methodology for solo developers",
5
5
  "keywords": [
6
6
  "pi-package"
@@ -26,7 +26,7 @@ Apply the full checklist to churn-ranked files in descending order. Files with z
26
26
  - Default: full checklist
27
27
  - --quick: Run only Supply Chain and Test Coverage. Use for changes under 50 LOC.
28
28
  - --gate: Non-interactive mode for automated CI gating (used by build-epic step 6). Exit with non-zero status code (`exit 1`) on ANY checklist failure; `exit 0` only if ALL items pass. Produces a compact pass/fail summary to stderr. On failure, list every ✗ item with reason.
29
- - --parallel: Run checklist sections in **isolated git worktrees** (e45s18) so concurrent checks cannot corrupt each other's working tree. See [REFERENCE.md](REFERENCE.md) or:
29
+ - --parallel: Run checklist sections in **isolated git worktrees** (e45s18) so concurrent checks cannot corrupt each other's working tree:
30
30
 
31
31
  ```bash
32
32
  bash scripts/lib/parallel-review-worktrees.sh audit-code
@@ -29,7 +29,7 @@ Move process detail into the SKILL.md body or REFERENCE.md — never into `descr
29
29
  - Any reference materials to include?
30
30
  - What specs/ output does it produce (if any)?
31
31
 
32
- 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](../docs/PRINCIPLES.md):
32
+ 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/PRINCIPLES.md):
33
33
  - Is it atomic (verb-noun)?
34
34
  - Is it "deep" (simple interface, complex internal logic)?
35
35
  - Does it include Hard Gates?
@@ -42,7 +42,7 @@ Move process detail into the SKILL.md body or REFERENCE.md — never into `descr
42
42
 
43
43
  **Auto-skill from library README:** When user provides a library README or API docs URL, extract: triggers, HARD GATEs, verify commands, specs/ output — draft SKILL.md without inventing APIs not in the source.
44
44
 
45
- 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](../docs/references/model-profiles.md).
45
+ 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/model-profiles.md).
46
46
 
47
47
  > **STREAM CONTINUITY** — When writing file content, output in continuous chunks of ~200 lines. Do not pause. Continue immediately until complete. If you need time, emit a placeholder comment rather than going silent.
48
48
 
@@ -62,7 +62,7 @@ Once the user has answered the main questions, probe for assumptions:
62
62
 
63
63
  ### 4. Synthesize and confirm
64
64
 
65
- Summarize your understanding in 3–5 bullet points aligned with [countable-story-format.md](file:///Users/danielvm/Developer/bigpowers/countable-story-format.md):
65
+ Summarize your understanding in 3–5 bullet points aligned with [countable-story-format.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/countable-story-format.md):
66
66
  - The problem (feeds into §1 Business narrative)
67
67
  - The solution and main flow (feeds into §5)
68
68
  - The key constraints and alternative flows (feeds into §6)
@@ -51,4 +51,4 @@ See [REFERENCE.md](REFERENCE.md) for ADR template.
51
51
  **Evidence:** path/to/benchmark-report.md
52
52
  ```
53
53
 
54
- Benchmark repo: `/Users/danielvm/Developer/bigpowers-benchmark/`
54
+ Benchmark repo: `bigpowers-benchmark` — resolve the local clone on this machine (e.g. `gh repo clone danielvm-git/bigpowers-benchmark` if absent); never assume a hard-coded absolute path.
@@ -75,7 +75,7 @@ Ask one question at a time. For each challenge, cite the specific URL and sectio
75
75
 
76
76
  When an assumption doesn't match the docs:
77
77
 
78
- > "Your plan uses `library.doThing(a, b)` but the [docs](URL) show the signature is `doThing(config: {a, b})` with a config object. This will fail at runtime."
78
+ > "Your plan uses `library.doThing(a, b)` but the [docs](https://example.com/api-reference) show the signature is `doThing(config: {a, b})` with a config object. This will fail at runtime."
79
79
 
80
80
  Document each discrepancy clearly.
81
81
 
@@ -20,7 +20,7 @@ Installs a shared hook that blocks destructive git operations and enforces workf
20
20
  ## Quick start
21
21
 
22
22
  1. **Scope**: ask project-only vs global (paths differ per product).
23
- 2. **Copy the hook bundle** from the root [hooks/](hooks/) directory to the client's hooks directory.
23
+ 2. **Write the hook bundle** from [REFERENCE.md](REFERENCE.md) into the client's hooks directory.
24
24
  3. **Run `chmod +x`** on `pre-tool-use.sh`.
25
25
  4. **Merge** the hook snippet from [REFERENCE.md](REFERENCE.md) into the right settings file — do not wipe unrelated keys.
26
26
  5. **Verify** with the tests in [REFERENCE.md](REFERENCE.md).
@@ -122,5 +122,5 @@ After writing the bug file, print a one-line summary of the root cause and sugge
122
122
 
123
123
  <!-- story: e35s10 -->
124
124
 
125
- - [Feathers' Seams & Characterization Tests](../../docs/references/feathers.md) — seam types, characterization tests, and the legacy code change algorithm
126
- - [Fowler's Code Smells](../../docs/references/fowler.md) — identifying structural problems by smell before investigating
125
+ - [Feathers' Seams & Characterization Tests](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/feathers.md) — seam types, characterization tests, and the legacy code change algorithm
126
+ - [Fowler's Code Smells](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/fowler.md) — identifying structural problems by smell before investigating
@@ -211,9 +211,9 @@ _Avoid_: Client, buyer, account
211
211
 
212
212
  ## Contexts
213
213
 
214
- - [Ordering](./src/ordering/CONTEXT.md) — receives and tracks customer orders
215
- - [Billing](./src/billing/CONTEXT.md) — generates invoices and processes payments
216
- - [Fulfillment](./src/fulfillment/CONTEXT.md) — manages warehouse picking and shipping
214
+ - Ordering — `src/ordering/CONTEXT.md` — receives and tracks customer orders
215
+ - Billing — `src/billing/CONTEXT.md` — generates invoices and processes payments
216
+ - Fulfillment — `src/fulfillment/CONTEXT.md` — manages warehouse picking and shipping
217
217
 
218
218
  ## Relationships
219
219
 
@@ -80,7 +80,7 @@ After writing `specs/REFACTOR_LATEST.md`, suggest running `kickoff-branch` next
80
80
 
81
81
  <!-- story: e35s10 -->
82
82
 
83
- - [Fowler's Refactoring Catalog](../../docs/references/fowler.md) — canonical refactoring vocabulary and code-smell taxonomy
84
- - [Beck's Tidy First?](../../docs/references/kent-beck.md) — structural change before behavioral change
83
+ - [Fowler's Refactoring Catalog](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/fowler.md) — canonical refactoring vocabulary and code-smell taxonomy
84
+ - [Beck's Tidy First?](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/kent-beck.md) — structural change before behavioral change
85
85
 
86
86
  ## Verify
@@ -16,7 +16,7 @@ Synthesize the conversation context into `specs/release-plan.yaml` (index) and s
16
16
  |------|---------|
17
17
  | `specs/release-plan.yaml` | `release.version`, semver bump hint, WSJF-ordered epic list with `id`, `capsule_dir`, `wsjf`, `bcps` — **no story status** |
18
18
  | `specs/epics/eNN-<slug>/epic.yaml` | Epic manifest: `id`, `title`, `wsjf`, `total_bcps`, `status`, `stories[]` list |
19
- | `specs/epics/eNN-<slug>/eNNsYY-<slug>.md` | Story spec in [countable-story-format.md](file:///Users/danielvm/Developer/bigpowers/countable-story-format.md) with 20 sections and Gherkin acceptance criteria |
19
+ | `specs/epics/eNN-<slug>/eNNsYY-<slug>.md` | Story spec in [countable-story-format.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/countable-story-format.md) with 20 sections and Gherkin acceptance criteria |
20
20
  | `specs/epics/eNN-<slug>/eNNsYY-tasks.yaml` | Decoupled task checklist with `verify:` commands per task |
21
21
  | `specs/execution-status.yaml` | Flat key-value store for story status (`eNNsYY: todo`) |
22
22
 
@@ -101,7 +101,7 @@ stories:
101
101
  ```
102
102
  ### 6. Save story specs (countable-story-format .md)
103
103
 
104
- Each story becomes a standalone `.md` file following [countable-story-format.md](file:///Users/danielvm/Developer/bigpowers/countable-story-format.md). Minimum: maturity 3 (Countable) with all 20 sections present. Acceptance criteria in §17 use Gherkin scenarios.
104
+ Each story becomes a standalone `.md` file following [countable-story-format.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/countable-story-format.md). Minimum: maturity 3 (Countable) with all 20 sections present. Acceptance criteria in §17 use Gherkin scenarios.
105
105
  ### 7. Save decoupled task files (`-tasks.yaml`)
106
106
 
107
107
  Each story has a decoupled `-tasks.yaml` with implementation steps:
@@ -76,7 +76,7 @@ UTILITY terse-mode / craft-skill / edit-document (any phase)
76
76
 
77
77
  If you work alone and do not want PR ceremony every task:
78
78
 
79
- 1. Read [profiles/solo-git.md](../profiles/solo-git.md).
79
+ 1. Read [profiles/solo-git.md](../../profiles/solo-git.md).
80
80
  2. Register with `compose-workflow` → `specs/WORKFLOW-solo-git.md`.
81
81
  3. Ship with `release-branch` in **solo-local** mode (`land-branch.sh`), not `gh pr create`.
82
82
 
@@ -219,7 +219,7 @@ Auto-fill from CLAUDE.md `Test` and `Lint` commands.
219
219
  ```markdown
220
220
  ## Changelog
221
221
 
222
- See [CHANGELOG.md](CHANGELOG.md) or [Releases](https://github.com/user/repo/releases).
222
+ See [CHANGELOG.md](../../CHANGELOG.md) or [Releases](https://github.com/user/repo/releases).
223
223
  ```
224
224
 
225
225
  ### 13. Links
@@ -236,7 +236,7 @@ See [CHANGELOG.md](CHANGELOG.md) or [Releases](https://github.com/user/repo/rele
236
236
  ```markdown
237
237
  ## License
238
238
 
239
- MIT — see [LICENSE](LICENSE) for details.
239
+ MIT — see [LICENSE](../../LICENSE) for details.
240
240
  ```
241
241
 
242
242
  Detect from CLAUDE.md or project LICENSE file.
@@ -27,7 +27,7 @@ Apply the full checklist to churn-ranked files in descending order. Files with z
27
27
  - Default: full checklist
28
28
  - --quick: Run only Supply Chain and Test Coverage. Use for changes under 50 LOC.
29
29
  - --gate: Non-interactive mode for automated CI gating (used by build-epic step 6). Exit with non-zero status code (`exit 1`) on ANY checklist failure; `exit 0` only if ALL items pass. Produces a compact pass/fail summary to stderr. On failure, list every ✗ item with reason.
30
- - --parallel: Run checklist sections in **isolated git worktrees** (e45s18) so concurrent checks cannot corrupt each other's working tree. See [REFERENCE.md](REFERENCE.md) or:
30
+ - --parallel: Run checklist sections in **isolated git worktrees** (e45s18) so concurrent checks cannot corrupt each other's working tree:
31
31
 
32
32
  ```bash
33
33
  bash scripts/lib/parallel-review-worktrees.sh audit-code
@@ -31,7 +31,7 @@ Intake a new requirement mid-flight without disrupting work in progress.
31
31
 
32
32
  Value-engineering pass over the full release using WSJF.
33
33
 
34
- See [REFERENCE.md](REFERENCE.md) for the full WSJF scoring rubric.
34
+ See [REFERENCE.md](../../../skills/change-request/REFERENCE.md) for the full WSJF scoring rubric.
35
35
 
36
36
  1. **Score** each epic/story: BV + TC + RR / Job Size.
37
37
  2. **Re-sort** `release-plan.yaml` `epics[]` and per-epic `wsjf` fields.
@@ -24,7 +24,7 @@ description: "Reviews working-tree changes, then drafts a Conventional Commits t
24
24
  1. **Inventory** — List changed paths; group by feature vs chore vs docs vs test-only.
25
25
  2. **Decide commit shape** — One atomic commit is ideal. If the diff mixes unrelated concerns, recommend **multiple commits** (each with its own type/scope) before suggesting one message.
26
26
  3. **Classify for semantic release** — `fix` → patch, `feat` → minor, **breaking** → major.
27
- 4. **Write the message** — `type(optional-scope)!: description` (see [REFERENCE.md](REFERENCE.md#message-format)). Use `!` or a `BREAKING CHANGE:` footer when behavior contracts change.
27
+ 4. **Write the message** — `type(optional-scope)!: description` (see [REFERENCE.md](../../../skills/commit-message/REFERENCE.md#message-format)). Use `!` or a `BREAKING CHANGE:` footer when behavior contracts change.
28
28
  5. **Note defensive-code categories touched** — from CONVENTIONS.md: Rate limit | Retry with backoff | Circuit breaker | Timeout | Graceful degradation
29
29
  6. **Note fix-ratio contribution** — Each `fix:` commit counts toward `metrics.commit_ratio.fix` in `specs/state.yaml`. After `release-branch`, `session-state` recalculates the ratio automatically. A high fix rate (>30%) triggers a deploy + smoke-test suggestion.
30
30
  7. **Deliver** — Output:
@@ -42,11 +42,11 @@ description: "Reviews working-tree changes, then drafts a Conventional Commits t
42
42
 
43
43
  ## When not to invent a bump
44
44
 
45
- If the repo uses a custom `@semantic-release/commit-analyzer` preset, note that your bump is **heuristic** and they should match `.releaserc` / `release.config.*`. See [REFERENCE.md](REFERENCE.md#custom-repositories).
45
+ If the repo uses a custom `@semantic-release/commit-analyzer` preset, note that your bump is **heuristic** and they should match `.releaserc` / `release.config.*`. See [REFERENCE.md](../../../skills/commit-message/REFERENCE.md#custom-repositories).
46
46
 
47
47
  ## Further reading
48
48
 
49
- - [REFERENCE.md](REFERENCE.md) — Message shape, footers, release mapping, squashing notes.
49
+ - [REFERENCE.md](../../../skills/commit-message/REFERENCE.md) — Message shape, footers, release mapping, squashing notes.
50
50
 
51
51
 
52
52
 
@@ -63,7 +63,7 @@ Add to `AGENTS.md`:
63
63
 
64
64
  → verify: `ls specs/workflows/*.yaml 2>/dev/null | wc -l | awk '{if($1>=8) print "OK: " $1 " recipes"; else print "FAIL"}'`
65
65
 
66
- See [REFERENCE.md](REFERENCE.md) for template.
66
+ See [REFERENCE.md](../../../skills/compose-workflow/REFERENCE.md) for template.
67
67
 
68
68
  ---
69
69
 
@@ -30,20 +30,20 @@ Move process detail into the SKILL.md body or REFERENCE.md — never into `descr
30
30
  - Any reference materials to include?
31
31
  - What specs/ output does it produce (if any)?
32
32
 
33
- 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](../docs/PRINCIPLES.md):
33
+ 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/PRINCIPLES.md):
34
34
  - Is it atomic (verb-noun)?
35
35
  - Is it "deep" (simple interface, complex internal logic)?
36
36
  - Does it include Hard Gates?
37
37
  - Is it verifiable with a `.feature` file?
38
38
 
39
39
  3. **Draft the skill** — create:
40
- - SKILL.md with concise instructions (see [REFERENCE.md](REFERENCE.md) for template)
40
+ - SKILL.md with concise instructions (see [REFERENCE.md](../../../skills/craft-skill/REFERENCE.md) for template)
41
41
  - Additional reference files if content exceeds 100 lines
42
42
  - Utility scripts if deterministic operations needed
43
43
 
44
44
  **Auto-skill from library README:** When user provides a library README or API docs URL, extract: triggers, HARD GATEs, verify commands, specs/ output — draft SKILL.md without inventing APIs not in the source.
45
45
 
46
- 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](../docs/references/model-profiles.md).
46
+ 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/model-profiles.md).
47
47
 
48
48
  > **STREAM CONTINUITY** — When writing file content, output in continuous chunks of ~200 lines. Do not pause. Continue immediately until complete. If you need time, emit a placeholder comment rather than going silent.
49
49
 
@@ -60,7 +60,7 @@ Move process detail into the SKILL.md body or REFERENCE.md — never into `descr
60
60
 
61
61
  ## Naming Rules
62
62
 
63
- Every skill name must be a **two-word verb-noun pair**. See [REFERENCE.md](REFERENCE.md) for full rules, examples, and documented exceptions.
63
+ Every skill name must be a **two-word verb-noun pair**. See [REFERENCE.md](../../../skills/craft-skill/REFERENCE.md) for full rules, examples, and documented exceptions.
64
64
 
65
65
  ## specs/ Output
66
66
 
@@ -14,7 +14,7 @@ Surface architectural friction and propose **deepening opportunities** — refac
14
14
 
15
15
  ## Glossary
16
16
 
17
- Use these terms exactly in every suggestion. Consistent language is the point — don't drift into "component," "service," "API," or "boundary." Full definitions in [LANGUAGE.md](LANGUAGE.md).
17
+ Use these terms exactly in every suggestion. Consistent language is the point — don't drift into "component," "service," "API," or "boundary." Full definitions in [LANGUAGE.md](../../../skills/deepen-architecture/LANGUAGE.md).
18
18
 
19
19
  - **Module** — anything with an interface and an implementation (function, class, package, slice).
20
20
  - **Interface** — everything a caller must know to use the module: types, invariants, error modes, ordering, config. Not just the type signature.
@@ -25,13 +25,13 @@ Use these terms exactly in every suggestion. Consistent language is the point
25
25
  - **Leverage** — what callers get from depth.
26
26
  - **Locality** — what maintainers get from depth: change, bugs, knowledge concentrated in one place.
27
27
 
28
- Key principles (see [LANGUAGE.md](LANGUAGE.md) for the full list):
28
+ Key principles (see [LANGUAGE.md](../../../skills/deepen-architecture/LANGUAGE.md) for the full list):
29
29
 
30
30
  - **Deletion test**: imagine deleting the module. If complexity vanishes, it was a pass-through. If complexity reappears across N callers, it was earning its keep.
31
31
  - **The interface is the test surface.**
32
32
  - **One adapter = hypothetical seam. Two adapters = real seam.**
33
33
 
34
- This skill is _informed_ by the project's domain model — `specs/tech-architecture/tech-stack.md` and any `specs/adr/`. The domain language gives names to good seams; ADRs record decisions the skill should not re-litigate. See [CONTEXT-FORMAT.md](../model-domain/CONTEXT-FORMAT.md) and [ADR-FORMAT.md](../model-domain/ADR-FORMAT.md).
34
+ This skill is _informed_ by the project's domain model — `specs/tech-architecture/tech-stack.md` and any `specs/adr/`. The domain language gives names to good seams; ADRs record decisions the skill should not re-litigate. See [CONTEXT-FORMAT.md](../../../skills/model-domain/CONTEXT-FORMAT.md) and [ADR-FORMAT.md](../../../skills/model-domain/ADR-FORMAT.md).
35
35
 
36
36
  ## Process
37
37
 
@@ -81,7 +81,7 @@ Present a numbered list of deepening opportunities. For each candidate:
81
81
  - **Solution** — plain English description of what would change
82
82
  - **Benefits** — explained in terms of locality and leverage, and how tests would improve
83
83
 
84
- **Use `specs/tech-architecture/tech-stack.md` vocabulary for the domain, and [LANGUAGE.md](LANGUAGE.md) vocabulary for the architecture.**
84
+ **Use `specs/tech-architecture/tech-stack.md` vocabulary for the domain, and [LANGUAGE.md](../../../skills/deepen-architecture/LANGUAGE.md) vocabulary for the architecture.**
85
85
 
86
86
  **ADR conflicts**: if a candidate contradicts an existing ADR, only surface it when the friction is real enough to warrant revisiting the ADR. Mark it clearly. Don't list every theoretical refactor an ADR forbids.
87
87
 
@@ -93,10 +93,10 @@ Once the user picks a candidate, drop into a grilling conversation. Walk the des
93
93
 
94
94
  Side effects happen inline as decisions crystallize:
95
95
 
96
- - **Naming a deepened module after a concept not in `specs/tech-architecture/tech-stack.md`?** Add the term to `specs/tech-architecture/tech-stack.md` — same discipline as `model-domain` (see [CONTEXT-FORMAT.md](../model-domain/CONTEXT-FORMAT.md)). Create the file lazily if it doesn't exist.
96
+ - **Naming a deepened module after a concept not in `specs/tech-architecture/tech-stack.md`?** Add the term to `specs/tech-architecture/tech-stack.md` — same discipline as `model-domain` (see [CONTEXT-FORMAT.md](../../../skills/model-domain/CONTEXT-FORMAT.md)). Create the file lazily if it doesn't exist.
97
97
  - **Sharpening a fuzzy term during the conversation?** Update `specs/tech-architecture/tech-stack.md` right there.
98
- - **User rejects the candidate with a load-bearing reason?** Offer an ADR, framed as: _"Want me to record this as an ADR so future architecture reviews don't re-suggest it?"_ Only offer when the reason would actually be needed by a future explorer. See [ADR-FORMAT.md](../model-domain/ADR-FORMAT.md).
99
- - **Want to explore alternative interfaces for the deepened module?** See [INTERFACE-DESIGN.md](INTERFACE-DESIGN.md).
98
+ - **User rejects the candidate with a load-bearing reason?** Offer an ADR, framed as: _"Want me to record this as an ADR so future architecture reviews don't re-suggest it?"_ Only offer when the reason would actually be needed by a future explorer. See [ADR-FORMAT.md](../../../skills/model-domain/ADR-FORMAT.md).
99
+ - **Want to explore alternative interfaces for the deepened module?** See [INTERFACE-DESIGN.md](../../../skills/deepen-architecture/INTERFACE-DESIGN.md).
100
100
 
101
101
  ### 5. Import-boundary hygiene (e45s14)
102
102
 
@@ -120,7 +120,7 @@ Run the check before proposing cross-module `source` edges. Convention docs alon
120
120
 
121
121
  # Deepening
122
122
 
123
- How to deepen a cluster of shallow modules safely, given its dependencies. Assumes the vocabulary in [LANGUAGE.md](LANGUAGE.md) — **module**, **interface**, **seam**, **adapter**.
123
+ How to deepen a cluster of shallow modules safely, given its dependencies. Assumes the vocabulary in [LANGUAGE.md](../../../skills/deepen-architecture/LANGUAGE.md) — **module**, **interface**, **seam**, **adapter**.
124
124
 
125
125
  ## Dependency categories
126
126
 
@@ -162,7 +162,7 @@ Third-party services (Stripe, Twilio, etc.) you don't control. The deepened modu
162
162
 
163
163
  When the user wants to explore alternative interfaces for a chosen deepening candidate, use this parallel sub-agent pattern. Based on "Design It Twice" (Ousterhout) — your first idea is unlikely to be the best.
164
164
 
165
- Uses the vocabulary in [LANGUAGE.md](LANGUAGE.md) — **module**, **interface**, **seam**, **adapter**, **leverage**.
165
+ Uses the vocabulary in [LANGUAGE.md](../../../skills/deepen-architecture/LANGUAGE.md) — **module**, **interface**, **seam**, **adapter**, **leverage**.
166
166
 
167
167
  ## Process
168
168
 
@@ -171,7 +171,7 @@ Uses the vocabulary in [LANGUAGE.md](LANGUAGE.md) — **module**, **interface**,
171
171
  Before spawning sub-agents, write a user-facing explanation of the problem space for the chosen candidate:
172
172
 
173
173
  - The constraints any new interface would need to satisfy
174
- - The dependencies it would rely on, and which category they fall into (see [DEEPENING.md](DEEPENING.md))
174
+ - The dependencies it would rely on, and which category they fall into (see [DEEPENING.md](../../../skills/deepen-architecture/DEEPENING.md))
175
175
  - A rough illustrative code sketch to ground the constraints — not a proposal, just a way to make the constraints concrete
176
176
 
177
177
  Show this to the user, then immediately proceed to Step 2. The user reads and thinks while the sub-agents work in parallel.
@@ -180,21 +180,21 @@ Show this to the user, then immediately proceed to Step 2. The user reads and th
180
180
 
181
181
  Spawn 3+ sub-agents in parallel using the Agent tool. Each must produce a **radically different** interface for the deepened module.
182
182
 
183
- Prompt each sub-agent with a separate technical brief (file paths, coupling details, dependency category from [DEEPENING.md](DEEPENING.md), what sits behind the seam). The brief is independent of the user-facing problem-space explanation in Step 1. Give each agent a different design constraint:
183
+ Prompt each sub-agent with a separate technical brief (file paths, coupling details, dependency category from [DEEPENING.md](../../../skills/deepen-architecture/DEEPENING.md), what sits behind the seam). The brief is independent of the user-facing problem-space explanation in Step 1. Give each agent a different design constraint:
184
184
 
185
185
  - Agent 1: "Minimize the interface — aim for 1–3 entry points max. Maximise leverage per entry point."
186
186
  - Agent 2: "Maximise flexibility — support many use cases and extension."
187
187
  - Agent 3: "Optimise for the most common caller — make the default case trivial."
188
188
  - Agent 4 (if applicable): "Design around ports & adapters for cross-seam dependencies."
189
189
 
190
- Include both [LANGUAGE.md](LANGUAGE.md) vocabulary and CONTEXT.md vocabulary in the brief so each sub-agent names things consistently with the architecture language and the project's domain language.
190
+ Include both [LANGUAGE.md](../../../skills/deepen-architecture/LANGUAGE.md) vocabulary and CONTEXT.md vocabulary in the brief so each sub-agent names things consistently with the architecture language and the project's domain language.
191
191
 
192
192
  Each sub-agent outputs:
193
193
 
194
194
  1. Interface (types, methods, params — plus invariants, ordering, error modes)
195
195
  2. Usage example showing how callers use it
196
196
  3. What the implementation hides behind the seam
197
- 4. Dependency strategy and adapters (see [DEEPENING.md](DEEPENING.md))
197
+ 4. Dependency strategy and adapters (see [DEEPENING.md](../../../skills/deepen-architecture/DEEPENING.md))
198
198
  5. Trade-offs — where leverage is high, where it's thin
199
199
 
200
200
  ### 3. Present and compare
@@ -87,15 +87,15 @@ exit 1
87
87
 
88
88
  After invoking the deploy command, poll for completion:
89
89
 
90
- See [REFERENCE.md](REFERENCE.md)
90
+ See [REFERENCE.md](../../../skills/deploy/REFERENCE.md)
91
91
 
92
92
  Use exponential backoff for retries on transient failures:
93
93
 
94
- See [REFERENCE.md](REFERENCE.md)
94
+ See [REFERENCE.md](../../../skills/deploy/REFERENCE.md)
95
95
 
96
96
  ### 6. Baseline smoke test
97
97
 
98
- See [REFERENCE.md](REFERENCE.md)
98
+ See [REFERENCE.md](../../../skills/deploy/REFERENCE.md)
99
99
 
100
100
  For comprehensive health-checking, chain to the `smoke-test` skill:
101
101
 
@@ -106,7 +106,7 @@ bash scripts/run-smoke.sh "$DEPLOY_URL"
106
106
 
107
107
  ### 7. Three-independent-facts verification (e45s15)
108
108
 
109
- Before declaring deploy success, verify **three independent facts** — build artifact, platform accept, live/registry reachability. See [REFERENCE.md](REFERENCE.md#three-independent-facts).
109
+ Before declaring deploy success, verify **three independent facts** — build artifact, platform accept, live/registry reachability. See [REFERENCE.md](../../../skills/deploy/REFERENCE.md#three-independent-facts).
110
110
 
111
111
  ## Verify
112
112
 
@@ -14,7 +14,7 @@ description: "Test-driven development with red-green-refactor loop using vertica
14
14
 
15
15
  ## Philosophy
16
16
 
17
- Tests verify behavior through public interfaces, not implementation details. A good test reads like a specification. See [REFERENCE.md](REFERENCE.md) for the horizontal-slice anti-pattern and TDD phase detail.
17
+ Tests verify behavior through public interfaces, not implementation details. A good test reads like a specification. See [REFERENCE.md](../../../skills/develop-tdd/REFERENCE.md) for the horizontal-slice anti-pattern and TDD phase detail.
18
18
 
19
19
  ## Red Flags
20
20
 
@@ -40,7 +40,7 @@ If you catch yourself thinking these, stop and reconsider — you are likely dev
40
40
  - [ ] Read active `specs/epics/*/epic.yaml` story tasks or `specs/bugs/BUG-*.md` — understand verify steps
41
41
  - [ ] If `specs/tech-architecture/eNN-TEST_PLAN_LATEST.md` exists for the active epic, read it before writing the first test. Implement P0 scenarios (`SC-*-P0-*`) before P1. P2/P3 scenarios are optional per time budget.
42
42
  - [ ] Confirm interface changes and behaviors to test (prioritize)
43
- - [ ] Design interfaces for testability — identify [deep modules](deep-modules.md) opportunities
43
+ - [ ] Design interfaces for testability — identify [deep modules](../../../skills/develop-tdd/deep-modules.md) opportunities
44
44
  - [ ] Get user approval on the plan
45
45
 
46
46
  Apply the **enforce-first** F.I.R.S.T rubric: Fast, Independent, Repeatable, Self-Validating, Timely.
@@ -74,7 +74,7 @@ For each remaining behavior: RED → GREEN → REFACTOR (optional). One test at
74
74
 
75
75
  ### 4. Visual Slices (UI alternate workflow)
76
76
 
77
- For UI components where behavioral unit testing is brittle: extract logic into a Controller/ViewModel/Hook (pure TDD), then use Visual Slices for the View layer. See [REFERENCE.md](REFERENCE.md) for the full Visual Slices procedure.
77
+ For UI components where behavioral unit testing is brittle: extract logic into a Controller/ViewModel/Hook (pure TDD), then use Visual Slices for the View layer. See [REFERENCE.md](../../../skills/develop-tdd/REFERENCE.md) for the full Visual Slices procedure.
78
78
 
79
79
  ### 5. Refactor
80
80
 
@@ -91,7 +91,7 @@ Once all tests pass: locate the Verification Script in the active epic capsule,
91
91
 
92
92
  ### 6a. CI dry-run sub-step
93
93
 
94
- If this cycle modified files in `.github/workflows/`, run the CI dry-run procedure documented in [REFERENCE.md](REFERENCE.md#ci-dry-run).
94
+ If this cycle modified files in `.github/workflows/`, run the CI dry-run procedure documented in [REFERENCE.md](../../../skills/develop-tdd/REFERENCE.md#ci-dry-run).
95
95
 
96
96
  ## Checklist Per Cycle
97
97
 
@@ -149,7 +149,7 @@ RIGHT (vertical):
149
149
  ...
150
150
  ```
151
151
 
152
- > The Red Flags table lives in [SKILL.md](SKILL.md#red-flags) — it is core behavioral guidance, not reference detail.
152
+ > The Red Flags table lives in [SKILL.md](../../../skills/develop-tdd/SKILL.md#red-flags) — it is core behavioral guidance, not reference detail.
153
153
 
154
154
  ## TDD Phases (Detail)
155
155
 
@@ -63,7 +63,7 @@ Once the user has answered the main questions, probe for assumptions:
63
63
 
64
64
  ### 4. Synthesize and confirm
65
65
 
66
- Summarize your understanding in 3–5 bullet points aligned with [countable-story-format.md](file:///Users/danielvm/Developer/bigpowers/countable-story-format.md):
66
+ Summarize your understanding in 3–5 bullet points aligned with [countable-story-format.md](https://github.com/danielvm-git/bigpowers/blob/main/docs/countable-story-format.md):
67
67
  - The problem (feeds into §1 Business narrative)
68
68
  - The solution and main flow (feeds into §5)
69
69
  - The key constraints and alternative flows (feeds into §6)
@@ -34,7 +34,7 @@ description: "Benchmark-gated skill evolution — consume bigpowers-benchmark re
34
34
 
35
35
  → verify: `grep -c 'run-benchmark\|pass_at_k\|BASELINE-' skills/evolve-skill/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
36
36
 
37
- See [REFERENCE.md](REFERENCE.md) for ADR template.
37
+ See [REFERENCE.md](../../../skills/evolve-skill/REFERENCE.md) for ADR template.
38
38
 
39
39
 
40
40
  <!-- story: e31s07 -->
@@ -52,4 +52,4 @@ See [REFERENCE.md](REFERENCE.md) for ADR template.
52
52
  **Evidence:** path/to/benchmark-report.md
53
53
  ```
54
54
 
55
- Benchmark repo: `/Users/danielvm/Developer/bigpowers-benchmark/`
55
+ Benchmark repo: `bigpowers-benchmark` — resolve the local clone on this machine (e.g. `gh repo clone danielvm-git/bigpowers-benchmark` if absent); never assume a hard-coded absolute path.
@@ -74,7 +74,7 @@ node extract-design/scripts/extract.js --lint-only
74
74
  node extract-design/tests/test-extraction.js
75
75
  ```
76
76
 
77
- See [REFERENCE.md](REFERENCE.md) for extraction algorithms and heuristics.
77
+ See [REFERENCE.md](../../../skills/extract-design/REFERENCE.md) for extraction algorithms and heuristics.
78
78
 
79
79
  ---
80
80
 
@@ -26,7 +26,7 @@ Three files in `allure-results/`:
26
26
 
27
27
  ## Data Sources
28
28
 
29
- See [REFERENCE.md](REFERENCE.md)
29
+ See [REFERENCE.md](../../../skills/generate-allure-report/REFERENCE.md)
30
30
 
31
31
  ## Verify
32
32
 
@@ -20,7 +20,7 @@ If a question can be answered by exploring the codebase, explore it instead.
20
20
 
21
21
  ## Docs mode
22
22
 
23
- Ground every challenge in real documentation — no assumption about a library's behavior goes unchecked. See [REFERENCE.md](REFERENCE.md) for the full process.
23
+ Ground every challenge in real documentation — no assumption about a library's behavior goes unchecked. See [REFERENCE.md](../../../skills/grill-me/REFERENCE.md) for the full process.
24
24
 
25
25
  Short form:
26
26
  1. List every external library, third-party API, and framework behavior relied upon.
@@ -76,7 +76,7 @@ Ask one question at a time. For each challenge, cite the specific URL and sectio
76
76
 
77
77
  When an assumption doesn't match the docs:
78
78
 
79
- > "Your plan uses `library.doThing(a, b)` but the [docs](URL) show the signature is `doThing(config: {a, b})` with a config object. This will fail at runtime."
79
+ > "Your plan uses `library.doThing(a, b)` but the [docs](https://example.com/api-reference) show the signature is `doThing(config: {a, b})` with a config object. This will fail at runtime."
80
80
 
81
81
  Document each discrepancy clearly.
82
82
 
@@ -27,7 +27,7 @@ description: "Doc-grounded variant of grill-me — stress-tests plan assumptions
27
27
 
28
28
  → verify: `grep -c 'https\?://' skills/grill-with-docs/SKILL.md | awk '{if($1>=2) print "OK"; else print "NEEDS DOCS"}'`
29
29
 
30
- See [REFERENCE.md](REFERENCE.md) for question templates.
30
+ See [REFERENCE.md](../../../skills/grill-with-docs/REFERENCE.md) for question templates.
31
31
 
32
32
 
33
33
  <!-- story: e03s01 -->
@@ -16,15 +16,15 @@ Installs a shared hook that blocks destructive git operations and enforces workf
16
16
  - **Discipline**: Blocks direct commits or pushes to protected branches (`main`, `master`) unless `GIT_BIGPOWERS_LAND=1` (set only by `scripts/land-branch.sh`).
17
17
  - **Allows**: `git push origin <feature-branch>` for backup/CI; solo land push to `main` only inside `land-branch.sh`.
18
18
  - **Standardization**: Enforces [Conventional Commits](https://www.conventionalcommits.org/) for all `git commit` commands.
19
- - **Secrets**: Blocks commits containing common secret patterns (`sk-`, `ghp_`, `AKIA`, `xoxb-`, `-----BEGIN` private keys) — see [REFERENCE.md](REFERENCE.md).
19
+ - **Secrets**: Blocks commits containing common secret patterns (`sk-`, `ghp_`, `AKIA`, `xoxb-`, `-----BEGIN` private keys) — see [REFERENCE.md](../../../skills/guard-git/REFERENCE.md).
20
20
 
21
21
  ## Quick start
22
22
 
23
23
  1. **Scope**: ask project-only vs global (paths differ per product).
24
- 2. **Copy the hook bundle** from the root [hooks/](hooks/) directory to the client's hooks directory.
24
+ 2. **Write the hook bundle** from [REFERENCE.md](../../../skills/guard-git/REFERENCE.md) into the client's hooks directory.
25
25
  3. **Run `chmod +x`** on `pre-tool-use.sh`.
26
- 4. **Merge** the hook snippet from [REFERENCE.md](REFERENCE.md) into the right settings file — do not wipe unrelated keys.
27
- 5. **Verify** with the tests in [REFERENCE.md](REFERENCE.md).
26
+ 4. **Merge** the hook snippet from [REFERENCE.md](../../../skills/guard-git/REFERENCE.md) into the right settings file — do not wipe unrelated keys.
27
+ 5. **Verify** with the tests in [REFERENCE.md](../../../skills/guard-git/REFERENCE.md).
28
28
 
29
29
  | Client | Mechanism | Config |
30
30
  |--------|-----------|--------|
@@ -41,7 +41,7 @@ To add or remove patterns or protected branches, edit `pre-tool-use.sh`.
41
41
 
42
42
  ## Advanced
43
43
 
44
- Full JSON examples, merge rules, Antigravity deny-list entries, and test commands: [REFERENCE.md](REFERENCE.md).
44
+ Full JSON examples, merge rules, Antigravity deny-list entries, and test commands: [REFERENCE.md](../../../skills/guard-git/REFERENCE.md).
45
45
 
46
46
 
47
47
 
@@ -6,7 +6,7 @@ description: "Harden a production Linux VPS for BigBase across three layers —
6
6
 
7
7
  # Harden VPS
8
8
 
9
- Three-layer production hardening for BigBase on Contabo VPS. Each layer independently verifiable. Apply OS first (firewall blocks attacks immediately), then BigBase (alerts + backups), then Contabo (snapshots). See [REFERENCE.md](REFERENCE.md) for full script bodies, systemd unit template, and gotchas.
9
+ Three-layer production hardening for BigBase on Contabo VPS. Each layer independently verifiable. Apply OS first (firewall blocks attacks immediately), then BigBase (alerts + backups), then Contabo (snapshots). See [REFERENCE.md](../../../skills/harden-vps/REFERENCE.md) for full script bodies, systemd unit template, and gotchas.
10
10
 
11
11
  ## Quick start
12
12
 
@@ -123,5 +123,5 @@ After writing the bug file, print a one-line summary of the root cause and sugge
123
123
 
124
124
  <!-- story: e35s10 -->
125
125
 
126
- - [Feathers' Seams & Characterization Tests](../../docs/references/feathers.md) — seam types, characterization tests, and the legacy code change algorithm
127
- - [Fowler's Code Smells](../../docs/references/fowler.md) — identifying structural problems by smell before investigating
126
+ - [Feathers' Seams & Characterization Tests](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/feathers.md) — seam types, characterization tests, and the legacy code change algorithm
127
+ - [Fowler's Code Smells](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/fowler.md) — identifying structural problems by smell before investigating