mcpField
S
split-task

split-task

github.com/gabriel-lafranceエージェントワークフロー070 回インストール2 日前に更新
リポジトリ

split-task について

タスクを共有チャット内で小さく順序付けた作業契約に分割するワーカー向けスキルです。依存関係を示し、別の計画ファイルを作らずに実装可能な作業を引き継げます。

主な機能

  1. 01目標を順序付き作業に分割
  2. 02範囲と二値の完了条件を定義
  3. 03依存関係とブロッカーを明示
  4. 04チャット内で分割内容を管理

活用シーン

  1. 01大きなタスクを実装可能な作業に分割
  2. 02境界が明確な並行作業の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gabriel-lafrance/skills --skill split-task

インストール後、Claude Code で/split-taskを入力して読み込まれたか確認します。

詳細

タスクの分割

必読: ../pack-shared/standards.md。レーンやフォルダーを分割する前に、このターンで AGENTS.md の Taste と Architecture の各セクションを適用してください。省略しないでください。

質問のスタイル: ../pack-shared/asking.md

このスキルは /task または /just-do-it の作業ステップであり、通常のユーザー開始用ではありません。

1 つのタスクまたは目標を、順序付けされた小さなインラインスライス契約に分割します。結果は共有の実行コンテキスト内のチャットに保持してください。INDEX、計画パス、ステータスファイル、ワークスペースの状態は書き込まないでください。

スライスにはアーキテクチャに沿ったエントリーポイント/フォルダーを明記し、新しいファイルはそのフォルダー内に配置してください。サービスやプリミティブを分岐させたり、親の異なる要素を混在させたりする分割は避けてください。

ユーザーから分割結果の保存を明示的に求められた場合は、承認済みの保存先を確認するか、その指定先を使用し、要求された成果物だけを書き込んでください。

スマートゾーン

次を満たす場合、そのスライスはスマートゾーンに収まります。

  • 担当者が目標を再確認せずに完了できる、明確な対象が 1 つある。
  • 作業範囲が 1 つの境界、または1 つの関数に収まる。
  • 単独で検証できる、1~3 個の二値チェックがある。
  • ハーネス、スキル、ルール、MCP(すでにコンテキストの約半分を占める)を読み込んだ後も、ブリーフと作業セットがコンテキストウィンドウの約 30% に収まる。
  • 注入されたブリーフとブロッカー以外に必要な履歴がほとんどない。

スライスには手順ではなく、対象を記載します。「さらに、それから……」が必要な場合や、担当者がリポジトリの構成を再調査する必要がある場合は、さらに分割してください。ブロッカーのない、並行して進められるスライスが望ましいです。効率だけを理由に統合しないでください。

プロセス

1. チャット内で親タスクを捉える

アクティブな実行コンテキストを使って依頼を整理します。

# Parent
**Outcome:** <one-line verifiable outcome>
**Ticket / PR:** <reference | none>
**Lane:** <areas, paths, or symbols>
**Non-goals:** <explicit exclusions>
**Done when:**
1. <binary check>
**Active Rules:** <relevant INV IDs>

親タスクが曖昧な場合は、asking.md に従って、本当に必要な確認質問だけをまとめてください。範囲を勝手に作り出さないでください。

2. 徹底的に分割する

親タスクを、価値を提供できる最小の順序付きスライスに分解します。各インラインスライス契約には、次を含めます。

フィールドルール
タイトル命令形で具体的にする
成果このスライスの完了時に何が実現するかを 1 文で記述する
レーン可能であれば親タスクより狭くする
エントリーポイント/フォルダー想定するエントリーポイントと、ファイルを追加する場合の所有フォルダーを記載する。異なる親の要素を混在させない
適用ルールこのスライスで実装または維持するルール
完了条件このスライスだけを対象とする二値チェックを 1~3 個
ブロッカー先行スライスの ID、または「なし」
このサイズにした理由スマートゾーンに収まる理由、またはこれ以上分割できない理由

1 つのスライスが複数の主要な関心事に触れる場合、複数回の調査が必要な場合、独立した完了条件が複数ある場合、または長い計画を作業記憶に保持する必要がある場合は、さらに分割してください。大規模なリファクタリングでは、対象を広げてから、小さなバッチで移行し、最後に対象を絞り込みます。

3. 順序を決めて伝える

ブロッカーを先に列挙し、フロンティアを明示します。分割はエージェントが担うため、ユーザーに賛否を尋ねないでください。実際のプロダクト、UX、アーキテクチャ、またはテイストに関する未解決の質問が残る場合は、asking.md に従った質問のみのまとめを送ってください(Locked 見出しは付けません)。それらが解決した後、または未解決事項がない場合は直ちに、番号付きの分割案を別の 確定(誤りがあれば教えてください) メッセージで伝えます。

ユーザーが分割案を修正した場合は、チャット内の契約を更新して続行してください。/task から指示されるまで実装しないでください。

4. 引き継ぐ

フロンティアと依存関係を、実行コンテキストの Current slices にコピーします。実装可能なスライスは、インライン計画契約を使って展開してください。その後、ユーザー向けのフロンティア作業には /design、UI 以外の作業には /implement を使います。INDEX を作成したり、自動生成される成果物に頼ったりしないでください。

出力テンプレート

# Split: <parent title>

## Parent Done when
1. …

## Slices

### 1 — <title>
- **Outcome:** …
- **Lane:** …
- **Entry / folder:** …
- **Rules that must stay true:** Rule 1, …
- **Done when:** …
- **Blocked by:** none
- **Why this size:** …

### 2 — <title>
- **Outcome:** …
- **Lane:** …
- **Rules that must stay true:** Rule 2, …
- **Done when:** …
- **Blocked by:** 1
- **Why this size:** …

## Frontier
- 1 — ready now

アンチパターン

  • 垂直方向の薄いスライスが適しているのに、水平方向のレイヤーに分割すること
  • ワーカーがスマートゾーンから外れるようなメガスライス
  • 「何をするか」ではなく「どのようにするか」(手順リスト、パッチ)を規定するスライスの契約
  • 完了条件が二択で明確でない曖昧なタイトル
  • 担当フォルダーのない、混在した兄弟ファイルとしてスライスを配置すること
  • 自動の INDEX、計画ファイル、ステータスファイル、または再開状態を書き込むこと
  • 分割を告知し、質問のみの一括分を回答する前に実装すること
  • 分割の確認に「はい/いいえ」で答えられる質問をすること
  • ユーザーから依頼されていないのにトラッカーに公開すること

コメント