breakdown-gate · git:20260710.670b61e · 2026-07-10 · sha256 0c61db0da9ea28ba

breakdown-gate git:20260710.670b61eA

Immutable. This exact content never changes and is served at /api/v1/blob/0c61db0da9ea28ba.

---
name: breakdown-gate
description: "PlanGate 起動前の intake 判定(mode-classification にかける前の分割要否)。実装着手前にタスク粒度を5要素で判定し、必要なら分割候補を提示する。Use when: PlanGate を起動すべきか迷う軽量タスクの判定時、PBI 化の前に分割要否を確かめたい時、「タスクを分割して」「粒度が大きすぎる」「1 PRに複数目的が入っている」。出典: growth-core task-breakdown-gate 由来(#799)。"
---

# Breakdown Gate

> **Provenance(出典・vendoring 規約)**: growth-core `task-breakdown-gate`
> (upstream: Growth-Teams-Agent@5219642 / 2026-07-03 時点)を PlanGate 向けに
> 汎用化して取り込み(#799)。上流への自動追従はしない — 上流更新の反映は
> **意図的に** diff をレビューして行う(provenance 追跡 + 意図的更新の vendoring 標準)。

実装着手**前**にタスクの粒度を判定し、粗すぎる場合は分割候補を提示する intake ゲート。growth-core `task-breakdown-gate` から蒸留。

## Iron Law

`ONE TASK = ONE PURPOSE, ONE PR-SIZED DIFF, ONE VERIFIABLE OUTCOME`

目的・差分・検証結果のどれか 1 つでも複数に見えたら分割を検討する。

## 役割分界(オーガナイザー設計 / issue #799)

| 段階 | 担当 | 本スキルとの関係 |
|---|---|---|
| 起動前 intake | **breakdown-gate(本スキル)** | 5 要素 + 粒度判定 → 分割候補提示 |
| 起動後の規模判定 | `.claude/rules/mode-classification.md`(正本・不変) | 本スキルは **mode を決めない**(判定基準は参照のみ) |
| plan 生成後の粒度検査 | C-1 ToDo チェック「タスク粒度」(不変) | 本スキルは plan 生成**前** |
| 規模 L 以上の MVP scoping | `codex-mvp-split`(既存・`.agents/skills/codex-mvp-split/`) | 本スキルは**分割要否の判定**まで。規模 L 以上と判明したら codex-mvp-split で最小 MVP(Phase 1)分割へ |
| plan 生成後の品質スコア | `plan-quality-check`(既存・`.claude/skills/` 専用) | 5 要素は同系だがタイミングが異なる(本スキル=plan **前** / plan-quality-check=plan **後**)。チェックリストの正本は各自 — 変更時は相互参照 |

本スキルは PlanGate の Mode 判定・C-1 レビューを代替しない。あくまで「PlanGate を起動する前に、そもそも 1 タスクとして扱ってよい粒度か」を判定する前段ゲート。

## Common Rationalizations

| こう思ったら | 現実 |
|---|---|
| 「まとめて実装した方が速い」 | 大きいタスクほど迷走する |
| 「DB 変更と API 変更は一緒じゃないと意味がない」 | migration+API+test 同梱は最多の失敗パターン |
| 「テストは後で」 | 後でとは永遠のこと |
| 「Rollback は考えなくていい」 | 書けないなら設計が固まっていない証拠 |

## 手順

### Phase 1: タスク一覧の確認

判定対象のタスク一覧を取得する。`docs/working/TASK-XXXX/todo.md` が既に存在する場合はそれを読み、記載されたタスクを入力とする。存在しない場合はユーザーの依頼文から判定対象タスクを列挙する。

### Phase 2: 5 要素チェック

各タスクについて以下 5 要素を判定する。いずれかが「書けない」または「複数になる」場合は分割候補へ回す。

- □ **目的**(1 文・複数動詞なし)
- □ **変更対象**(file / module / API / DB を限定可)
- □ **完了条件**(観測可能・検証可能)
- □ **検証方法**(unit / integration / manual / lint+typecheck+build)
- □ **Rollback**(1 手順で書ける)

### Phase 3: 粒度サイズ判定

| 目安 | 判定 |
|---|---|
| 30 分〜2 時間 | 理想 |
| 半日〜1 日 | 許容 |
| 2 日以上 | 分割必須 |
| DB + API + UI + テスト同梱 | 分割必須 |
| 目的が複数(「〜して、さらに〜」) | 分割必須 |

### Phase 4: 分割候補の提示

分割が必要と判定したタスクについて、各分割候補が Iron Law(1 目的・1 PR 規模・1 検証)を満たす形で列挙し、依存順を明示する。分割後の各タスクは個別に PlanGate(`.claude/rules/mode-classification.md`)の Mode 判定にかける導線を示す。

## 出力フォーマット

タスクごとに以下を出力する:

```markdown
### タスク: <タスク名>

| 要素 | 判定 |
|---|---|
| 目的 | OK / NG(理由) |
| 変更対象 | OK / NG(理由) |
| 完了条件 | OK / NG(理由) |
| 検証方法 | OK / NG(理由) |
| Rollback | OK / NG(理由) |

**粒度判定**: 理想 / 許容 / 分割必須

**分割要否**: 不要 / 必要

**分割候補**(分割必要の場合):
1. <候補1>(依存: なし)
2. <候補2>(依存: 候補1完了後)
...
```

## 関連

- `.claude/rules/mode-classification.md` — 規模判定の正本。本スキルは mode を決めない
- `codex-mvp-split`(`.agents/skills/codex-mvp-split/`) — 規模 L 以上の最小 MVP(Phase 1)選定。本スキルの分割要否判定の後段
- `plan-quality-check`(`.claude/skills/plan-quality-check/`) — plan 生成後の品質スコアリング(本スキルは plan 生成前。変更時は相互参照)
- [`subagent-driven-development`](../subagent-driven-development/SKILL.md) — 分割後の各タスクをサブエージェントへ委譲する際に使用
- [`brainstorming`](../brainstorming/SKILL.md) — 要件そのものが曖昧な場合はこちらを先に使う(本スキルは要件確定後の粒度判定)