---
name: prd-vertical-slices
description: Break a PRD in .cursor/plans/ into vertical slice markdown issues (tracer bullets), not horizontal layers. Use after prd-from-grill or when user says vertical slices, tracer bullets, or backlog from PRD.
---

# PRD-VERTICAL-SLICES SKILL (Voices)

**Wanneer:** **`prd-<slug>.md`** bestaat onder **`.cursor/plans/`** (output van **`/prd-from-grill`**) **of** de agent schrijft het PRD net in **dezelfde beurt** als onderdeel van de **grill-afsluitingsbundle** (zie **`.cursor/skills/grill-me/SKILL.md`**) **of** van de **brainstorm-afsluiting** (goedgekeurde **`/brainstorm`** → PRD + slices, **`.cursor/skills/brainstorm/SKILL.md`** §7). **Slash:** **`/prd-vertical-slices`**.

## Harde regel: verticaal, niet horizontaal

Elke slice moet een **dunne end-to-end strook** zijn die **demonstrable user value** oplevert (tracer bullet). **Verboden** als enige slice: “bouwt hele service X zonder zichtbare uitkomst” of “alleen DB zonder iets dat de keten bewijst”.

**Goed (voorbeeldstructuur):** klein schema of mapping + minimale serverlogica + minimaal zichtbaar of meetbaar resultaat voor de bedoelde gebruiker/operator.

**Fout:** eerst volledig domeinlaag A, dan B, dan C zonder werkende dwarsdoorsnede.

## Output-locatie

Maak (indien nodig) **`.cursor/plans/slices/`** en schrijf per slice:

**`.cursor/plans/slices/<nn>-<slug>.md`**

- **`<nn>`:** twee cijfers, volgorde 01, 02, …
- Elke file = **één** oppakbare issue voor een agent.

## Per slice-file: verplichte inhoud

- **Titel** — actief, outcome-first.
- **User-visible outcome** — wat zie je of wat kan je na merge?
- **Scope boundaries** — wat zit **niet** in deze slice.
- **Touch list** — welke lagen raken we (DB migratie ja/nee, API route, UI route, admin alleen, …).
- **Acceptance criteria** — checklist, testbaar.
- **Voices gates (slice-level)** — noem welke checks realistisch zijn na deze slice (bv. `npm run type-check`, relevante `verify:*`, bij UI **`325`**/`338` waar van toepassing). **804:** geen `git push` tenzij de owner dat vraagt.
- **Dependencies** — welke andere slice moet eerst (of “geen”).

## Quiz-stap

Als een voorgestelde slice **horizontaal** ruikt: stel **één** corrigerende vraag aan de owner met een **aanbevolen** verticale herformulering, pas daarna de files aan.

## Data- en architectuur-discipline

- Orders/commerce: **kolommen en tabellen**, geen nieuwe order-JSON-SSOT (**318**).
- Geen tweede client-fetch of query voor hetzelfde feit als er al een **357**-SSOT-module bestaat.
- Performance-kritieke paden (Agency home, bootstrap): raak **342** / **31** niet zonder expliciete reden en flight-bewustzijn.

## Doc-rot (bewust)

Slices en PRD zijn **werkmiddelen**. Als de feature af is en de canon in code + vaste docs staat: markeer in PRD/slices “**closed**” of archiveer volgens teamgewoonte; verouderde plannen niet als enige waarheid laten terugkomen in latere agent-runs.

Managed by **Chris (structuur)** + **Goldie (meetbare outcomes)** waar performance raakt.
