framework/core/skills/flowai-skill-epic/SKILL.md
Use when the user asks to plan a LARGE feature that spans multiple sessions or phases — produces documents/tasks/<YYYY>/<MM>/epic-<name>.md with dependency-ordered phases, atomic tasks, and per-phase status tracking. Use flowai-skill-plan for single-session tasks. Do NOT trigger on generic planning, roadmap, or brainstorming requests.
npx skillsauth add korchasa/flow flowai-skill-epicInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a structured, decomposed epic in ./documents/tasks/<YYYY>/<MM>/epic-<name>.md for features too large for a single agent session. The path uses today's date as a directory hierarchy; the file slug begins with epic- (no date prefix in the slug).
flowai-skill-epic when feature spans >3 files AND requires >2 sessions, OR has >5 phasesflowai-skill-plan for tasks completable within one agent sessionflowai-skill-plan; if it outgrows a single task, upgrade to flowai-skill-epicFor clarifying / uncertainty-resolution questions asked during research (Step 2):
1., 2., …) — not a heading, bold-only line, or paragraph.agent's choice (or equivalent), pick the subset yourself, emit a one-line justification of the pick, and proceed without re-asking for confirmation.Phase approval (Step 4) and critique-points selection (Step 7) are exempt — phase decomposition is a multi-section content presentation (the same prior that drives variant analysis), and critique triage is auto-classified by the agent without asking the user.
<step_by_step>
Initialize
todo_write, todowrite) to create a plan based on these steps.YYYY-MM-DD format (e.g. via date +%Y-%m-%d). Hold it as <DATE>. Derive <YYYY>, <MM>, <DD> (zero-padded). The eventual file path is documents/tasks/<YYYY>/<MM>/epic-<name>.md.Deep Context & Research
documents/requirements.md (SRS) and documents/design.md (SDS) — read them now.Proactive Resolution from AGENTS.md: analyze prompt, codebase, search for gaps.glob, grep, ripgrep, search, webfetch) for unknowns.Draft Spec Header
documents/tasks/<YYYY>/<MM>/ (use mkdir -p).documents/tasks/<YYYY>/<MM>/epic-<name>.md the following sections:
date, status: to do, tags, related_tasks, optional implements.Decompose into Phases (Chat Only)
Detail Phases
documents/tasks/<YYYY>/<MM>/epic-<name>.md. Each phase contains:
Critique
Refine & Finalize
documents/tasks/<YYYY>/<MM>/epic-<name>.md with accepted improvements.status: is auto-derived from DoD; do not change it manually.)7a. Write SRS-inline **Tasks:** Back-Pointer (FR-DOC-TASK-LINK) — execute immediately, no permission needed. This is a write step.
implements: frontmatter, locate the heading ### <FR-ID>: in documents/requirements.md.**Description:** bullet. Look at the line(s) immediately following it.
- **Tasks:** [...] bullet already exists: append , [epic-<name>](tasks/<YYYY>/<MM>/epic-<name>.md) to the comma-separated list. Idempotent: skip if the exact link is already present.**Tasks:** bullet exists yet: insert a new line - **Tasks:** [epic-<name>](tasks/<YYYY>/<MM>/epic-<name>.md) immediately AFTER the **Description:** bullet.</step_by_step>
---
date: YYYY-MM-DD
status: to do
implements:
- FR-XXX
tags: []
related_tasks: []
---
# Epic: {Feature Name}
| Field | Value |
|---------|-----------------------------|
| Status | Draft/Ready/In-Progress/Done |
| Created | YYYY-MM-DD |
| Updated | YYYY-MM-DD |
## Goal
{Why are we building this? Business/user value.}
## Overview
{Current state, why now, relevant context.}
## Non-Goals
<!-- Examples: "No backward compatibility with v1 API", "No UI changes in this phase", "No performance optimization", "No migration of existing data" -->
- {Explicit exclusion 1}
- {Explicit exclusion 2}
## Architecture & Boundaries
### Always (agent autonomy)
- {Things agent can always do}
### Ask First
- {Things requiring user confirmation}
### Never
- {Things agent must never do}
## Definition of Done
- [ ] {Measurable criterion 1}
- [ ] {Measurable criterion 2}
---
## Phase 1: {Name}
**Status:** not-started | **Prerequisites:** none
### Goal
{What this phase achieves.}
### Scope
- {file/component 1}
- {file/component 2}
### Tasks
1. {Atomic, testable task}
2. {Atomic, testable task}
### Verification
- [ ] {Specific check or command}
### Notes
- {Implementation hints, gotchas}
---
## Phase 2: {Name}
...
tools
Delegate a task to another AI IDE's CLI (codex / claude / opencode / cursor-agent) through an isolated-context subagent. Triggers on "delegate to <ide>", "have <ide> do <task>", "execute <task> in <ide>", "offload to <ide>". For one-shot relay or fan-out comparison use `ai-ide-runner` instead.
tools
Run prompts in Claude Code, OpenCode, Cursor, or Codex CLIs from the current session — pick one IDE, fan out across several, or compare models. You are a courier that relays the other runtime's stdout verbatim, do not synthesise your own answer. Use on "run in <ide>", "compare <ide> vs <ide>", "try on <model>", "which IDE handles X better", "run across models".
tools
Recommend which LLM model to use for a task. Use when asked "which model / best LLM for X", "pick a model for this task", or for a model shortlist ranked by live leaderboard evidence (coding, reasoning, agentic, tool-use, price, speed). Live-fetches public leaderboards and ranks models with per-axis rationale and citations.
development
Produce a comprehensive Product Requirements Document (PRD). Use when the user asks to write a PRD or formalize a feature's scope, goals, and success metrics.