ワンクリックで
plan-stories
Slices an epic into user stories via vertical slicing and INVEST validation, each sized for one sprint. Composes /write-issue.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Slices an epic into user stories via vertical slicing and INVEST validation, each sized for one sprint. Composes /write-issue.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | plan-stories |
| description | Slices an epic into user stories via vertical slicing and INVEST validation, each sized for one sprint. Composes /write-issue. |
| version | 0.5.0 |
| author | Foomakers |
Transform epics into user stories through vertical slicing, INVEST validation, and collaborative definition. Each story delivers end-to-end user value within a single sprint. Composes /write-issue for PM tool integration.
| Skill | Type | Required |
|---|---|---|
/write-issue | Capability | Yes — creates or updates story issues in the PM tool |
| Argument | Required | Description |
|---|---|---|
$epic | No | Epic identifier (e.g., #42). If omitted, selects highest-priority Todo epic. |
Check: Prerequisites present?
Skip: If all present, proceed to Step 1.
Act: If any missing → HALT:
Prerequisites incomplete: [list missing]. Epics must exist before story breakdown.
Verify: way-of-working.md exists with project-specific content, epics exist in the PM tool, and the user-story-template.md file is reachable — the "prerequisites present" check from Step 0.
Check: Is $epic provided?
Skip: If provided, load the epic from the PM tool. Proceed to Step 2.
Act: Query PM tool for epics in Todo state. Apply selection:
Act: Present recommendation and ask developer to confirm:
Recommend breaking down Epic
#[ID]: [Title](Priority: [P0/P1/P2]). Reason: [business value / sprint urgency / dependency chain]. Proceed?
Verify: An epic is identified (from $epic or developer confirmation) and its full content is available for Step 2's analysis.
Check: Query PM tool for existing story issues linked to the selected epic — including closed/Done items (the closed-item triage rule in Step 3 depends on them being in the registry; many PM-tool queries default to open-only).
Act: Build a registry of existing stories, keyed for matching (idempotency key — see to-issues-triage.md):
EXISTING STORIES:
├── #ID: [Title] (Status: [Todo/Refined/In Progress/Done])
└── ...
Verify: Registry built — available to Step 3's triage.
Act: Analyze epic components for story candidates (the candidate tree for this run):
Act: Apply vertical slicing — every story must deliver end-to-end user value with visible UI manifestation. This rule governs CREATE candidates only — see to-issues-triage.md's per-skill-delta note.
Act: Triage each candidate story against the Step 2 registry — see to-issues-triage.md for the matching shape (idempotency key, EXTEND-vs-CREATE threshold, ambiguous-match and closed-item handling). This skill's parent scope: the selected epic. First, check each candidate's idempotency key against the registry: an exact match to an existing open story is ALREADY EXISTS #ID (skip) — per to-issues-triage.md's Skip step, not a triage decision. For every remaining candidate, classify EXTEND #ID or CREATE — or, if ambiguous (per to-issues-triage.md), present it as a question with a recommendation instead of silently picking one side. Present the triage proposal to developer:
Story candidates for Epic
#[ID]: [Title]:
- [Story name] — [user value] — [UI manifestation] → ALREADY EXISTS #[ID] (skip) | EXTEND #[ID] ([one-line rationale]) | CREATE ([one-line rationale])
- [Story name] — [user value] — [UI manifestation] → Ambiguous: EXTEND #[ID] or CREATE? [recommendation + rationale] ...
Approve or adjust?
Verify: Developer approves the candidate list — every candidate carries exactly one proposal (ALREADY EXISTS #ID (skip), EXTEND #ID, CREATE, or an ambiguous question) with a rationale shown for EXTEND/CREATE, before any write.
For each approved story, per its Step 3 proposal:
Check: Is this story's confirmed Step 3 proposal ALREADY EXISTS #ID (skip)?
Skip: If so → skip, report:
Story
[Title]already exists (#ID). Skipping.
Act: Define story scope using the Initial Breakdown section of user-story-template.md:
Act: For CREATE candidates, validate against INVEST criteria (existing rule, unaffected by triage):
Act: Compose /write-issue per the confirmed proposal:
$type: story, $content: the story definition, $parent: the epic identifier. If the proposal referenced a closed story (per to-issues-triage.md's closed-item rule), include that reference in $content.#ID: $type: story, $id: #ID, $content: read the matched story's current full body from the PM tool (not just the Step 2 registry line) and merge the additional scope into it (idempotent — a no-op when the scope is already present, per to-issues-triage.md's body-merge idempotency, so re-runs don't accrete text), $parent: unchanged. Re-validate INVEST for the merged scope — extending must not break Independent/Small.Verify: Story created or extended in PM tool. Record the ID. Linked to the epic (and, for a CREATE that referenced a closed item, to that closed-item reference) — hierarchy and references both present.
Act: Validate epic coverage:
Act: Report completion:
Epic coverage: [X]% of scope addressed. Stories ready for backlog prioritization and future refinement.
Verify: Coverage validated.
STORIES COMPLETE:
├── Epic: [#ID: Title]
├── Total: [N stories]
├── Created: [X new]
├── Extended: [Y existing, scope merged]
├── Skipped: [Z exact-match already-present]
├── Points: [total estimated points]
├── INVEST: [all CREATE candidates validated]
├── PM Tool: [adopted tool]
└── Next: /refine-story
$epic identifier.See graceful degradation (optional skill /write-issue not installed / PM tool not accessible → produce story documents, ask developer to create/enter manually) for the standard scenarios. Additional cases:
ALREADY EXISTS #ID (skip) at triage time, before any write (Step 3) — Step 4 only executes the confirmed proposal; substantial-overlap match proposes EXTEND instead of a duplicate CREATE (Step 3) — re-running the same candidate tree never duplicates./refine-story.Determines the most relevant next action for your project by reading adoption files and PM tool state. Suggests which skill to invoke next. Use at the start of a session, when switching tasks, or whenever you need guidance on what to work on.
Determines the most relevant next action for your project by reading adoption files and PM tool state. Suggests which skill to invoke next. Use at the start of a session, when switching tasks, or whenever you need guidance on what to work on.
Builds the classification matrix by applying the quality model (KB default + `tech/risk-matrix.md` adoption delta) — from the story context in refinement, from the code/diff in review (confirm-or-raise, never lower). Emits chromatic tags only when the adoption declares the matrix→tag projection. Composed by /pair-process-refine-story (refinement context) and /pair-process-review (review context); invoke directly to classify a card or PR on demand.
Records a decision — ADR (architectural), ADL (non-architectural), DDR (domain, 3-criteria gate), or an analysis-log entry ($type: analysis, written as Category: Analysis, decision-log/) — and is the sole writer of adoption/context-map files. Invoke directly to record or backfill a decision already made ('write that down as an ADR'). Composed by /pair-process-implement and /pair-process-review.
Refines a user story from Todo to Refined — Given-When-Then acceptance criteria, technical analysis, sprint readiness. Composes /pair-capability-write-issue. Not for sizing an already-refined story (use /pair-capability-estimate).
Reviews a pull request through 6 sequential phases (5 review + optional merge with parent cascade) — validation, technical review, adoption compliance, completeness, decision — to decide whether it merges. Not a quick build/test sanity check (use /pair-capability-verify-quality). Composes /pair-capability-classify, /pair-capability-verify-quality, /pair-capability-verify-done, /pair-capability-record-decision, /pair-capability-analyze-debt, /pair-capability-assess-security (required), /pair-capability-verify-adoption, /pair-capability-assess-stack (optional).