Best for
- Design an epic that bridges strategic objectives to executable stories, making key architectural decisions and defining bounded scope for incremental delivery.
humansys/raise/packages/raise-cli/src/raise_cli/skills_base/rai-epic-design-enterprise/SKILL.md
Design epic scope, stories, and architecture. Use for work spanning 3-10 features.
Decision brief
Design epic scope, stories, and architecture. Use for work spanning 3-10 features.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/humansys/raise --skill "packages/raise-cli/src/raise_cli/skills_base/rai-epic-design-enterprise"Inspect the Agent Skill "rai-epic-design-enterprise" from https://github.com/humansys/raise/blob/88a77d6e4065e3c8bdbae9be4aff5b84e6a7a5eb/packages/raise-cli/src/raise_cli/skills_base/rai-epic-design-enterprise/SKILL.md at commit 88a77d6e4065e3c8bdbae9be4aff5b84e6a7a5eb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Check for Epic Brief (work/epics/e{N}-{name}/brief.md) or Problem Brief (work/problem-briefs/.md). If found, use hypothesis and boundaries as starting input.
Go to the actual codebase. Read what exists before designing what's next.
Create ADRs when: multiple valid approaches with significant impact, new technology adoption, decisions other epics depend on. Skip when patterns are established or details are easily changed.
Decompose epic into 3-10 independently deliverable stories. Apply lean principles:
Done: All stories complete + epic-specific measurable criteria + architecture docs updated + retrospective completed.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 96/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 71 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Design an epic that bridges strategic objectives to executable stories, making key architectural decisions and defining bounded scope for incremental delivery.
When to use: Starting work spanning 3-10 stories. Design is the gemba walk at epic scale — go see what exists, challenge assumptions, prevent waste.
When to skip: Single-story work → /rai-story-design. Bug fixes → issue tracker. High uncertainty → /rai-research first.
Inputs: Business objective, project backlog, constraints. Optionally: Problem Brief from /rai-problem-shape or Epic Brief from /rai-epic-start.
Before starting Step 1, you MUST execute the PRIME protocol:
raise_graph_query MCP tool with cwd="{project_or_worktree_path}". If MCP tools are not available, fall back to:
rai graph query
If graph is unavailable, note and continue.apply_phase_transition.
No skill-initiated transition call required or allowed.Check for Epic Brief (work/epics/e{N}-{name}/brief.md) or Problem Brief (work/problem-briefs/*.md). If found, use hypothesis and boundaries as starting input.
Define what this epic accomplishes:
Scoping heuristic: defer what doesn't block the objective; separate what needs its own ADRs.
JIT: Before defining scope boundaries, query graph for prior designs with similar scope →
aspects/introspection.md § JIT Protocol
Go to the actual codebase. Read what exists before designing what's next.
Module Health Check — before proposing stories, check if any touched module is a known drift hotspot:
# Replace MOD_TOKEN with module name fragments (e.g. "auth", "pipeline", "graph")
cat governance/drift-hotspots.json 2>/dev/null | python3 -c "
import json, sys
MOD_TOKENS = ['MOD_TOKEN'] # replace with actual module name fragments
data = json.load(sys.stdin)
hits = [m for m in data.get('ranked_modules', []) if any(t in m.get('id', '') for t in MOD_TOKENS)]
for m in hits[:5]: print(f'{m[\"id\"]}: rank {m[\"rank\"]}, signals {m[\"signal_count\"]}')
" 2>/dev/null || echo "(hotspots.json not available — skip)"
If a module appears in the top-10 ranked list: flag it in this epic's scope.md §Risks section with the signal count. See governance/drift-catalog.md for signal definitions. Graceful degradation: if hotspots.json is absent, skip silently.
Use raise_graph_context MCP tool with module_id="mod-{name}", cwd="{project_or_worktree_path}".
If MCP tools are not available, fall back to: rai graph context mod-{name} --format json
grep -r "similar_pattern" packages/ # real code
| Finding | Action |
|---|---|
| Similar component exists | Reuse or extend — do NOT propose a duplicate story |
| Established pattern found | Follow it — consistency > novelty |
| Over-engineered existing code | Consider a simplification story instead of building on top |
Create ADRs when: multiple valid approaches with significant impact, new technology adoption, decisions other epics depend on. Skip when patterns are established or details are easily changed.
JIT: Before making architectural decisions, query graph for patterns and known risks →
aspects/introspection.md § JIT Protocol
If significant uncertainty: /rai-research (timebox 2-4 hours), then create ADRs.
ADR template: .raise/templates/architecture/adr.md. One decision per ADR.
Publish each ADR to local path and docs adapter:
Use raise_docs_write MCP tool with doc_type="adr", title="ADR-YYYY-MM-DD-{slug}: {Decision Title}", content="[ADR content following .raise/templates/architecture/adr.md structure]", output_path="governance/adrs/adr-YYYY-MM-DD-{slug}.md", cwd="{project_or_worktree_path}".
Verify result: If result.status != "ok", stop immediately with error:
ADR write failed: {result.error}. Cannot continue without docs sync in connected mode.
If MCP tools are not available, fall back to:
rai docs write adr \
--title "ADR-{NNN}: {Decision Title}" \
--stdin \
--output-path governance/adrs/adr-YYYY-MM-DD-{slug}.md << 'EOF'
[ADR content following .raise/templates/architecture/adr.md structure]
EOF
If exit code != 0, stop immediately — do not proceed to scope creation.
Capability-registry check (RAISE-14654): if the ADR names a canonical, single-implementation
mechanism (a function/service/endpoint that all callers must use — the same shape as an existing
governance/capability-registry.yaml card), add or update that card in the same MR. This is how a
decision becomes discoverable at design time instead of only living in ADR prose — the root cause
found in RAISE-14654 was ADRs naming canonical mechanisms that never got promoted into the registry.
Skip silently when the ADR doesn't name such a mechanism (most don't).
Decompose epic into 3-10 independently deliverable stories. Apply lean principles:
Per story: ID (S{N}.{seq}), name, 1-line description, T-shirt size (XS/S/M/L), dependencies.
JIT: Before finalizing decomposition, query graph for sizing patterns in similar epics →
aspects/introspection.md § JIT Protocol
Target: each story delivers demonstrable value, 1-5 days duration. No dependency cycles. External blockers identified.
Waste check: For each proposed story, ask: "What happens if we don't build this?" If the epic still achieves its objective, the story is not essential — defer it.
Done: All stories complete + epic-specific measurable criteria + architecture docs updated + retrospective completed.
Risks: Top 3 with likelihood/impact/mitigation.
JIT: Before assessing risks, query graph for known risks from related epics →
aspects/introspection.md § JIT Protocol
Create TWO documents via CLI:
scope.md (WHAT + WHY): objective, stories, boundaries, done criteria:Use raise_docs_write MCP tool with doc_type="epic-scope", title="E{N}: {epic-name} scope", content="[scope content following templates/scope.md]", output_path="work/epics/e{N}-{name}/scope.md", cwd="{project_or_worktree_path}".
Verify result: If result.status != "ok", stop immediately with error:
Epic scope write failed: {result.error}. Cannot continue without docs sync in connected mode.
If MCP tools are not available, fall back to:
rai docs write epic-scope \
--title "E{N}: {epic-name} scope" \
--stdin \
--output-path work/epics/e{N}-{name}/scope.md << 'EOF'
[scope content following templates/scope.md]
EOF
If exit code != 0, stop immediately — do not proceed to design creation.
design.md (HOW): gemba findings, target components, key contracts:Use raise_docs_write MCP tool with doc_type="epic-design", title="E{N}: {epic-name} design", content="[design content following templates/design.md]", output_path="work/epics/e{N}-{name}/design.md", cwd="{project_or_worktree_path}".
Verify result: If result.status != "ok", stop immediately with error:
Epic design write failed: {result.error}. Cannot continue without docs sync in connected mode.
If MCP tools are not available, fall back to:
rai docs write epic-design \
--title "E{N}: {epic-name} design" \
--stdin \
--output-path work/epics/e{N}-{name}/design.md << 'EOF'
[design content following templates/design.md]
EOF
If exit code != 0, stop immediately — do not proceed to Jira update.
Both documents are required. For simple epics, design.md is short (gemba findings + approach), not absent.
Use the raise_backlog_update MCP tool with issue_key="{JIRA_KEY}", custom_fields='{"description": "{objective 1-2 sentences}\n\nStories: {S{N}.1 — title} | {S{N}.2 — title} | {S{N}.3 — title}\n\nDone when: {key done criteria — comma-separated}"}'.
If MCP tools are not available, fall back to:
rai backlog update {JIRA_KEY} \
-F "description={objective 1-2 sentences}
Stories: {S{N}.1 — title} | {S{N}.2 — title} | {S{N}.3 — title}
Done when: {key done criteria — comma-separated}"
Capture deferred items in dev/parking-lot.md (Edit tool) with origin, priority, and promotion conditions.
| Item | Destination |
|---|---|
| Scope document | work/epics/e{N}-{name}/scope.md |
| Design document | work/epics/e{N}-{name}/design.md (if architecture) |
| ADRs | governance/adrs/adr-YYYY-MM-DD-{slug}.md (local) + docs adapter (type: adr) |
| Parking lot | dev/parking-lot.md |
| Next | /rai-epic-ux-design (it may skip straight to /rai-epic-plan for infrastructure epics) |
STOP HERE. Return your summary to the orchestrator. Do NOT invoke any further skill.
/rai-epic-start)/rai-story-designrai-epic-start/templates/brief.mdtemplates/scope.mdtemplates/design.md.raise/templates/architecture/adr.md/rai-epic-ux-design (it may hand off directly to /rai-epic-plan when interaction design is not needed)/rai-story-design/rai-epic-closeFrequently asked questions
Design epic scope, stories, and architecture. Use for work spanning 3-10 features.
The source record exposes this install command: npx skills add https://github.com/humansys/raise --skill "packages/raise-cli/src/raise_cli/skills_base/rai-epic-design-enterprise". Inspect the command and pinned source before running it.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
coreyhaines31/marketingskills
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o
prowler-cloud/prowler
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre