mcpField
S
split-tasks

split-tasks

github.com/venhdevエージェントワークフロー115 回インストール1 日前に更新
リポジトリ

split-tasks について

split-tasksは、確定したプロジェクト範囲を依存関係付きのタスクDAGに整理するスキルです。小さなエンドツーエンドのスライス、受け入れ基準、親情報への追跡を重視し、レビュー用Markdown表または自律ランナー向けJSONを出力します。

主な機能

  1. 01範囲を垂直スライスに分割
  2. 02DAGで依存関係を管理
  3. 03スライスの出所を追跡
  4. 04受け入れ基準を定義
  5. 05MarkdownまたはJSONで出力

活用シーン

  1. 01確定した変更内容から実装を計画
  2. 02順次実行するタスクの準備
  3. 03自律ランナー用タスクマニフェストの生成

インストール

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

$npx skills add https://github.com/venhdev/skills --skill split-tasks

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

詳細

split-tasks — タスク DAG の分解と来歴スライス

運用上の不変条件

  • ゼロ永続化境界:タスクファイルをディスクに書き込んだり、リモートトラッカーに課題を作成したりしないでください。インメモリまたはレビュー可能なタスク DAG マニフェストのみを生成してください。
  • 垂直スライスの必須化:作業は、観測可能な受け入れ基準を備えたエンドツーエンドの垂直スライス(1~4 ファイル、50~150 LOC)に厳密に分割してください。水平の技術レイヤー分割(DB のみ、API のみのスライス)は禁止です。
  • 親来歴の厳密な追跡:各スライスは、その起点(Parent Trace:ADR ID、Feature Slug、または Frozen Contract の座標)を明示的に追跡する必要があります。親を持たないスライスは禁止です。
  • 非巡回依存関係の徹底:スライスは有向非巡回グラフ(DAG)を形成する必要があります。循環依存は禁止です。
  • アトミックな分割回避:入力範囲がすでに 1 回の検証ターン(≤ 3 ファイル、単一の基準)に収まる場合は、統合された単一のスライスを維持してください。
  • 呼び出し方法に応じた出力:人間によるレビュー用に完全な Markdown テーブルを出力し、自律ランナーから呼び出された場合はコンパクトな JSON DAG を出力してください。

ドメイン基準

1. スライスの規模と影響範囲

スライスは /forge の 1 ターンで検証可能でなければなりません。スライスが 4 ファイルを超える場合、または異なるドメインコンテキストにまたがる場合は、独立した呼び出し元またはシナリオの境界に沿って、さらに分割してください。

2. トポロジカルなフェーズ分け

スライスをトポロジカル順に並べます。

  1. コントラクト/シームの基点:型宣言、インターフェース、特性テスト。
  2. コアの垂直フロー:最小限のエンドツーエンドのハッピーパス。
  3. エッジ/レジリエンスのスライス:検証、エラー境界、並行処理の保護策。
  4. 整理/非推奨化:古くなったシム、フラグ、レガシーパスの削除。
3. 状態とディスパッチのライフサイクル
  • READY:すべての先行依存関係が DONE です。直ちに /forge で実行できます。
  • BLOCKED:前提となる上流スライスの完了を待っています。

標準出力コントラクト

# Task DAG: <Feature / Scope> · <STAGED | UNRESOLVED>

Basis: <Root intent, architecture anchor, or ADR link>

| Slice ID | Title & Scope | Dependencies | Parent Trace | Acceptance & Verification Criteria | Dispatch State |
| :--- | :--- | :--- | :--- | :--- | :--- |
| S-01 | <Vertical deliverable> | None | <ADR / Spec Anchor> | <Automated test command or invariant> | READY |
| S-02 | <Dependent deliverable>| S-01 | <ADR / Spec Anchor> | <Automated test command or invariant> | BLOCKED |

Summary: <N> slices (Max depth <K>, <D> direct dependencies).
*(omit if clean)* Gap: <Unresolved dependency or ambiguous boundary requiring decision.>

自律 JSON コントラクト(Model Runner 用):

{
  "basis": "<anchor>",
  "slices": [
    {"id": "S-01", "scope": "<title>", "deps": [], "parent": "<trace>", "verify": "<cmd>", "state": "READY"},
    {"id": "S-02", "scope": "<title>", "deps": ["S-01"], "parent": "<trace>", "verify": "<cmd>", "state": "BLOCKED"}
  ]
}
ルーティング
  • 即時のセッション内実行 -> 最初の READY スライスを選択して(/changeset 経由で)->(/forge 経由で)実行します。
  • 遅延実行またはチームのバックログ管理 ->(/tracking-tasks 経由)。
  • 長時間実行する自動パイプラインの実行 -> Autonomous Runner(/goal)。
  • 範囲が曖昧、または依存関係が競合 ->(/clarify 経由)。

実行プロトコル

  1. 確定済みの changeset、凍結されたコントラクト、またはアーキテクチャ上の指示を取り込みます。
  2. 範囲がアトミック(≤ 3 ファイル)であれば、分割せず単一の READY スライスを提示します。
  3. それ以外の場合は、垂直スライスを導出し、親の来歴を確立して、依存関係が非巡回であることを確認します。
  4. 人間の呼び出し元には Markdown DAG を、自律ランナーには JSON DAG を出力します。

コメント