mcpField
W
whats-next

whats-next

github.com/mtngtoolsエージェントワークフロー039 回インストール3 週間前に更新
リポジトリ

whats-next について

現在のマップの状態を、次のセッション用のコピー可能なプロンプトとチケット一覧にまとめる引き継ぎスキルです。マップが完了していない限り、次の作業も同じマップ内に限定します。

主な機能

  1. 01引き継ぎ前にマップの状態を更新
  2. 02ブロッカーまたは短時間の次タスクを選定
  3. 03コピー可能なプロンプトを作成
  4. 04チケットと着手可能な作業を一覧化

活用シーン

  1. 01セッション間で作業を引き継ぐ
  2. 02進行中のマップで次の作業を決める
  3. 03チケット状態と着手可能な作業を確認

インストール

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

$npx skills add https://github.com/mtngtools/agents --skill whats-next

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

詳細

次に進むこと

次のセッションの開始を引き継いでセッションを終えます。ひと目で読めて、編集せずにコピーできる短いプロンプトを用意します。

同じマップを進みます。 現在のマップが完了していない限り、次の作業も同じマップ上で行います。別の取り組みや、魅力的な寄り道、途中で思いついた整理作業は提案しないでください。一度に一つのマップに取り組むことが /wayfinder の規律であり、それが崩れるとすれば、このスキルを使うときです。

出力するのはアドバイスではなく、プロンプトです。 人間が行動するために必要な情報はすべて、コピー可能なブロック内に含めます。ブロックに収まらない説明は、上に付ける1行のラベルに入れるか、どこにも記載しません。

手順

1. マップとリポジトリを特定する

引数、セッション、トラッカーの順に確認し、どれを見ても特定できない場合は検索せずに尋ねます。リポジトリを調べてマップを探すのではなく、どのマップかを人間に尋ねてください。このスキルで扱うのは、直前まで取り組んでいたマップです。

完了条件: マップ番号と owner/name がそれぞれ1つ決まっていること。

2. マップを更新してから、現状を確認する

新たに /read-the-map を実行します。このセッションですでに読んだマップであっても、ほぼ必ず再読してください。前回読んでからトラッカーの状態に影響する可能性のある変更(チケットの引き受け、クローズ、コメント)が一切ない場合に限り、再読を省略できます。古い状態をもとに、すでに不要な作業のプロンプトを渡してしまうことが問題です。迷ったら更新してください。

チェックリスト、判定、判定から次の作業への対応関係は /read-the-map が担います。このスキルは、その結果を貼り付け可能な形にするだけで、判断を付け加えることはありません。

判定が Done の場合、つまりすべての作業が完了し、分割され、マージ済みの場合は、次の作業はこのマップの外に進む唯一のケースです。その旨を伝え、次の取り組みを人間に選んでもらいます。

指定された次のチケットが古い場合、つまりマップが次に挙げているチケットがトラッカー上ですでにクローズされている場合は、そのチケットのプロンプトを作る前に止めます。チケット、そのクローズ状態、マップに記載されている内容を伝え、推測せずにどのように整理するかを人間に尋ねます。候補は、そのチケットを除外してフロンティアを再計算する、クローズをマップ自体の進捗として扱って先に進む、または誤ってクローズされたものとして報告する、のいずれかです。

完了条件: 判定、指定された次の作業(1~2件)、すべての子チケットのステータスがそろっていること。いずれの情報も、1回以上前の読み取りの内容であってはなりません。

3. 選択肢を絞る

2件、最大でも3件です。 作業を選ぶ理由は、ブロッキング(他の作業の多くがそれを待っている)か、クイック(短いセッション1回で完了し、ボードから外せる)のどちらかです。それ以外は次の作業ではありません。3番手の選択肢として並べるのではなく、完全に除外してください。

完了条件: 残った各作業が、上記2つの理由のいずれかに該当していること。

4. プロンプトを引き継ぐ

以下の形式で、作業ごとにブロックを1つ作ります。作業がビルドチケットの場合は、独自の判断ではなくこちらのルールに従ってください。ブロックの後には、ブロック内に書けない事情が本当にある場合に限り、1行だけ記載します。

完了条件: 人間がブロックをコピーして、新しいセッションに変更せずに貼り付けられること。また、ビルドチケットが含まれる場合は、それぞれに /implement とワークツリーの行が記載されていること。

