mcpField
D
delegate-tickets

delegate-tickets

github.com/c0nantエージェントワークフロー340 回インストール今日更新
リポジトリ

delegate-tickets について

新しいサブエージェントにチケットを順番に委任するスキルです。依存関係の整理、難易度の確認、失敗時の停止を行い、メインセッションで実装せずにチケットを管理するコーディングエージェント向けです。

主な機能

  1. 01依存関係に基づくチケット順序付け
  2. 02実行前の難易度確認
  3. 03チケットごとに新しいサブエージェントを使用
  4. 04コミットと受け入れ条件の確認
  5. 05問題や失敗時の停止

活用シーン

  1. 01リポジトリのチケット列の委任
  2. 02前提条件未達のチケットへの着手回避
  3. 03続行前のチケット完了確認

インストール

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

$npx skills add https://github.com/c0nant/skills --skill delegate-tickets

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

RESUMO.md
TRADUCAO.pt-BR.md
agents/
openai.yaml

詳細

チケットを委任する

チケットを順番に並べ、新しいサブエージェントに1つずつ委任します。 メインセッションはオーケストレーションのみを行います。実装、テスト、レビュー、編集、コミットは行いません。implement スキルの内部ワークフローをここに重複して記載しないでください。

入力

チケットディレクトリ、またはチケットファイルの明示的なリストと、リポジトリのパス(デフォルトは現在の作業ディレクトリ)を受け付けます。開始前にリポジトリのパスを確認してください。サブエージェントが作業ディレクトリを引き継がない場合があるため、すべてのサブエージェントへのプロンプトでリポジトリのパスを明示する必要があります。

明示的なリストは、指定された順序のままにします。ディレクトリの場合は、次のように順序を決めます。

  1. すべてのチケットファイルを読み、各ファイルの Blocked by 行を確認します。
  2. ブロッカーを先にする順序(トポロジカル順序)に並べます。相互にブロックされていないチケット間の優先順位を決める場合にのみ、ファイル名の NN- プレフィックスを使います。
  3. 依存関係と数値プレフィックスが矛盾する場合、または循環がある場合は、停止して矛盾をユーザーに提示します。推測してはいけません。

ユーザーが開始地点(「チケット04から開始」など)を指定した場合は、そこから開始し、それより前のチケットには手を付けません。

難易度ゲート

このスキルでは、中程度の作業のみを無人で実行します。開始前に、次のチケットだけではなく、順序に含まれるすべてのチケットの Difficulty: 行を確認してください。Heavy のチケットがあれば、作業を始める前に実行を止めます。

  • Standard または Light:実行します。
  • Heavy、または Difficulty: 行がない場合:そのチケットの前で実行を止め、そのチケットには Opus と近くにいる人間の支援が必要なため、手作業で /implement を実行する必要があることをユーザーに伝えます。行がない場合はブロッカーであり、デフォルトの難易度として扱ってはいけません。それより前のチケットは、順序に従って実行してかまいません。

チケットごとの差分の分離

/implement は完了時に作業を現在のブランチへコミットするため、チケットごとに1つのコミットとなり、実行中の未コミットの作業ツリーには常に現在のチケットの作業だけが含まれます。

最初のチケットに着手する前に:

  1. リポジトリで git status --short を実行します。
  2. 未コミットの変更があれば、それをユーザーに示して停止します。最初のチケットのコミットにそのチケットの作業だけが含まれるよう、先にユーザーにコミットまたはスタッシュしてもらいます。

ワークフロー

チケットごとに、順番に次の手順を実行します。

  1. すでに完了している場合はスキップ:チケットファイル内の受け入れ基準のチェックボックスがすべて - [x] なら、完了済みであることを報告して次へ進みます。
  2. ユーザーに進捗を報告します:Ticket <N>/<M>: <title>。
  3. ホストのサブエージェント機能を使って、新しいサブエージェントを1つ起動します。Claude Code では Agent、Cursor では Task、その他のホストでは同等の機能を使います。フルアクセス権を持つ汎用サブエージェントを、Sonnet(またはホストで同等の中位モデル)、effort: medium で起動します。起動ごとにモデルまたは effort を設定できないホストの場合は、そのことをユーザーに伝えて停止し、現在のセッション設定のまま起動してはいけません。ホストにサブエージェント機能がない場合は停止し、このスキルをここでは実行できないことを伝えます。
  4. 同期的に実行します。バックグラウンドでは実行せず、別のチケットと並行して実行してはいけません。このスキルでは順序どおりに進めることが重要です。常に1つのチケットだけを処理中にすることで、各コミットに1つのチケットだけが含まれるようにします。
  5. 完了するまで待ってから、次へ進む前に検証します。サブエージェントが明確かつ完全な成功を報告していること、作業がコミットされていること(git status --short がクリーンであること)、そしてチケットファイル内の受け入れ基準のチェックボックスがすべて - [x] になっていること(/review-axes が /implement の最後にコードの状態を反映します)を確認します。成功報告があっても未チェックの基準があれば失敗です。コードがチケットの要求を満たしていません。
  6. 合格したら、チケットのコミットを記録します(git log -1 --oneline)。その後、次のチケットを開始します。
  7. 失敗、ブロッカー、未解決の問題、結果への不確実性、または未チェックの基準が1つでもある場合は、直ちに停止します。そのチケットの作業(コミット済み、または未コミットの状態のまま)には手を加えず、変更内容をユーザーが正確に確認できるようにします。次のチケットを開始してはいけません。問題を報告し、指示を待ちます。

チケットごとに新しいサブエージェントを使います。前のチケットのセッションを再利用してはいけません。

サブエージェントのプロンプト

Implement `<ticket-path>` in `<repository-path>` using the `implement` skill.

When you invoke `/review-axes`, give it "the unstaged working tree" as its
fixed point, so it reviews only your ticket's changes, and give it
`<ticket-path>` as its spec argument, so it checks and ticks that ticket's
checkboxes.

Nobody is available to answer you. Any question you would ask the user (a
missing spec, an effort gate, an ambiguity) is a blocker: stop and report the
question. Never answer it yourself and never do that work inline.

Report clear success or describe any failure, blocker, unresolved issue, or
uncertainty. Include the hash of the commit `/implement` made.

最終レポート

すべてのチケットが成功したら、完了したチケットをサブエージェントのセッションおよびコミットとともに一覧表示してください。

処理が停止した場合は、失敗したチケット、その問題、および作業の場所(コミット、または未コミットの作業ツリー)を特定してください。

コメント