Generate Epics
Purpose / When to Activate
Activate when:
- Starting a new product
- Adding a significant feature or domain
- Restructuring product scope
- Breaking down a PRD into actionable outcomes
Works with or without a PRD.
Process
Read the Epic template at
contexts/artefacts/epics/_template.epic.mdbefore writing any Epic file.CRITICAL — ID Collision Guard (MUST execute before assigning any Epic ID):
- a) Obtain the next Epic ID by invoking
.gaai/core/scripts/lib/allocate-id.sh epic(path relative to the repository root). This script serialises allocation under an exclusiveflock, cross-references bothactive.backlog.yamland the host-stable reservation ledger (shared across all local worktrees before any branch merges), and writes a reservation before returning. Never computemax+1manually — the allocator is the single authority for ID assignment. If the script is absent (bootstrapping a fresh install before this allocator was delivered), fall back to the original scan-max pattern as a degraded mode with a stderr warning. - b) For each Epic file to be created, check if the file already exists at
contexts/artefacts/epics/{id}.epic.md. If it exists with different content, STOP immediately — surface the conflict to the human. - c) Never reuse an Epic ID, even if the previous Epic was deleted or superseded.
- Rationale: In a past incident, two concurrent sessions both assigned the same Epic ID
to different epics because each did an independent scan-max on its own branch-isolated
backlog. The allocator fixes this by serialising under
flockand recording reservations in a host-stable ledger visible to all local sessions before any branch merges.
- a) Obtain the next Epic ID by invoking
Think in user outcomes, not features
Keep Epics high-level and value-focused
Avoid implementation detail
Limit to 3–7 Epics maximum
For each Epic, answer: "What meaningful user result will this create?"
Set domain based on the Epic's primary intent (e.g., engineering, marketing, legal). Leave empty if not applicable.
Output using the canonical Epic template
Outputs
Template: contexts/artefacts/epics/_template.epic.md
Produces files at contexts/artefacts/epics/{id}.epic.md.
Key sections per Epic:
- Purpose: what user outcome this delivers and why it matters
- Scope: high-level description of what is included
- Out of Scope: what is explicitly excluded
- Stories: list of story IDs (descriptive only; authoritative tracking is in the backlog)
- Success Metrics: how to know the Epic delivered value
- Dependencies: other Epics or external factors this depends on
Quality Checks
- Each Epic expresses a user outcome, not a technical feature
- Maximum 7 Epics per initiative
- No implementation detail present
- Each Epic is independently valuable
- No Epic ID collision — the assigned ID does not exist in the backlog or on disk with different content
Non-Goals
This skill must NOT:
- Generate Stories (use
generate-stories) - Make technical architecture decisions
- Produce more than 7 Epics per initiative
Epics are the bridge between vision and execution.