Split /create-epics-stories into /create-epics + /create-stories; add /dev-story

- NEW /create-epics (agent: technical-director): architect-level epic scoping,
  one epic per architectural module. Does not create stories.
- NEW /create-stories (agent: lead-programmer): decomposes a single epic into
  story files with embedded TR-IDs, ADR guidance, and test evidence paths.
- NEW /dev-story: the missing implementation skill — reads a story, loads full
  context (TR registry, ADR, control manifest, engine prefs), routes to the
  correct programmer agent via Task, and drives implementation to completion
  including writing the test.
- DEPRECATED /create-epics-stories: added redirect notice; original content
  preserved for reference.
- Updated /gate-check: Pre-Prod→Production artifact check and follow-up actions
  now reference the two new skills.
- Updated workflow-catalog.yaml: replaced create-epics-stories step with two
  separate steps; implement step now references /dev-story with command field.

Story loop is now explicit:
  /story-readiness → /dev-story → /code-review → /story-done

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Donchitos
2026-03-16 14:57:39 +11:00
parent db416aa494
commit 4ca6500a21
6 changed files with 723 additions and 13 deletions

View File

@@ -0,0 +1,195 @@
---
name: create-epics
description: "Translate approved GDDs + architecture into epics — one epic per architectural module. Defines scope, governing ADRs, engine risk, and untraced requirements. Does NOT break into stories — run /create-stories [epic-slug] after each epic is created."
argument-hint: "[system-name | layer: foundation|core|feature|presentation | all]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write
context: fork
agent: technical-director
---
# Create Epics
An epic is a named, bounded body of work that maps to one architectural module.
It defines **what** needs to be built and **who owns it architecturally**. It
does not prescribe implementation steps — that is the job of stories.
**Run this skill once per layer** as you approach that layer in development.
Do not create Feature layer epics until Core is nearly complete — the design
will have changed.
**Output:** `production/epics/[epic-slug]/EPIC.md` + `production/epics/index.md`
**Next step after each epic:** `/create-stories [epic-slug]`
**When to run:** After `/create-control-manifest` and `/architecture-review` pass.
---
## 1. Parse Arguments
**Modes:**
- `/create-epics all` — process all systems in layer order
- `/create-epics layer: foundation` — Foundation layer only
- `/create-epics layer: core` — Core layer only
- `/create-epics layer: feature` — Feature layer only
- `/create-epics layer: presentation` — Presentation layer only
- `/create-epics [system-name]` — one specific system
- No argument — ask: "Which layer or system would you like to create epics for?"
---
## 2. Load Inputs
### Step 2a — Summary scan (fast)
Grep all GDDs for their `## Summary` sections before reading anything fully:
```
Grep pattern="## Summary" glob="design/gdd/*.md" output_mode="content" -A 5
```
For `layer:` or `[system-name]` modes: filter to only in-scope GDDs based on
the Summary quick-reference. Skip full-reading anything out of scope.
### Step 2b — Full document load
Read for in-scope systems:
- `design/gdd/systems-index.md` — authoritative system list, layers, priority
- In-scope GDDs (Approved or Designed status)
- `docs/architecture/architecture.md` — module ownership and API boundaries
- All Accepted ADRs — read the "GDD Requirements Addressed", "Decision", and "Engine Compatibility" sections
- `docs/architecture/control-manifest.md` — manifest version date from header
- `docs/architecture/tr-registry.yaml` — for tracing requirements to ADR coverage
- `docs/engine-reference/[engine]/VERSION.md` — engine name, version, risk levels
Report: "Loaded [N] GDDs, [M] ADRs, engine: [name + version]."
---
## 3. Processing Order
Process in dependency-safe layer order:
1. **Foundation** (no dependencies)
2. **Core** (depends on Foundation)
3. **Feature** (depends on Core)
4. **Presentation** (depends on Feature + Core)
Within each layer, use the order from `systems-index.md`.
---
## 4. Define Each Epic
For each system, map it to an architectural module from `architecture.md`.
Check ADR coverage against the TR registry:
- **Traced requirements**: TR-IDs that have an Accepted ADR covering them
- **Untraced requirements**: TR-IDs with no ADR — warn before proceeding
Present to user before writing anything:
```
## Epic: [System Name]
**Layer**: [Foundation / Core / Feature / Presentation]
**GDD**: design/gdd/[filename].md
**Architecture Module**: [module name from architecture.md]
**Governing ADRs**: [ADR-NNNN, ADR-MMMM]
**Engine Risk**: [LOW / MEDIUM / HIGH — highest risk among governing ADRs]
**GDD Requirements Covered by ADRs**: [N / total]
**Untraced Requirements**: [list TR-IDs with no ADR, or "None"]
```
If there are untraced requirements:
> "⚠️ [N] requirements in [system] have no ADR. The epic can be created, but
> stories for these requirements will be marked Blocked until ADRs exist.
> Run `/architecture-decision` first, or proceed with placeholders."
Ask: "Shall I create Epic: [name]?"
Options: "Yes, create it", "Skip", "Pause — I need to write ADRs first"
---
## 5. Write Epic Files
After approval, write:
### `production/epics/[epic-slug]/EPIC.md`
```markdown
# Epic: [System Name]
> **Layer**: [Foundation / Core / Feature / Presentation]
> **GDD**: design/gdd/[filename].md
> **Architecture Module**: [module name]
> **Status**: Ready
> **Stories**: Not yet created — run `/create-stories [epic-slug]`
## Overview
[1 paragraph describing what this epic implements, derived from the GDD Overview
and the architecture module's stated responsibilities]
## Governing ADRs
| ADR | Decision Summary | Engine Risk |
|-----|-----------------|-------------|
| ADR-NNNN: [title] | [1-line summary] | LOW/MEDIUM/HIGH |
## GDD Requirements
| TR-ID | Requirement | ADR Coverage |
|-------|-------------|--------------|
| TR-[system]-001 | [requirement text from registry] | ADR-NNNN ✅ |
| TR-[system]-002 | [requirement text] | ❌ No ADR |
## Definition of Done
This epic is complete when:
- All stories are implemented, reviewed, and closed via `/story-done`
- All acceptance criteria from `design/gdd/[filename].md` are verified
- All Logic and Integration stories have passing test files in `tests/`
- All Visual/Feel and UI stories have evidence docs with sign-off in `production/qa/evidence/`
## Next Step
Run `/create-stories [epic-slug]` to break this epic into implementable stories.
```
### Update `production/epics/index.md`
Create or update the master index:
```markdown
# Epics Index
Last Updated: [date]
Engine: [name + version]
| Epic | Layer | System | GDD | Stories | Status |
|------|-------|--------|-----|---------|--------|
| [name] | Foundation | [system] | [file] | Not yet created | Ready |
```
---
## 6. Gate-Check Reminder
After writing all epics for the requested scope:
- **Foundation + Core complete**: These are required for the Pre-Production →
Production gate. Run `/gate-check production` to check readiness.
- **Reminder**: Epics define scope. Stories define implementation steps. Run
`/create-stories [epic-slug]` for each epic before developers can pick up work.
---
## Collaborative Protocol
1. **One epic at a time** — present each epic definition before asking to create it
2. **Warn on gaps** — flag untraced requirements before proceeding
3. **Ask before writing** — per-epic approval before writing any file
4. **No invention** — all content comes from GDDs, ADRs, and architecture docs
5. **Never create stories** — this skill stops at the epic level