Borrowing it
Nothing to install: this file belongs to sei-newbear/xp-harness. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/sei-newbear/xp-harness/main/.apm/skills/story-slicing/SKILL.mdgit clone --depth 1 https://github.com/sei-newbear/xp-harnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sei-newbear/xp-harness/story-slicing)<a href="https://agentmods.dev/skills/sei-newbear/xp-harness/story-slicing"><img src="https://agentmods.dev/badge/skills/sei-newbear/xp-harness/story-slicing/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sei-newbear/xp-harness/story-slicing"><img src="https://agentmods.dev/badge/skills/sei-newbear/xp-harness/story-slicing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00231 | $0.02718 |
| Opus 5 | $0.00115 | $0.01359 |
| Sonnet 5 | $0.00046 | $0.00544 |
| Haiku 4.5 | $0.00023 | $0.00272 |
Grade A, and why
story-slicing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ストーリー分割 — INVEST で refine する
なぜこの skill があるか
ユーザーストーリーを大きいまま、または独立性なしで実装フェーズに渡すと:
- 並列開発できない (複数 agent / 複数日にまたがる作業を切り出せない)
- 完了判断が曖昧になる (受け入れ条件が書きにくい)
- 価値が分割でしか届かない (ストーリー全部終わるまで何も使えない)
ストーリー粒度の整理は実装の前提条件で、要件定義の延長で必ず行う。基本設計や実装の中で気付くこともあり、その場合も同じ skill で再度 refine する。
発火タイミング
| 場面 | モード | 説明 |
|---|---|---|
| 1. 要件定義完成直後 | auto (必須) | define-requirements がストーリーを書き終えた直後、INVEST 4 観点で点検 |
| 2. 基本設計中 / 完成後 | 判断 invoke | 設計フェーズで「このストーリー大きい / 独立性ない」と気付いたら invoke |
| 3. 実装中 (slice-tdd 委譲) | 判断 invoke | 実装してみて「このストーリー大きすぎる」と気付いたら、slice-tdd から invoke |
| 4. 手動 | 任意 | user / main の明示要求 |
場面 1 を auto にする理由: 「skip OK」を導入すると、main が「これは明らかに大丈夫」と rationalize する余地ができる。INVEST チェック自体は 1 ストーリーなら数秒で済むので過剰にならない。
INVEST 4 観点 (このプロジェクトでの取捨)
このプロジェクトでは INVEST から N (Negotiable) を意図的に落とし、E (Estimable) は暗黙とする:
- N を落とす理由: 自走と相性悪い (詳細を要件 / 設計フェーズで固める方針)
- E を暗黙にする理由: N を落として固める = 自動で見積もれる状態になる
中核は I / V / S / T の 4 観点。
| 観点 | 失格時の対応 |
|---|---|
| Independent | 他のストーリーへの依存があれば、依存解消の分割 or 順序整理 |
| Valuable | エンドユーザー価値が見えなければ、Why に戻って再定義 |
| Small (価値ベース) | 「ユーザー価値を保ったまま分割可能な最小単位」を超えるなら分割 |
| Testable | 受け入れテストが書けなければ Done を観測可能形に書き直す |
Small の定義 (重要)
Small = ユーザー価値を保ったまま分割可能な最小単位
技術的なサイクル数ではなく、価値ベースで判定する。
例: 1 ストーリーとして適切
「運用管理者が注文履歴を見られる」 — これより小さくすると価値が崩れる:
- API だけ作っても画面なしじゃ届かない
- 画面だけ作ってもデータなしじゃ届かない
ストーリー内部で「フロント実装 + API モック → API 本実装」のような技術的サイクル分割が発生するが、これはストーリー分割ではなく slice-tdd の責務 (Cycle 内の刻み)。
例: 1 ストーリーとして不適切
「注文履歴 + 商品一覧」 — 2 つの独立な価値単位がまとまっている。分割可能。
判定基準
分割した片方だけ完成して、ユーザーに価値が届くか?
- YES → Story として分割可能 (例: 「注文履歴」と「商品一覧」は分割可)
- NO → Cycle として刻む (例: API モックとフロント実装は Cycle 内、ストーリー分割しない)
やること
1. ストーリーを読む
docs/working/<title>/要件定義.md の「ユーザーストーリー」セクションから、現在のストーリー一覧を読む。
2. INVEST で点検する
各ストーリーについて I / V / S / T の 4 観点で点検する。失格項目があれば次の対応:
- I 失格: 依存を解消する分割 or 順序整理
- V 失格: Why に戻って再定義
- S 失格: 価値の最小単位まで分割
- T 失格: Done を観測可能形に書き直す
3. 対話で refine する
失格があれば、依頼者と対話で refine する。1 問ずつ質問、段階的に認識合わせ、セクション単位で approval gate を取る (define-requirements / basic-design と同じ対話の型)。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 171 lines · 231 tokens per session scan A ddd45a76f5c6
story-slicing is a skill published in the GitHub repository sei-newbear/xp-harness (9 stars, last pushed 1mo ago), licensed MIT. It adds 231 tokens to every session and 2,718 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…