Taskboard Adopt
taskboard の外で始まった作業を、taskboard のタスク 1 件に載せ替える。終わった後は、このセッションが taskboard から起動したセッションと同じに扱える(task_id を省いた tool、Stop hook の回答とレビューの注入、SessionStart の案内)。
前提
ツール一覧に mcp__taskboard__* があること。無ければ「taskboard の MCP が繋がっていない(claude mcp list で確認)」と伝えて止まる。
このセッションは、taskboard の herdr の pane なら pane で、それ以外は Claude Code が MCP に渡すセッション ID で見分けられる。どちらでもないセッション(Codex、claude -p の単発)は結べないので、以後の tool に毎回 task_id を渡すよう伝えて、手順 2 までで止める。
手順
1. 今の作業を確かめる
結ぶ先を決める材料を、推測でなく実物から取る。
- 作業ディレクトリ・ブランチ(
git branch --show-current)・未コミットの変更の有無
- そのブランチの PR(
gh pr view --json url,title,state,isDraft)と、会話で扱ったチケット・Issue の URL
- メモリディレクトリの記録があれば、計画ファイル(
30_plan.md 等)と 05_log.md。状態欄は書いた時点の観測なので、項目の済・未済は手順 5 で実物と突き合わせる
2. 紐づくタスクを探す
board_overview で全部の案件のタスクを見る。同一性は URL で判断する(PR の短縮名が行に出る。タイトルでは照合しない)。
- 同じ PR・チケットの URL のタスクがあれば、それが結ぶ先
- URL が無い作業(調査・運用)は、題と備考が同じ完了判定を指すタスクがあればそれ。迷ったら、候補の番号と題を並べてユーザーに聞く(推測で既存のタスクに結ばない)
- 見つからなければ手順 3 で起票する
3. 結ぶ
- 既存のタスクに結ぶ:
task_update に task_id と link_session: true
- 起票する:
task_create(title は何が終われば完了かが読める形、links に URL、note にセッションをまたいで要る文脈だけ)。起票するとこのセッションが結ばれる。粒度は「1 タスク = 1 つの完了判定」
応答に「このセッション(…)を結んだ」が出れば結べている。「結べなかった」が出たら、その文の理由を伝えて止まる。
/clear の後の会話では、MCP は /clear の前の会話の ID を持ったまま動く。/clear の後に結ぶと、前の会話を結んでしまう。そのときは /exit して claude --continue で開き直してから結ぶよう伝える。
4. 案内を読み、列を合わせる
session_guide で、SessionStart と同じ案内(今の列と、案件の全部の列の id・名前・説明)を読む。以後、列はこの説明に従って選ぶ(列は案件ごとに違い、既定の列を消した案件もある)。
今の列が実際の状態と違えば、確認できた事実に対応する列へ task_update で移す(例: 実装を進めているなら作業中の列、PR を出してレビュー待ちなら daemon が PR の状態で進めるので手で動かさない)。根拠が無ければ動かさない。
5. 計画を作業項目に写す
work_list で既にある作業項目を見てから、足りない分だけ足す(同じ項目を二重に登録しない)。
- 計画の項目を計画順に
work_add(1 項目 = PR 1 本か、PR 内の 1 段階)。順序の依存は depends_on
- 済んだ項目は
state: done と成果物(PR の URL、コミットの SHA、ファイルのパス)。済んだかは、コミット・PR・ファイルを開いて確かめる
- 進めている項目は
doing、待ちは wait と blocker_kind・blocker_text
- ユーザーが後から見返す計画書があれば
doc_publish で載せる。セッションをまたいで要る文脈(決めた方針・詰まっている点・再開の条件)は task_update の note に書く
6. 報告する
結んだタスクの番号と題、今の列、登録した作業項目の数(済・作業中・待ち)を短く伝える。以後は /taskboard スキルに従う。
Gotchas
- taskboard から起動したセッションには使わない。 SessionStart の案内(「このセッションは taskboard のタスク #…に紐づいています」)が既にあれば、結ばれている。
task_get で確かめるだけでよい
- 1 つのセッションを 2 つのタスクに結ばない。 別のタスクへ移したいときは、ユーザーに確かめる(daemon は同じ会話を複数のタスクに結べてしまい、
task_id を省いた tool がどちらを指すか分からなくなる)
- ほかのセッションのタスクの列・作業項目は変えない。 結ぶ先が別のセッションの動いているタスクでも、自分が足すのは自分の作業の分だけ