bigpowers 2.76.3 → 2.77.1

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 (93) hide show
  1. package/.pi/package.json +2 -2
  2. package/.pi/prompts/audit-code.md +1 -1
  3. package/.pi/prompts/build-epic.md +10 -0
  4. package/.pi/prompts/craft-skill.md +2 -2
  5. package/.pi/prompts/elaborate-spec.md +1 -1
  6. package/.pi/prompts/evolve-skill.md +1 -1
  7. package/.pi/prompts/generate-allure-report.md +284 -0
  8. package/.pi/prompts/grill-me.md +1 -1
  9. package/.pi/prompts/guard-git.md +1 -1
  10. package/.pi/prompts/harden-vps.md +287 -0
  11. package/.pi/prompts/investigate-bug.md +2 -2
  12. package/.pi/prompts/model-domain.md +3 -3
  13. package/.pi/prompts/plan-refactor.md +2 -2
  14. package/.pi/prompts/plan-release.md +5 -10
  15. package/.pi/prompts/plan-work.md +14 -1
  16. package/.pi/prompts/using-bigpowers.md +1 -1
  17. package/.pi/prompts/write-document.md +2 -2
  18. package/.pi/skills/audit-code/SKILL.md +1 -1
  19. package/.pi/skills/build-epic/SKILL.md +10 -0
  20. package/.pi/skills/change-request/SKILL.md +1 -1
  21. package/.pi/skills/commit-message/SKILL.md +3 -3
  22. package/.pi/skills/compose-workflow/SKILL.md +1 -1
  23. package/.pi/skills/craft-skill/SKILL.md +4 -4
  24. package/.pi/skills/deepen-architecture/SKILL.md +13 -13
  25. package/.pi/skills/deploy/SKILL.md +4 -4
  26. package/.pi/skills/develop-tdd/SKILL.md +5 -5
  27. package/.pi/skills/elaborate-spec/SKILL.md +1 -1
  28. package/.pi/skills/evolve-skill/SKILL.md +2 -2
  29. package/.pi/skills/extract-design/SKILL.md +1 -1
  30. package/.pi/skills/generate-allure-report/SKILL.md +285 -0
  31. package/.pi/skills/grill-me/SKILL.md +2 -2
  32. package/.pi/skills/grill-with-docs/SKILL.md +1 -1
  33. package/.pi/skills/guard-git/SKILL.md +5 -5
  34. package/.pi/skills/harden-vps/SKILL.md +288 -0
  35. package/.pi/skills/investigate-bug/SKILL.md +2 -2
  36. package/.pi/skills/migrate-spec/SKILL.md +13 -13
  37. package/.pi/skills/model-domain/SKILL.md +5 -5
  38. package/.pi/skills/orchestrate-project/SKILL.md +2 -2
  39. package/.pi/skills/organize-workspace/SKILL.md +1 -1
  40. package/.pi/skills/plan-refactor/SKILL.md +2 -2
  41. package/.pi/skills/plan-release/SKILL.md +5 -10
  42. package/.pi/skills/plan-work/SKILL.md +15 -2
  43. package/.pi/skills/publish-package/SKILL.md +8 -8
  44. package/.pi/skills/release-branch/SKILL.md +2 -2
  45. package/.pi/skills/research-first/SKILL.md +1 -1
  46. package/.pi/skills/run-evals/SKILL.md +1 -1
  47. package/.pi/skills/security-review/SKILL.md +3 -3
  48. package/.pi/skills/seed-conventions/SKILL.md +3 -3
  49. package/.pi/skills/smoke-test/SKILL.md +5 -5
  50. package/.pi/skills/stocktake-skills/SKILL.md +1 -1
  51. package/.pi/skills/using-bigpowers/SKILL.md +1 -1
  52. package/.pi/skills/validate-contracts/SKILL.md +6 -6
  53. package/.pi/skills/verify-work/SKILL.md +1 -1
  54. package/.pi/skills/wire-ci/SKILL.md +8 -8
  55. package/.pi/skills/write-document/SKILL.md +3 -3
  56. package/CHANGELOG.md +14 -0
  57. package/README.md +1 -1
  58. package/SKILL-INDEX.md +1 -1
  59. package/allure-results/categories.json +23 -0
  60. package/allure-results/executor.json +6 -0
  61. package/allure-results/junit-results.xml +2743 -0
  62. package/package.json +4 -3
  63. package/scripts/adapters/pi.sh +4 -1
  64. package/scripts/check-skill-links.py +78 -0
  65. package/scripts/generate-allure-report.sh +146 -0
  66. package/scripts/generate-reference-tables.sh +2 -1
  67. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  68. package/scripts/lib/link_utils.py +49 -0
  69. package/scripts/lib/srp-engine.py +86 -1
  70. package/scripts/record-cycle-time.sh +28 -0
  71. package/scripts/sync-status-from-epics.sh +247 -24
  72. package/scripts/validate-skill-catalog.sh +1 -1
  73. package/skills/audit-code/SKILL.md +1 -1
  74. package/skills/build-epic/SKILL.md +10 -0
  75. package/skills/craft-skill/SKILL.md +2 -2
  76. package/skills/elaborate-spec/SKILL.md +1 -1
  77. package/skills/evolve-skill/REFERENCE.md +1 -1
  78. package/skills/generate-allure-report/REFERENCE.md +243 -0
  79. package/skills/generate-allure-report/SKILL.md +40 -0
  80. package/skills/grill-me/REFERENCE.md +1 -1
  81. package/skills/guard-git/SKILL.md +1 -1
  82. package/skills/harden-vps/REFERENCE.md +179 -0
  83. package/skills/harden-vps/SKILL.md +107 -0
  84. package/skills/investigate-bug/SKILL.md +2 -2
  85. package/skills/model-domain/CONTEXT-FORMAT.md +3 -3
  86. package/skills/plan-refactor/SKILL.md +2 -2
  87. package/skills/plan-release/SKILL.md +5 -10
  88. package/skills/plan-work/REFERENCE.md +13 -0
  89. package/skills/plan-work/SKILL.md +1 -1
  90. package/skills/using-bigpowers/SKILL.md +1 -1
  91. package/skills/write-document/REFERENCE.md +2 -2
  92. package/skills-lock.json +20 -10
  93. package/tests/test_srp_engine.py +148 -0