5. ボード全体を提示する

「次に進むこと」のブロックの下に、マップの残り全体を記載します。マップの名前を付けた見出し、すべてのチケットを含む1つの表、そして現時点で着手可能なその他の作業すべてに対する貼り付け可能なプロンプトを用意します。この3つすべての形式はボード全体に記載されています。

完了条件: 見出しにマップ番号をその課題へのリンクとして含め、タイトルも記載されていること。手順2で確認したすべての子チケットとバックログチケットが、それぞれ表に1回ずつ登場すること。「次に進むこと」で選んだ作業以外に着手可能なものがあれば、それぞれにブロックがあること。着手可能な作業がほかにない場合は、その旨を伝えていること。

プロンプトの形式

どの形式にするかは /read-the-map の入り口で決まります。その入り口がビルドチケットなら、以下のルールに進んでください。ビルドチケットではそれが答えのすべてです。 それ以外には、2つの形式があります。

マップ上の意思決定チケット。 wayfinder:<type> の子チケットです。独自のスキルはないため、/wayfinder 経由で対応します。

/wayfinder <map#> take #<n> — <title> in repo <owner/name>

人が呼び出すスキル。 スキルが先に来て、/wayfinder は登場しません。スキルがマップまたはチケット自体を受け取ります。

/decisions-to-specs <map#> in repo <owner/name>
/specs-to-tickets <map#> in repo <owner/name>
/prototype #<n> in repo <owner/name>
/implement #<n> in repo <owner/name>

プロンプトは可能な限り1行にまとめてください。次のセッションは自分でマップを読むので、作業の説明を加えるのは余分です。

リポジトリに変更を加える作業 — /decisions-to-specs、/implement、/prototype — では、プロンプトの末尾にワークツリーに関する注意書きを付けてください。貼り付けた先にも引き継がれます。

/decisions-to-specs 157 in repo mtngtools/mtng-dotnet-mono
Work in a worktree.

トラッカーだけに触れる作業(take、/specs-to-tickets)には注意書きは不要です。隔離するものがないためです。

ビルドチケットは、必ずワークツリーで /implement を使う

ビルドチケットとは、マップ上のオープンな課題のうち、wayfinder:<type> の子チケットではないものすべてです。 確定済みの仕様から /specs-to-tickets が切り出したバックログであり、ほかにどんなラベルが付いていても該当します。/read-the-map はチェックリストの項目 3 で、この対象を漏れなく集めます。チケットがその対象なら、このセクションに従ってプロンプトを決めます。上記の2つの形式は適用されません。

すべてのビルドチケットでは、手順 4 の候補に表示される場合も、ボードの「すぐに着手可能」ブロックに表示される場合も、必ず次の2行を返してください。

/implement #<n> in repo <owner/name>
Work in a worktree.

ビルドチケットに対して、/wayfinder <map#> take #<n> を使わないでください。 take は意思決定(厳しい質問、調査、計画策定)のための入り口です。ビルドチケットに使うと、次のセッションが、すでに決定され仕様も確定している作業について、再び意思決定を行うことになります。ビルドのバックログに使う動詞は /implement であり、ほかの選択肢はありません。

ワークツリーの行を省かないでください。 これは1行で、スキルを読み込まないセッションに貼り付けても残ります。

ワークツリーの分岐元は、このプロンプトではなく /implement が決めます。 /implement はフェッチし、重複するワークツリーやオープンな PR を調べ、何かを切り出す前に(未マージの PR に作業を積み重ねるべきかどうかも含めて)人に確認します。まだ実行されていない確認にプロンプトで先回りして口を出すことになるため、行は上記のとおり短いままにしてください。

ラベル

ブロックが1つならラベルは不要です。複数ある場合は、各ブロックの上に、そのブロックをリストに含める理由を1行のラベルで示してください。

ほかの3つのチケットの前提を解消します

/wayfinder 157 take #163 — presentation timing base unit in repo mtngtools/mtng-dotnet-mono

すぐに対応可能 — 最後の意思決定を解消します

/decisions-to-specs 157 in repo mtngtools/mtng-dotnet-mono
Work in a worktree.

ラベルは、ブロックを選ぶためのものです。貼り付けるプロンプトに必要な指示を含めるものではありません。次のセッションが知る必要のあることは、すべてブロック内に記載してください。

