Windsurf rules
.windsurf/rules/plan-release.mdRELEASE-INDEX BUILDER — Sequence elaborated epics into specs/release-plan.yaml with WSJF ordering and BCP baselines. NOT a planning-spine substitute: it does not scope work (scope-work) or write story tasks (plan-work). Use after elaborate-spec when the user wants a versioned release index of epics.
Windsurf rules
Quality
74/100
Scores the file, not the repository.Length
752 words
15 headings · 5 code blocksRepository
114
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1234567# Plan Release89> **HARD GATE** — Do NOT run this skill unless `elaborate-spec` has produced a clear spec or the user has already defined the feature in detail. If the problem is still fuzzy, run `elaborate-spec` first.10> **HARD GATE** — `specs/product/SCOPE_LATEST.yaml` (or legacy `specs/product/SCOPE_LATEST.yaml`) must exist. If missing, run `scope-work` first.1112Synthesize the conversation context into `specs/release-plan.yaml` (index) and shard detail under `specs/epics/`. No new interview — only clarify if something is genuinely ambiguous.1314## Outputs1516| File | Content |17|------|---------|18| `specs/release-plan.yaml` | `release.version`, semver bump hint, WSJF-ordered epic list with `id`, `capsule_dir`, `wsjf`, `bcps` — **no story status** |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](../../docs/countable-story-format.md) with 20 sections and Gherkin acceptance criteria |21| `specs/epics/eNN-<slug>/eNNsYY-tasks.yaml` | Decoupled task checklist with `verify:` commands per task |22| `specs/execution-status.yaml` | Flat key-value store for story status (`eNNsYY: todo`) |2324## Epic Capsule Structure2526All epics use capsule directories (no flat/folder distinction):2728```29specs/epics/e01-auth-system/30├── epic.yaml # Epic manifest31├── adr/ # Epic-local ADRs (created lazily)32├── e01s01-login.md # Story spec (countable-story-format)33├── e01s01-tasks.yaml # Decoupled task checklist34├── e01s02-jwt.md # Story spec35└── e01s02-tasks.yaml # Decoupled task checklist36```3738**Rationale:** Capsule dirs achieve change isolation (C9), enable archive pruning (C2/C6), and enforce SRP by decoupling spec `.md` from execution `-tasks.yaml` (C1).3940## Process41### 1. Draft epics and stories4243From the conversation context, define:44- **Epics** — `e01`, `e02`, … (stable IDs; WSJF order in `release-plan.yaml` only)45- **Stories** — `e01s01`, `e01s02`, … with Gherkin acceptance criteria4647WSJF-sort epics: score = (Business Value + Time Criticality + Risk Reduction) / Job Size. Highest score first.4849> **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.50### 2. Write acceptance criteria (Gherkin)5152For each story, write at least one happy-path and one edge-case scenario (countable format §17 if maturity ≥ 3).53### 3. Write tasks with verify commands5455Every task must have a `verify:` command. No verify command = not a task.56### 4. Save specs/release-plan.yaml5758> **Do NOT hand-track the real version.** semantic-release decides it at merge. `version` here is a59> non-authoritative mirror/label only — read the real number with `gh release view`. Set `bump_hint`60> (the expectation), not a number you intend to enforce.6162```yaml63release:64 version: "2.29.0" # mirror of next expected tag, NOT authoritative — gh release view wins65 codename: "Feature Name"66 status: planning # planning | in_progress | released67 semantic_release: true68 bump_hint: minor # patch | minor | major — CI decides at merge69epics:70 - id: e0171 title: Auth System72 wsjf: 4.573 capsule_dir: epics/e01-auth-system74 - id: e0275 title: User Profile76 wsjf: 3.877 capsule_dir: epics/e02-user-profile78```79### 5. Save epic manifest (`epic.yaml`)8081Each epic capsule directory contains an `epic.yaml` manifest:8283```yaml84id: e0185title: Auth System86wsjf: 4.587total_bcps: 888status: in_progress89stories:90 - id: e01s0191 title: Login92 bcps: 393 status: todo94 spec: e01s01-login.md95 tasks: e01s01-tasks.yaml96 - id: e01s0297 title: JWT Token Management98 bcps: 599 status: todo100 spec: e01s02-jwt.md101 tasks: e01s02-tasks.yaml102```103### 6. Save story specs (countable-story-format .md)104105Each story becomes a standalone `.md` file following [countable-story-format.md](../../docs/countable-story-format.md). Minimum: maturity 3 (Countable) with all 20 sections present. Acceptance criteria in §17 use Gherkin scenarios.106### 7. Save decoupled task files (`-tasks.yaml`)107108Each story has a decoupled `-tasks.yaml` with implementation steps:109110```yaml111story_id: e01s01112title: Login113status: todo114bcps: 3115tasks:116 - id: 1117 description: "Add login form component tests"118 verify: "npm test -- login-form.test.tsx"119 status: todo120 - id: 2121 description: "Implement login form with validation"122 verify: "npm test -- login-form.test.tsx"123 status: todo124```125126> **HARD GATE** — Every task MUST have a runnable `verify:` command. No `verify:` = not a task.127128→ verify: `bash scripts/validate-specs-yaml.sh`129### 7b. Generate bug registry summary130131Read `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 }`.132133### 8. Sync execution status134135```bash136bash scripts/sync-status-from-epics.sh137```138### 9. Snapshot on planning close (optional)139140Copy to `specs/product/snapshots/release-<version>/` when the user approves the plan.141### 10. Suggest next steps142143- Run `assess-impact` before `plan-work` for any story touching existing modules.144- Run `plan-work` per story for detailed steps inside the epic shard.145- Run `change-request` if a new requirement arrives mid-flight.146
Also in danielvm-git/bigpowers
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| danielvm-git/bigpowers.cursor/rules/align-grid.mdc · 114 | Cursor rules | lint-formatdo-notagent-behaviour | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/assess-impact.mdc · 114 | Cursor rules | testtesting-strategydeployment | 66/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/audit-code.mdc · 114 | Cursor rules | setuptestlint-formatstyle+4 | 66/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/audit-plan.mdc · 114 | Cursor rules | buildteststylegit | 74/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/build-epic.mdc · 114 | Cursor rules | buildgit | 58/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/change-request.mdc · 114 | Cursor rules | no sections | 48/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/commit-message.mdc · 114 | Cursor rules | lint-formatstyletypesgit+3 | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/compose-workflow.mdc · 114 | Cursor rules | styledo-notagent-behaviour | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/context7-mcp.mdc · 114 | Cursor rules | style | 54/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/craft-skill.mdc · 114 | Cursor rules | stylearchgitdo-not | 69/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/deepen-architecture.mdc · 114 | Cursor rules | testtesting-strategydo-not | 57/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/define-language.mdc · 114 | Cursor rules | lint-formatdo-not | 65/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/define-success.mdc · 114 | Cursor rules | no sections | 4/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/delegate-task.mdc · 114 | Cursor rules | git | 62/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/deploy.mdc · 114 | Cursor rules | setupbuildtestdeployment | 77/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/design-interface.mdc · 114 | Cursor rules | styleagent-behaviour | 58/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/develop-tdd.mdc · 114 | Cursor rules | teststylearchtesting-strategy+5 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/diagnose-root.mdc · 114 | Cursor rules | no sections | 39/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/diagnose-stall.mdc · 114 | Cursor rules | no sections | 44/100 | 3 days ago | |
| danielvm-git/bigpowers.cursor/rules/dispatch-agents.mdc · 114 | Cursor rules | git | 54/100 | 3 days ago |
Diff against .cursor/rules/align-grid.mdc Diff against .cursor/rules/assess-impact.mdc Diff against .cursor/rules/audit-code.mdc Diff against .cursor/rules/audit-plan.mdc Diff against .cursor/rules/build-epic.mdc Diff against .cursor/rules/change-request.mdc Diff against .cursor/rules/commit-message.mdc Diff against .cursor/rules/compose-workflow.mdc Diff against .cursor/rules/context7-mcp.mdc Diff against .cursor/rules/craft-skill.mdc Diff against .cursor/rules/deepen-architecture.mdc Diff against .cursor/rules/define-language.mdc Diff against .cursor/rules/define-success.mdc Diff against .cursor/rules/delegate-task.mdc Diff against .cursor/rules/deploy.mdc Diff against .cursor/rules/design-interface.mdc Diff against .cursor/rules/develop-tdd.mdc Diff against .cursor/rules/diagnose-root.mdc Diff against .cursor/rules/diagnose-stall.mdc Diff against .cursor/rules/dispatch-agents.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| danielvm-git/bigpowers.windsurf/rules/organize-workspace.md · 114 | Windsurf rules | buildstylegitdeployment+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/guard-git.md · 114 | Windsurf rules | stylearchgitsecurity+2 | 89/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/quick-fix.md · 114 | Windsurf rules | teststylegitdeployment+1 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/develop-tdd.md · 114 | Windsurf rules | teststylearchtesting-strategy+5 | 85/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/session-state.md · 114 | Windsurf rules | lint-formatstyleagent-behaviour | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/commit-message.md · 114 | Windsurf rules | lint-formatstyletypesgit+3 | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/extract-design.md · 114 | Windsurf rules | lint-formatstyledependenciesui | 82/100 | 3 days ago | |
| danielvm-git/bigpowers.windsurf/rules/setup-environment.md · 114 | Windsurf rules | setupstylesecuritydo-not+1 | 81/100 | 3 days ago |