@@ -56,13 +56,13 @@ If none found: ask the user which framework before proceeding.
56
56
 
57
57
  List every artifact found matching the detected framework. Present the list to the user:
58
58
 
59
- See [REFERENCE.md](REFERENCE.md) — `Detected: GSD...`
59
+ See [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) — `Detected: GSD...`
60
60
 
61
61
  → verify: `find . -maxdepth 4 \( -name "ROADMAP.md" -o -name "spec.md" -o -name "prd.md" -o -name "REQUIREMENTS.md" \) 2>/dev/null | grep -v ".git" | head -15`
62
62
 
63
63
  ### Step 3 — Transform (one artifact at a time, show diffs)
64
64
 
65
- Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./REFERENCE-GSD.md). For each target file:
65
+ Apply the mapping from [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) and [REFERENCE-GSD.md](../../../skills/migrate-spec/REFERENCE-GSD.md). For each target file:
66
66
 
67
67
  1. Show what will be created or appended (title + first 20 lines).
68
68
  2. Ask: "Create this? [yes / edit / skip]"
@@ -72,25 +72,25 @@ Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./R
72
72
 
73
73
  When source artifacts contain IDs (REQ-XX, FR-XX, UJ-XX), emit them as **first-class YAML fields** in `in_scope` entries, not YAML comments:
74
74
 
75
- See [REFERENCE.md](REFERENCE.md) — `# CORRECT — first-class id: field...`
75
+ See [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) — `# CORRECT — first-class id: field...`
76
76
 
77
77
  **When source has no IDs:** Prompt the user: "No IDs found. Assign auto-generated IDs? [yes / no]". If yes, emit `REQ-{NNN}` with `# auto-generated` annotation.
78
78
 
79
79
  **When source has MIXED IDs:** Items with IDs get `id:` fields; items without IDs receive auto-generated `REQ-NNN` entries. Document which were auto-generated in a comment block at the top of `in_scope`.
80
80
 