ボード

ステップ 2 で /read-the-map がすでに取得したチケットとバックログをもとに作成する見出し、テーブル、すぐに使えるプロンプトです。トラッカーをもう一度確認する必要はありません。

見出しには、マップの番号をその課題へのリンクとして記載し、その後にタイトルを続けます。「Board」という単語だけにしたり、タイトルだけにしたり、#157 だけにしたりしてはいけません。複数のセッションが同時に進行し、それぞれ最後にこの形式のいずれかが出力されます。どのマップかわからない、あるいは開けないボードは、スクロールして見えなくなれば意味のないテキストです。

## Board: [#157](https://github.com/mtngtools/mtng-dotnet-mono/issues/157) — presentation timing

**マップを特定するのは番号です。**そして、抜け落ちるのも番号です。タイトルだけでも読めますが、実際に作業するには人が検索しなければなりません。トラッカー上でタイトルが変更されることもあれば、よく似たタイトルが複数のマップで並行して使われることもあります。また、以下のブロックにあるプロンプトはすべて、タイトルではなく番号を使います。## Board: presentation timing も ## Board と同じ問題です。必ず最初に番号を書いてください。

リンクにしてください。 /read-the-map ですでにマップを取得しているため、ここに URL を記載しても手間はかかりません。また、マップそのものを開くために人が使う場所は見出しだけです。下のチケットテーブルの各行にリンクを付けるのも同じ理由です。検索に貼り付ける必要がある番号は、あなたがリンクを書かなかったということです。

どちらの部分も、トラッカーに記載されているとおりに記載します。タイトルが長くても、全文を記載してください。名前を省略するのは、名前を記載しないのと同じ問題です。

**チケットテーブル。**子チケットは未完了・完了を問わずすべて記載し、ビルドバックログも含めます。フロンティアだけでなくマップ全体を載せることで、人がトラッカーを開かずに全体を把握できます。

| # | Ticket | Type | Status | Blocked by |
|---|---|---|---|---|
| [163](url) | presentation timing base unit | wayfinder:task | open, unclaimed | — |
| [164](url) | grill: base unit for timing | wayfinder:grilling | closed | — |
| [165](url) | grill: frame boundary rule | wayfinder:grilling | open, unclaimed | — |

すぐに使えるプロンプト。 未完了で、ブロックされておらず、担当者がなく、wayfinder:grilling に該当するかビルドバックログに含まれるチケットごとに、プロンプトの形式のブロックを 1 つ記載します。これはステップ 4 の厳選された候補以外で、着手できる作業です。grilling チケットでは /wayfinder <map#> take #<n> を使用します。ビルドチケットでは、上記のルールにある 2 行の /implement ブロックを使い、worktree の行も含めます。ここでも、ステップ 4 と同じルールです。

各ブロックには、チケット名を示す太字の 1 行ラベルを付けます。理由は不要です。ブロックが並んだときに見分けられるだけの情報を記載してください。

#165 — grill: frame boundary rule

/wayfinder 157 take #165 — grill: frame boundary rule in repo mtngtools/mtng-dotnet-mono

#171 — frame clock adapter

/implement #171 in repo mtngtools/mtng-dotnet-mono
Work in a worktree.

ステップ 4 ですでに貼り付けたチケットは省略してください。全体を通してチケットごとにブロックは 1 つだけにし、同じものを 2 回記載してはいけません。「次にやること」の候補にない未完了チケットがなければ、ここにブロックを記載しないでください。その場合は、このセクションを何も書かずに空欄にするのではなく、その旨を 1 行で記載してください。

フローの中での位置づけ

セッション間の引き継ぎにあたります。/read-the-map はこのマップの現在の状況を示し、/whats-next はそのマップに対して作業するために入力する内容を示します。どのマップを使うかという質問に限っては、/check-wayfinder-maps を使います。これは今回とは別の質問です。/check-wayfinder-maps のテーブルはリポジトリ全体の各マップを 1 行ずつ表示します。このスキルのボードは、対象の 1 つのマップにある各チケットを 1 行ずつ表示します。つまり、複数マップの概観と、1 つのマップの詳細です。

/are-decisions-from-this-session-saved と対になるものです。前者はこのセッションで何も残し忘れていないことを確認し、こちらは次のセッションが現在地を再確認せずに始められるようにします。

コメント