81
- See [REFERENCE.md — in_scope format with ID tracking](./REFERENCE.md#in_scope-format-with-id-tracking) for examples.
81
+ See [REFERENCE.md — in_scope format with ID tracking](../../../skills/migrate-spec/REFERENCE.md#in_scope-format-with-id-tracking) for examples.
82
82
 
83
83
  #### Traceability Output (FR-XX, UJ-XX)
84
84
 
85
85
  When source has FR-XX or UJ-XX IDs, emit `specs/product/REQUIREMENTS_TRACE.yaml` for end-to-end requirement traceability:
86
86
 
87
- See [REFERENCE.md](REFERENCE.md) — `trace:...`
87
+ See [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) — `trace:...`
88
88
 
89
89
  **Existing trace file:** If `REQUIREMENTS_TRACE.yaml` already exists, prompt: "REQUIREMENTS_TRACE.yaml exists. [overwrite / merge / skip]"
90
90
 
91
91
  **No FR-XX/UJ-XX found:** Skip trace file; add note to state.yaml handoff: "No FR-XX/UJ-XX IDs found — traceability file skipped".
92
92
 
93
- See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](./REFERENCE.md#requirements_traceyaml-format) for the complete schema.
93
+ See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](../../../skills/migrate-spec/REFERENCE.md#requirements_traceyaml-format) for the complete schema.
94
94
 
95
95
  > **HARD GATE** — Never overwrite an existing `specs/` file without explicit user confirmation. Merge into it if it exists; don't clobber.
96
96
  >
@@ -102,11 +102,11 @@ See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](./REFERENCE.md#requirement
102
102
 
103
103
  Always regenerate `specs/state.yaml` from scratch in bigpowers YAML format (see REFERENCE.md for template). The **handoff block is mandatory** and must include all four fields:
104
104
 
105
- See [REFERENCE.md](REFERENCE.md) — `active_flow: null...`
105
+ See [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) — `active_flow: null...`
106
106
 
107
107
  If no open decisions were found during migration, the `open_decisions` list may be empty with an explanatory comment:
108
108
 
109
- See [REFERENCE.md](REFERENCE.md) — `handoff:...`
109
+ See [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) — `handoff:...`
110
110
 
111
111
  → verify: `grep -q 'handoff:' specs/state.yaml && grep -q 'last_step_completed' specs/state.yaml && echo "ok" || echo "MISSING or INCOMPLETE: handoff block"`
112
112
 
@@ -116,7 +116,7 @@ See [REFERENCE.md](REFERENCE.md) — `handoff:...`
116
116
 
117
117
  Full artifact transformation rules for migrating GSD projects to bigpowers YAML layout.
118
118
 
119
- See [REFERENCE.md](./REFERENCE.md) for spec-kit, BMAD, learnings, and ADR/DECISION-LOG formats.
119
+ See [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) for spec-kit, BMAD, learnings, and ADR/DECISION-LOG formats.
120
120
 
121
121
  ---
122
122
 
@@ -162,7 +162,7 @@ Transform:
162
162
  GSD REQUIREMENTS has: REQ-XX IDs, Validated/Active/Out-of-Scope categories, traceability.
163
163
 
164
164
  Transform:
165
- - Preserve REQ-XX IDs as **first-class `id:` fields** in `in_scope` entries (see [REFERENCE.md — ID tracking format](./REFERENCE.md#in_scope-format-with-id-tracking))
165
+ - Preserve REQ-XX IDs as **first-class `id:` fields** in `in_scope` entries (see [REFERENCE.md — ID tracking format](../../../skills/migrate-spec/REFERENCE.md#in_scope-format-with-id-tracking))
166
166
  - Validated requirements → `in_scope` entries with `id:`, `description:`, `source:` fields
167
167
  - Out-of-Scope → `out_of_scope` entries (preserve IDs if present)
168
168
  - Active (in-progress) → `in_scope` with status note
@@ -264,7 +264,7 @@ These GSD artifacts are not migrated — they are execution records, not plannin
264
264
 
265
265
  Transformation rules for spec-kit and BMAD projects, plus learnings to adopt and output formats.
266
266
 
267
- See [REFERENCE-GSD.md](./REFERENCE-GSD.md) for full GSD → bigpowers YAML mapping.
267
+ See [REFERENCE-GSD.md](../../../skills/migrate-spec/REFERENCE-GSD.md) for full GSD → bigpowers YAML mapping.
268
268
 
269
269
  ---
270
270
 
@@ -776,7 +776,7 @@ If **no**, skip. Add note to handoff: "Methodology doc: skipped — can be added
776
776
 
777
777
  ## Artifact Mapping Summary
778
778
 
779
- Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.md](./REFERENCE.md) (spec-kit, BMAD, learnings).
779
+ Full mapping tables: [REFERENCE-GSD.md](../../../skills/migrate-spec/REFERENCE-GSD.md) (GSD) · [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md) (spec-kit, BMAD, learnings).
780
780
 
781
781
  | Source | Target |
782
782
  |--------|--------|
@@ -814,7 +814,7 @@ Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.
814
814
 
815
815
  After migration, offer the user a brief analysis of what the source framework did that bigpowers doesn't have yet.
816
816
 
817
- Use the learnings table from [REFERENCE.md](./REFERENCE.md#learnings-to-adopt). Present as checkboxes so the user can decide which to adopt.
817
+ Use the learnings table from [REFERENCE.md](../../../skills/migrate-spec/REFERENCE.md#learnings-to-adopt). Present as checkboxes so the user can decide which to adopt.
818
818
 
819
819
  → verify: `grep -c "\- \[ \]" specs/state.yaml 2>/dev/null && echo "pending items recorded" || echo "no pending items in state.yaml"`
820
820
 
@@ -74,7 +74,7 @@ When the user states how something works, check whether the code agrees. If you
74
74
 
75
75
  ### Update specs/tech-architecture/tech-stack.md inline
76
76
 
77
- When a term is resolved, update `specs/tech-architecture/tech-stack.md` right there. Don't batch these up — capture them as they happen. Use the format in [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md).
77
+ When a term is resolved, update `specs/tech-architecture/tech-stack.md` right there. Don't batch these up — capture them as they happen. Use the format in [CONTEXT-FORMAT.md](../../../skills/model-domain/CONTEXT-FORMAT.md).
78
78
 
79
79
  Don't couple `specs/tech-architecture/tech-stack.md` to implementation details. Only include terms that are meaningful to domain experts.
80
80
 
@@ -86,7 +86,7 @@ Only offer to create an ADR when all three are true:
86
86
  2. **Surprising without context** — a future reader will wonder "why did they do it this way?"
87
87
  3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons
88
88
 
89
- If any of the three is missing, skip the ADR. Use the format in [ADR-FORMAT.md](./ADR-FORMAT.md).
89
+ If any of the three is missing, skip the ADR. Use the format in [ADR-FORMAT.md](../../../skills/model-domain/ADR-FORMAT.md).
90
90
 
91
91
  ## Concurrency safety audit
92
92
 
@@ -212,9 +212,9 @@ _Avoid_: Client, buyer, account
212
212
 
213
213
  ## Contexts
214
214
 
215
- - [Ordering](./src/ordering/CONTEXT.md) — receives and tracks customer orders
216
- - [Billing](./src/billing/CONTEXT.md) — generates invoices and processes payments
217
- - [Fulfillment](./src/fulfillment/CONTEXT.md) — manages warehouse picking and shipping
215
+ - Ordering — `src/ordering/CONTEXT.md` — receives and tracks customer orders
216
+ - Billing — `src/billing/CONTEXT.md` — generates invoices and processes payments
217
+ - Fulfillment — `src/fulfillment/CONTEXT.md` — manages warehouse picking and shipping
218
218
 
219
219
  ## Relationships
220
220
 
@@ -40,7 +40,7 @@ Track progress via `specs/state.yaml` `project_cycle`:
40
40
  - `handoff.next_skill`: skill for the current phase
41
41
  - On resume, read `project_cycle.current_phase` and continue from there
42
42
 
43
- See [REFERENCE.md](REFERENCE.md) for detailed phase specifications and gate types.
43
+ See [REFERENCE.md](../../../skills/orchestrate-project/REFERENCE.md) for detailed phase specifications and gate types.
44
44
 
45
45
  ## How Orchestrate Works
46
46
 
@@ -58,7 +58,7 @@ See [REFERENCE.md](REFERENCE.md) for detailed phase specifications and gate type
58
58
  - **Fast-Track**: Skip negotiable gates. Use for hotfixes and minor improvements.
59
59
  - **Ad-Hoc**: Warnings only. Use for prototyping and spikes (non-production).
60
60
 
61
- See [REFERENCE.md](REFERENCE.md) for full mode behaviors.
61
+ See [REFERENCE.md](../../../skills/orchestrate-project/REFERENCE.md) for full mode behaviors.
62
62
 
63
63
  ## Verification
64
64
 
@@ -74,7 +74,7 @@ Do this when the repo is under Git and the cleanup surfaced **untracked** noise:
74
74
  4. **User must approve** the exact diff before editing the file.
75
75
  5. **Verify**: run `git check-ignore -v <path>` on 2–3 representative paths.
76
76
 
77
- See [REFERENCE.md](REFERENCE.md) for shell patterns, `.gitignore` mechanics, and safety checks.
77
+ See [REFERENCE.md](../../../skills/organize-workspace/REFERENCE.md) for shell patterns, `.gitignore` mechanics, and safety checks.
78
78
 
79
79
 
80
80
 
@@ -81,7 +81,7 @@ After writing `specs/REFACTOR_LATEST.md`, suggest running `kickoff-branch` next
81
81
 
82
82
  <!-- story: e35s10 -->
83
83
 
84
- - [Fowler's Refactoring Catalog](../../docs/references/fowler.md) — canonical refactoring vocabulary and code-smell taxonomy
85
- - [Beck's Tidy First?](../../docs/references/kent-beck.md) — structural change before behavioral change
84
+ - [Fowler's Refactoring Catalog](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/fowler.md) — canonical refactoring vocabulary and code-smell taxonomy
85
+ - [Beck's Tidy First?](https://github.com/danielvm-git/bigpowers/blob/main/docs/references/kent-beck.md) — structural change before behavioral change
86
86
 
87
87
  ## Verify
@@ -17,7 +17,7 @@ Synthesize the conversation context into `specs/release-plan.yaml` (index) and s
17
17
  |------|---------|
18
18
  | `specs/release-plan.yaml` | `release.version`, semver bump hint, WSJF-ordered epic list with `id`, `capsule_dir`, `wsjf`, `bcps` — **no story status** |
19
19
  | `specs/epics/eNN-<slug>/epic.yaml` | Epic manifest: `id`, `title`, `wsjf`, `total_bcps`, `status`, `stories[]` list |
20
- | `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 |
20
+ | `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 |
21
21
  | `specs/epics/eNN-<slug>/eNNsYY-tasks.yaml` | Decoupled task checklist with `verify:` commands per task |
22
22
  | `specs/execution-status.yaml` | Flat key-value store for story status (`eNNsYY: todo`) |
23
23
 
@@ -38,7 +38,6 @@ specs/epics/e01-auth-system/
38
38
  **Rationale:** Capsule dirs achieve change isolation (C9), enable archive pruning (C2/C6), and enforce SRP by decoupling spec `.md` from execution `-tasks.yaml` (C1).
39
39
 
40
40
  ## Process
41
-
42
41
  ### 1. Draft epics and stories
43
42
 
44
43
  From the conversation context, define:
@@ -48,15 +47,12 @@ From the conversation context, define:
48
47
  WSJF-sort epics: score = (Business Value + Time Criticality + Risk Reduction) / Job Size. Highest score first.
49
48
 
50
49
  > **Security risk boost:** If an epic's `specs/security/epics/<id>/THREAT_MODEL.md` identifies HIGH or CRITICAL risk, add +2 to the WSJF numerator (BV + TC + RR + 2) to reflect the urgency of addressing security concerns before they ship. Document the boost in the epic's note field in release-plan.yaml.
51
-
52
50
  ### 2. Write acceptance criteria (Gherkin)
53
51
 
54
52
  For each story, write at least one happy-path and one edge-case scenario (countable format §17 if maturity ≥ 3).
55
-
56
53
  ### 3. Write tasks with verify commands
57
54
 
58
55
  Every task must have a `verify:` command. No verify command = not a task.
59
-
60
56
  ### 4. Save specs/release-plan.yaml
61
57
 
62
58
  > **Do NOT hand-track the real version.** semantic-release decides it at merge. `version` here is a
@@ -80,7 +76,6 @@ epics:
80
76
  wsjf: 3.8
81
77
  capsule_dir: epics/e02-user-profile
82
78
  ```
83
-
84
79
  ### 5. Save epic manifest (`epic.yaml`)
85
80
 
86
81
  Each epic capsule directory contains an `epic.yaml` manifest:
@@ -105,11 +100,9 @@ stories:
105
100
  spec: e01s02-jwt.md
106
101
  tasks: e01s02-tasks.yaml
107
102
  ```
108
-
109
103
  ### 6. Save story specs (countable-story-format .md)
110
104
 
111
- 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.
112
-
105
+ 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.
113
106
  ### 7. Save decoupled task files (`-tasks.yaml`)
114
107
 
115
108
  Each story has a decoupled `-tasks.yaml` with implementation steps:
@@ -133,6 +126,9 @@ tasks:
133
126
  > **HARD GATE** — Every task MUST have a runnable `verify:` command. No `verify:` = not a task.
134
127
 
135
128
  → verify: `bash scripts/validate-specs-yaml.sh`
129
+ ### 7b. Generate bug registry summary
130
+
131
+ Read `specs/bugs/registry.yaml` and add a `bugs:` section to `release-plan.yaml` with totals by status (`fixed`, `deferred`, `wontfix`, `open`): `bugs: { total: N, fixed: N, deferred: N, wontfix: N, registry: specs/bugs/registry.yaml }`.
136
132
 
137
133
  ### 8. Sync execution status
138
134
 
@@ -142,7 +138,6 @@ bash scripts/sync-status-from-epics.sh
142
138
  ### 9. Snapshot on planning close (optional)
143
139
 
144
140
  Copy to `specs/product/snapshots/release-<version>/` when the user approves the plan.
145
-
146
141
  ### 10. Suggest next steps
147
142
 
148
143
  - Run `assess-impact` before `plan-work` for any story touching existing modules.
@@ -45,7 +45,7 @@ If this plan touches an existing module, run `assess-impact` first to understand
45
45
 
46
46
  2. **Draft steps** — Break implementation into the smallest possible steps where each step leaves the codebase working, has one observable outcome, and can be verified with a single command. Red-flag check: name any rationalization you caught before moving to step 3.
47
47
 
48
- 3. **Write capsule story spec + tasks** — Output two files inside the active epic capsule. See [REFERENCE.md](REFERENCE.md) for file formats and the plan-template. Each task MUST include a `risk:` field (`P0` | `P1` | `P2` | `P3`) based on BCP + story type heuristics (see REFERENCE.md). If a test plan artifact (`specs/tech-architecture/eNN-TEST_PLAN_LATEST.md`) exists, read it and inherit its P0/P1 risk classifications and scenario IDs (`SC-eNNsYY-P0-NN`). Each task optionally includes a `security:` field (`none` / `low` / `medium` / `high`) sourced from the epic's `specs/security/epics/<id>/THREAT_MODEL.md`. Tasks with `security: medium` or `security: high` MUST include "no new security findings in affected paths" in their verify steps.
48
+ 3. **Write capsule story spec + tasks** — Output two files inside the active epic capsule. See [REFERENCE.md](../../../skills/plan-work/REFERENCE.md) for file formats and the plan-template. Each task MUST include a `risk:` field (`P0` | `P1` | `P2` | `P3`) based on BCP + story type heuristics (see REFERENCE.md). If a test plan artifact (`specs/tech-architecture/eNN-TEST_PLAN_LATEST.md`) exists, read it and inherit its P0/P1 risk classifications and scenario IDs (`SC-eNNsYY-P0-NN`). Each task optionally includes a `security:` field (`none` / `low` / `medium` / `high`) sourced from the epic's `specs/security/epics/<id>/THREAT_MODEL.md`. Tasks with `security: medium` or `security: high` MUST include "no new security findings in affected paths" in their verify steps. Each task should also include an `allure:` block to drive test reporting: `severity:` maps risk to Allure severity (`P0→critical`, `P1→high`, `P2→normal`, `P3→minor`), and `categories:` is a list of relevant tags like `"Security Review"`, wave names, or test categories (see REFERENCE.md for the full template).
49
49
 
50
50
  **Requirement delta tags (e45s29):** When a story modifies existing behavior, the story spec § Requirements MUST use OpenSpec-style delta tags with mandatory before/after content:
51
51
 
@@ -58,7 +58,7 @@ If this plan touches an existing module, run `assess-impact` first to understand
58
58
 
59
59
  Net-new stories (greenfield) use `ADDED` only. `MODIFIED`/`REMOVED`/`RENAMED` without before/after blocks fail the plan-work gate.
60
60
 
61
- 4. **Verify step format** — Every step MUST follow: `N. <What to do> → verify: <runnable command>`. See [REFERENCE.md](REFERENCE.md) for good/bad examples.
61
+ 4. **Verify step format** — Every step MUST follow: `N. <What to do> → verify: <runnable command>`. See [REFERENCE.md](../../../skills/plan-work/REFERENCE.md) for good/bad examples.
62
62
 
63
63
  4a. **Cross-artifact consistency pass (HARD GATE — e45s04)** — Before handoff, run:
64
64
 
@@ -133,8 +133,21 @@ tasks:
133
133
  verify: "npm test -- login-form.test.tsx"
134
134
  risk: P1
135
135
  status: failing # flip to passing only after verify exits 0 (e45s06)
136
+ allure:
137
+ severity: high # P0→critical, P1→high, P2→normal, P3→minor
138
+ categories:
139
+ - "Auth"
140
+ - "Security Review"
136
141
  ```
137
142
 
143
+ **Allure severity mapping:**
144
+ - `P0` → `critical`
145
+ - `P1` → `high`
146
+ - `P2` → `normal`
147
+ - `P3` → `minor`
148
+
149
+ `categories` is a list of relevant tags — wave names, test categories (e.g. `"unit"`, `"integration"`), or thematic groupings (e.g. `"Security Review"`).
150
+
138
151
  Update `specs/epics/<capsule>/epic.yaml` manifest to list the story and its BCPs. Run `bash scripts/sync-status-from-epics.sh` after structural changes.
139
152
 
140
153
  ## Plan template
@@ -33,41 +33,41 @@ If no manifest is found, prompt the user to specify the type or pass `--type <np
33
33
  Before attempting any publish, run all applicable checks:
34
34
 
35
35
  **npm (`package.json`):**
36
- See [REFERENCE.md](REFERENCE.md)
36
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
37
37
 
38
38
  **crates.io (`Cargo.toml`):**
39
- See [REFERENCE.md](REFERENCE.md)
39
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
40
40
 
41
41
  **PyPI (`setup.py` / `pyproject.toml`):**
42
- See [REFERENCE.md](REFERENCE.md)
42
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
43
43
 
44
44
  ### 3. Run publish
45
45
 
46
46
  After all prerequisite checks pass, run the registry-specific command:
47
47
 
48
- See [REFERENCE.md](REFERENCE.md)
48
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
49
49
 
50
50
  ### 4. Verify publish success
51
51
 
52
52
  After publish, confirm the version appears on the registry:
53
53
 
54
- See [REFERENCE.md](REFERENCE.md)
54
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
55
55
 
56
56
  ### 5. Error handling
57
57
 
58
58
  On failure, surface actionable hints:
59
59
 
60
- See [REFERENCE.md](REFERENCE.md)
60
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
61
61
 
62
62
  ### 6. Dry-run mode (`--dry-run`)
63
63
 
64
64
  Run `--dry-run` to verify all prerequisites without actually publishing:
65
65
 
66
- See [REFERENCE.md](REFERENCE.md)
66
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
67
67
 
68
68
  ### 7. Dry-run mode per registry
69
69
 
70
- See [REFERENCE.md](REFERENCE.md)
70
+ See [REFERENCE.md](../../../skills/publish-package/REFERENCE.md)
71
71
 
72
72
  ## Verify
73
73
 
@@ -120,7 +120,7 @@ mv specs/epics/eNN-slug specs/epics/archive/
120
120
 
121
121
  ### 7b. CI verification & agent lock release (e39s02)
122
122
 
123
- > **HARD GATE** — Do NOT declare success until CI completes. **Three-independent-facts** (e45s15): commit landed, workflow green, registry visible — see [REFERENCE.md](REFERENCE.md#three-independent-facts-release).
123
+ > **HARD GATE** — Do NOT declare success until CI completes. **Three-independent-facts** (e45s15): commit landed, workflow green, registry visible — see [REFERENCE.md](../../../skills/release-branch/REFERENCE.md#three-independent-facts-release).
124
124
 
125
125
  ```bash
126
126
  bash scripts/wait-for-ci.sh --timeout 600 --interval 30
@@ -131,7 +131,7 @@ bash scripts/wait-for-ci.sh --timeout 600 --interval 30
131
131
 
132
132
  ### 8. Clean up & return
133
133
 
134
- Worktree prune, branch delete, `git checkout main`. Cycle-time: see [REFERENCE.md](REFERENCE.md#cycle-time).
134
+ Worktree prune, branch delete, `git checkout main`. Cycle-time: see [REFERENCE.md](../../../skills/release-branch/REFERENCE.md#cycle-time).
135
135
 
136
136
  Report: "Branch released."
137
137
 
@@ -52,7 +52,7 @@ If opensrc is not installed or the package is not cached, fall through to web do
52
52
 
53
53
  → verify: `grep -c "Prior Art" specs/product/SCOPE_LATEST.yaml specs/release-plan.yaml + epic shards 2>/dev/null | awk '{s+=$1} END {if(s>0) print "OK"; else print "MISSING"}'`
54
54
 
55
- See [REFERENCE.md](REFERENCE.md) for search commands and registry checklist.
55
+ See [REFERENCE.md](../../../skills/research-first/REFERENCE.md) for search commands and registry checklist.
56
56
 
57
57
  ---
58
58
 
@@ -30,7 +30,7 @@ description: "Eval-Driven Development — define capability and regression evals
30
30
 
31
31
  ## Artefact
32
32
 
33
- `specs/verifications/eNNsYY-eval-report.md` — see [REFERENCE.md](REFERENCE.md) for template. Eval reports are stored alongside verification evidence in `specs/verifications/`, keyed by story ID for traceability.
33
+ `specs/verifications/eNNsYY-eval-report.md` — see [REFERENCE.md](../../../skills/run-evals/REFERENCE.md) for template. Eval reports are stored alongside verification evidence in `specs/verifications/`, keyed by story ID for traceability.
34
34
 
35
35
  ## Verify
36
36
 
@@ -103,9 +103,9 @@ Each finding: **`File:Line` — Severity — Category**
103
103
 
104
104
  ## Reference files
105
105
 
106
- - [Vuln categories](REFERENCE-vuln-categories.md) — detection guidance per vuln type
107
- - [False positives](REFERENCE-false-positives.md) — hard exclusions + precedent
108
- - [Confidence rubric](REFERENCE-confidence-rubric.md) — scoring methodology (0–10)
106
+ - [Vuln categories](../../../skills/security-review/REFERENCE-vuln-categories.md) — detection guidance per vuln type
107
+ - [False positives](../../../skills/security-review/REFERENCE-false-positives.md) — hard exclusions + precedent
108
+ - [Confidence rubric](../../../skills/security-review/REFERENCE-confidence-rubric.md) — scoring methodology (0–10)
109
109
 
110
110
  ## Verify
111
111
 
@@ -37,11 +37,11 @@ Ask the user these questions (one at a time, wait for each answer):
37
37
  5. **Conventions** — "Any naming, file organization, or patterns all agents must follow?"
38
38
  6. **Never-do list** — "What are the hard stops? Things an agent must never touch?"
39
39
  7. **Defensive code categories** — "Which apply? (Rate limit / Retry / Circuit breaker / Timeout / Graceful degradation)"
40
- 8. **Local tool wiring (optional)** — "Wire bigpowers for project-local tools? (Cursor, OpenCode, Cline, Aider, Codex CLI)" If yes, generate AGENTS.md spine artifacts per [REFERENCE.md](REFERENCE.md) §Local tool wiring and §AGENTS.md spine. If no, skip — standard seed output unchanged (no AGENTS.md spine unless opted in).
40
+ 8. **Local tool wiring (optional)** — "Wire bigpowers for project-local tools? (Cursor, OpenCode, Cline, Aider, Codex CLI)" If yes, generate AGENTS.md spine artifacts per [REFERENCE.md](../../../skills/seed-conventions/REFERENCE.md) §Local tool wiring and §AGENTS.md spine. If no, skip — standard seed output unchanged (no AGENTS.md spine unless opted in).
41
41
 
42
42
  ## Generate files
43
43
 
44
- After the interview, generate each file using the templates in [REFERENCE.md](REFERENCE.md):
44
+ After the interview, generate each file using the templates in [REFERENCE.md](../../../skills/seed-conventions/REFERENCE.md):
45
45
  - `AGENTS.md` — from `docs/templates/AGENTS.md` Reach Template (canonical spine source)
46
46
  - `CLAUDE.md` — symlink to `AGENTS.md` (copy fallback on Windows when symlink fails)
47
47
  - `GEMINI.md` — symlink to `AGENTS.md` when Gemini wiring opted in
@@ -81,7 +81,7 @@ Skills that write into `CLAUDE.md` or `AGENTS.md` MUST use **fenced HTML comment
81
81
 
82
82
  **Merge rule:** On update, replace only the content *between* matching `BEGIN`/`END` pairs. If a marker pair is missing, append a new fenced block at the end of the file — never rewrite the whole file.
83
83
 
84
- **Standard marker IDs** for seeded projects (see [REFERENCE.md](REFERENCE.md) § Fenced markers):
84
+ **Standard marker IDs** for seeded projects (see [REFERENCE.md](../../../skills/seed-conventions/REFERENCE.md) § Fenced markers):
85
85
 
86
86
  | Marker ID | Owner skill | Purpose |
87
87
  |-----------|-------------|---------|
@@ -21,7 +21,7 @@ Can be run standalone for quick health checks or chained as the final step of th
21
21
 
22
22
  Smoke checks are defined in `smoke-checks.yaml` at the project root:
23
23
 
24
- See [REFERENCE.md](REFERENCE.md)
24
+ See [REFERENCE.md](../../../skills/smoke-test/REFERENCE.md)
25
25
 
26
26
  Checks can also be specified inline via environment variables or CLI arguments for ad-hoc use.
27
27
 
@@ -40,21 +40,21 @@ Checks can also be specified inline via environment variables or CLI arguments f
40
40
 
41
41
  ### 1. Load smoke checks
42
42
 
43
- See [REFERENCE.md](REFERENCE.md)
43
+ See [REFERENCE.md](../../../skills/smoke-test/REFERENCE.md)
44
44
 
45
45
  ### 2. Run each check
46
46
 
47
47
  For each check in the configuration, perform an HTTP request:
48
48
 
49
- See [REFERENCE.md](REFERENCE.md)
49
+ See [REFERENCE.md](../../../skills/smoke-test/REFERENCE.md)
50
50
 
51
51
  ### 3. Assert results
52
52
 
53
- See [REFERENCE.md](REFERENCE.md)
53
+ See [REFERENCE.md](../../../skills/smoke-test/REFERENCE.md)
54
54
 
55
55
  ### 4. Generate report
56
56
 
57
- See [REFERENCE.md](REFERENCE.md)
57
+ See [REFERENCE.md](../../../skills/smoke-test/REFERENCE.md)
58
58
 
59
59
  ## Integration with deploy skill
60
60
 
@@ -58,7 +58,7 @@ Timing data is populated by `scripts/bp-timing.sh start|end <skill>` calls withi
58
58
 
59
59
  → verify: `test -f specs/STOCKTAKE-*.md && bash scripts/validate-skill-catalog.sh && echo OK || echo MISSING`
60
60
 
61
- See [REFERENCE.md](REFERENCE.md) for checklist.
61
+ See [REFERENCE.md](../../../skills/stocktake-skills/REFERENCE.md) for checklist.
62
62
 
63
63
  ---
64
64
 
@@ -77,7 +77,7 @@ UTILITY terse-mode / craft-skill / edit-document (any phase)
77
77
 
78
78
  If you work alone and do not want PR ceremony every task:
79
79
 
80
- 1. Read [profiles/solo-git.md](../profiles/solo-git.md).
80
+ 1. Read [profiles/solo-git.md](../../../profiles/solo-git.md).
81
81
  2. Register with `compose-workflow` → `specs/WORKFLOW-solo-git.md`.
82
82
  3. Ship with `release-branch` in **solo-local** mode (`land-branch.sh`), not `gh pr create`.
83
83
 
@@ -28,13 +28,13 @@ Three modes of validation:
28
28
 
29
29
  All contract files live in `specs/contracts/` and use YAML:
30
30
 
31
- See [REFERENCE.md](REFERENCE.md) for examples.
31
+ See [REFERENCE.md](../../../skills/validate-contracts/REFERENCE.md) for examples.
32
32
 
33
33
  ### 1. API Response Contracts (`--schema`)
34
34
 
35
35
  Define expected API response shapes and validate live endpoints against them:
36
36
 
37
- See [REFERENCE.md](REFERENCE.md) for examples.
37
+ See [REFERENCE.md](../../../skills/validate-contracts/REFERENCE.md) for examples.
38
38
 
39
39
  Usage:
40
40
 
@@ -48,21 +48,21 @@ validate-contracts --schema specs/contracts/users.schema.yaml --url https://api.
48
48
 
49
49
  Assert that two data sources share a consistent set of keys:
50
50
 
51
- See [REFERENCE.md](REFERENCE.md) for examples.
51
+ See [REFERENCE.md](../../../skills/validate-contracts/REFERENCE.md) for examples.
52
52
 
53
53
  Usage:
54
54
 
55
- See [REFERENCE.md](REFERENCE.md) for examples.
55
+ See [REFERENCE.md](../../../skills/validate-contracts/REFERENCE.md) for examples.
56
56
 
57
57
  ### 3. Data Shape Contracts (`--shape`)
58
58
 
59
59
  Validate that a data file matches expected column types and constraints:
60
60
 
61
- See [REFERENCE.md](REFERENCE.md) for examples.
61
+ See [REFERENCE.md](../../../skills/validate-contracts/REFERENCE.md) for examples.
62
62
 
63
63
  Usage:
64
64
 
65
- See [REFERENCE.md](REFERENCE.md) for examples.
65
+ See [REFERENCE.md](../../../skills/validate-contracts/REFERENCE.md) for examples.
66
66
 
67
67
  ## Process
68
68
 
@@ -137,7 +137,7 @@ for p in specs/conventions-wiki/*.md; do [ "$(basename "$p")" = "index.md" ]&&co
137
137
 
138
138
  ## --cli mode
139
139
 
140
- CLI tools: use `--cli` when no server process. Binary detect + checklist: [REFERENCE.md](REFERENCE.md#cli-mode).
140
+ CLI tools: use `--cli` when no server process. Binary detect + checklist: [REFERENCE.md](../../../skills/verify-work/REFERENCE.md#cli-mode).
141
141
 
142
142
  ## Verify
143
143
 
@@ -42,25 +42,25 @@ If no manifest is found, prompt the user to specify the type or pass `--type <ru
42
42
  Create `.github/workflows/ci.yaml` with standard steps derived from the project type and its manifest:
43
43
 
44
44
  **Rust template (`Cargo.toml`):**
45
- See [REFERENCE.md](REFERENCE.md)
45
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
46
46
 
47
47
  **Node template (`package.json`):**
48
- See [REFERENCE.md](REFERENCE.md)
48
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
49
49
 
50
50
  **Python template (`setup.py` / `pyproject.toml`):**
51
- See [REFERENCE.md](REFERENCE.md)
51
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
52
52
 
53
53
  **Go template (`go.mod`):**
54
- See [REFERENCE.md](REFERENCE.md)
54
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
55
55
 
56
56
  **C/C++ template (`CMakeLists.txt`):**
57
- See [REFERENCE.md](REFERENCE.md)
57
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
58
58
 
59
59
  ### 3. Generate release workflow (if semantic-release detected)
60
60
 
61
61
  If the project has semantic-release configured (in `package.json`, `.releaserc`, or `release.config.js`), also generate `.github/workflows/release.yaml`:
62
62
 
63
- See [REFERENCE.md](REFERENCE.md)
63
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
64
64
 
65
65
  > **NPM_TOKEN is required** for publishing to npm. Without it, semantic-release will fail at the publish step. See `--validate` to check this.
66
66
 
@@ -68,7 +68,7 @@ See [REFERENCE.md](REFERENCE.md)
68
68
 
69
69
  Run `wire-ci --validate` to check all generated workflow files:
70
70
 
71
- See [REFERENCE.md](REFERENCE.md)
71
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
72
72
 
73
73
  **Exit codes:**
74
74
  - `0` — all checks pass (no errors)
@@ -79,7 +79,7 @@ See [REFERENCE.md](REFERENCE.md)
79
79
 
80
80
  Attempt to run the generated workflows locally to catch errors before push:
81
81
 
82
- See [REFERENCE.md](REFERENCE.md)
82
+ See [REFERENCE.md](../../../skills/wire-ci/REFERENCE.md)
83
83
 
84
84
  > **act** runs workflows in a local Docker environment — the most accurate pre-push validation.
85
85
  > **gh workflow run** sends the workflow to GitHub but doesn't execute locally — useful for checking YAML parsing but not for testing the actual steps.
@@ -46,7 +46,7 @@ Write the document focusing on "Expert Collaboration":
46
46
  ### Quick README (Project READMEs only)
47
47
 
48
48
  1. Ask: "Project name? One-sentence description?"
49
- 2. Generate `README.md` at project root using the template in [REFERENCE.md](REFERENCE.md) — no TOC, no second interview round.
49
+ 2. Generate `README.md` at project root using the template in [REFERENCE.md](../../../skills/write-document/REFERENCE.md) — no TOC, no second interview round.
50
50
  3. Fill gaps from `CLAUDE.md` commands if available; use `TODO` markers otherwise.
51
51
  4. Output and suggest `edit-document` for polish.
52
52
 
@@ -220,7 +220,7 @@ Auto-fill from CLAUDE.md `Test` and `Lint` commands.
220
220
  ```markdown
221
221
  ## Changelog
222
222
 
223
- See [CHANGELOG.md](CHANGELOG.md) or [Releases](https://github.com/user/repo/releases).
223
+ See [CHANGELOG.md](../../CHANGELOG.md) or [Releases](https://github.com/user/repo/releases).
224
224
  ```
225
225
 
226
226
  ### 13. Links
@@ -237,7 +237,7 @@ See [CHANGELOG.md](CHANGELOG.md) or [Releases](https://github.com/user/repo/rele
237
237
  ```markdown
238
238
  ## License
239
239
 
240
- MIT — see [LICENSE](LICENSE) for details.
240
+ MIT — see [LICENSE](../../LICENSE) for details.
241
241
  ```
242
242
 
243
243
  Detect from CLAUDE.md or project LICENSE file.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [2.77.1](https://github.com/danielvm-git/bigpowers/compare/v2.77.0...v2.77.1) (2026-07-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **scripts:** address PR [#79](https://github.com/danielvm-git/bigpowers/issues/79) dual-blind review findings ([#80](https://github.com/danielvm-git/bigpowers/issues/80)) ([a03ada9](https://github.com/danielvm-git/bigpowers/commit/a03ada962b3c6ccb9721563664c5e424c145083b)), closes [#78](https://github.com/danielvm-git/bigpowers/issues/78) [#78](https://github.com/danielvm-git/bigpowers/issues/78)
7
+
8
+ # [2.77.0](https://github.com/danielvm-git/bigpowers/compare/v2.76.3...v2.77.0) (2026-07-13)
9
+
10
+
11
+ ### Features
12
+
13
+ * **e76:** enrich YAML metadata for Allure dashboards ([94c4417](https://github.com/danielvm-git/bigpowers/commit/94c4417cab844f86c794466ea38812b7e0b36a44))
14
+
1
15
  ## [2.76.3](https://github.com/danielvm-git/bigpowers/compare/v2.76.2...v2.76.3) (2026-07-11)
2
16
 
3
17
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
4
4
  ![npm version](https://img.shields.io/npm/v/bigpowers.svg)
5
- ![Skills](https://img.shields.io/badge/skills-77-brightgreen.svg)
5
+ ![Skills](https://img.shields.io/badge/skills-79-brightgreen.svg)
6
6
 
7
7
  **Agent skills synthesizing 17 years of software engineering discipline — from Clean Code to AI-native architecture — into a single, prescriptive methodology for solo developers.**
8
8