コードベース全体のレビュー・監査。perf/sec/test/arch/cq/docs の6観点を並列委譲し、優先度付き issue ファイルと観点サマリをメモリディレクトリに生成する。コードベース全体の監査・定期レビュー・リリース前品質確認の依頼時、/codebase-review 実行時に使用。境界: PR 単位は pr-review、自ブランチの提出前確認は self-review。
taskboard
taskboard の MCP tool(health / board_* / task_* / work_* / doc_* / ask_* / review_request / feedback_list / comment_reply / schedule_* / session_* / orchestrator_* / settings_* / inbox_* / prs_* / usage_get)でタスク・作業項目・文書と、案件・定期起動・セッション・受信箱を扱う。自分のセッションに紐づくタスクの列を進める・起票する時、計画の承認後に作業項目を登録し着手・完了・待ちを更新する時、計画書・設計提案を人に読ませて採否やレビューを求める時、ボードの一覧・状態を確認する時、オーケストレーターとして全体の health を見回る時、案件・定期起動・セッションを作る・変える・止める・消す時、依頼に taskboard・タスクボード・kanban・作業項目の語がある時に使用。境界: taskboard の外で始まったセッションをタスクに移すのは taskboard-adopt、pane・tab・agent の操作は herdr、作業ログ・調査記録はメモリディレクトリ、ボードの画面操作はユーザーの領域、新しい定期起動の中身(仕組みの選択・手順書・プロンプト・状態ファイル)の設計は scheduling-jobs。
インストール方法を見る含まれるファイル(1)
- SKILL.md16.9 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Taskboard
タスク 1 件に、エージェントセッション・PR・Issue・チケット・作業項目を束ねるボード。状態は各 Mac の daemon が持ち、セッションは MCP tool(server 名 taskboard)で読み書きする。アプリ(Mac / iPad / iPhone)は同じ daemon を見る。
前提
ツール一覧に mcp__taskboard__* があること。無ければ「taskboard の MCP が繋がっていない(claude mcp list で確認)」と伝えて止まる。CLI や API を推測して直接叩かない。
task_id を省くと、このセッションに紐づくタスクを使う。セッションは、taskboard の herdr の pane なら pane(HERDR_PANE_ID)で、その外の Claude Code なら MCP に渡るセッション ID(CLAUDE_CODE_SESSION_ID)で見分ける。taskboard が起動したセッションは SessionStart hook が結ぶ。work_list が「紐づくタスクが無い」と返したら board_overview で候補を見て、task_update の link_session: true で結ぶか、task_create で起票する。taskboard の外で始まった作業をまとめて移すときは /taskboard-adopt スキルを実行する。
結んだ後の案内(タスク・今の列・案件の列の説明)は session_guide で読める。SessionStart の案内が無いセッションで結んだとき、圧縮で案内が消えたと感じたときに読む。
列
列は案件の列の説明に従って選ぶ。 列の id・名前・説明は案件ごとに違い、人が直せる(既定の列を消した案件、列を足した案件もある)。説明は SessionStart の案内・session_guide・task_get(今の列)・task_update(移した先)・board_overview に出る。id をハードコードしない。
新しい案件の既定の列(参考。今の案件の説明が優先する):
| 列の名前 | 既定の説明 | 標準的な id |
|---|---|---|
| 常設 | 期限なく続く仕事(定常の運用・問い合わせ対応など)。完了にしない | standing |
| レビュー依頼 | 他人の PR・チケットのレビューを頼まれたタスク。レビューを出してもマージまでここに置き、自分の作業の列へ移さない | review_req |
| 未着手 | やると決めたが、まだ始めていない | todo |
| 計画 | 方針・設計を詰めている | planning |
| 作業中 | 実装・調査を進めている | working |
| レビュー中 | PR を出してレビューを待っている | review |
| デプロイ中 | 承認され、反映・リリースを待っている | deploying |
| 完了 | 終わった | done |
| 見送り | やらないと決めた | wontfix |
自分のセッションのタスクを進める
自律的に動かしてよいのは、自分のセッションに紐づくタスクだけ。 他のタスクの列・作業項目は、ユーザーの指示なしに変えない。
PR の状態に対応する列の前進は daemon が自動で行う(PR が ready なら review、merge されれば案件の「マージしたら」の列(既定は deploying。その列を消した案件では done)。前進方向のみで、終端列・常設・足した列は触らず、進める先の列が案件に無ければ動かさない。Stop hook でも同じ判定が走る)。この前進を手で task_update しに行かない。手で動かすのは daemon が判断しない列(planning / working / wontfix 等)と、ユーザーから指示された移動だけ。
review_req に入ったタスクは review_req と終端列しか取らない。 紐づいているのは他人の PR なので、自分が approve しても作業段階は進まない。レビューを投稿しても review_req に留める(「レビュー済み」は daemon が PR の状態から出すので、タイトルに印を付けない)。紐づく PR が全部マージかクローズになると daemon が done へ進めるので、手で done へ移さない。
紐づくタスクが無い状態で PR が open していれば、Stop hook が自動起票する(タイトルは PR のタイトル、列は draft なら working / ready なら review(無ければ常設とレビュー依頼を除く最初の進行中の列)、PR URL をリンク、セッションを紐づけ)。同じ URL のタスクが既にあれば起票せずそれに紐づける。
列を動かすのは確認できた事実に対応する遷移だけ。自分が実行した操作(PR を出した・merge した)と task_get の内容が根拠になる。根拠なく先の列へ進めない。判断がつかないときは動かさず、ユーザーに聞く。
作業項目
タスクの中の計画を daemon に持たせ、ボードのカード・タスク画面・iPhone に「今どこまで進んで、何を待っているか」を出す。
- 計画が承認されたら、全項目を
work_addで登録する(Phase 2 の計画書の作業項目と 1 対 1。1 項目 = PR 1 本か、PR 内の 1 段階)。順序は計画順。前の項目が終わらないと始められないものはdepends_on - 着手で
state: doing、終わったらstate: doneと成果物(deliverable_kind/deliverable_ref: PR の URL、コミットの SHA、ファイルのパス、文書の id) - 待ちに入ったら
state: waitとblocker_kind(approval自分の承認か回答 /review他者のレビュー /ci/deploy/item別の項目 /external)とblocker_text1 行。待ちが解けて作業に戻るときにdoingへ動かすと blocker は消える - 委譲した項目は
ownerに委譲先の名前(herdr の agent 名)。自分なら省く - やらないと決めた項目は
state: drop(母数から外れる) work_listは計画順に状態・待ち理由・成果物・依存を返す。再開・compaction 復帰の後は、メモリの記録より先にこれを読んで今の状態を取る
完了基準: work_update の応答が意図した状態になっている。
起票する
起票の前に、紐づける URL で既存タスクを引く(board_overview に PR の短縮名が出る。同一性は URL で判断し、タイトルでは照合しない)。task_create は同じ URL のタスクがあればエラーで止まるので、そのときは返ってきた番号に task_update で足す。
- 粒度は「1 タスク = 1 つの完了判定」。PR 1 本・チケット 1 件・調査 1 件が単位。複数 PR にまたがる 1 つの作業は、束ねる 1 タスクにリンクを複数付ける(PR ごとに割らない。PR ごとの進みは作業項目で表す)
- タイトルは、何が終われば完了かが読み取れる形にする。 チケット由来ならチケット側の表題をそのまま使う
noteにはセッションをまたいで必要になる文脈だけを書く(決めた方針・詰まっている点・再開条件)。作業ログはメモリディレクトリ側に書く- 列を省くと
todo、無ければ常設とレビュー依頼を除く最初の進行中の列に入る(Board.defaultColumn) - 案件は
board(id か名前)で選ぶ。省くとアーカイブしていない最初の案件。別の案件へ移すのはtask_updateのboard - 起票するとこのセッションが紐づく(
link_session: falseで結ばない)
文書を見せる・聞く・レビューしてもらう
ユーザーが後から見返す判断文書(計画書・設計提案・調査結果)はタスクに載せ、アプリの受信箱から読ませる。どの tool もブロックしない。
doc_publishで載せる(pathかcontent+name)。同じnameへの再 publish は新しいリビジョンになり、前の版のコメントは残る。比較軸が 3 つ以上・状態遷移・段階の順序を示す文書は HTML にする(外部の画像・CSS・script は読み込まれないので、全部インラインで書く)ask_userで選択肢を出して聞く。背景・判断材料・trade-off はcontext(markdown)に書き、質問文に詰め込まない。既存の文書に付けるならnameにその文書名を渡し、contextは渡さない(本文は変わらず、質問だけが付く。背景はその文書の本文が担う)。質問は全問に答えるまで送れないので、問いは本当に要るものだけにするreview_requestで、載せた文書のレビューを頼む(noteに何を見てほしいか 1 行)- 回答とレビューは、ターンを終えて入力待ちになった時点で daemon が人の発話としてこのセッションの入力欄に入れる(herdr の pane の無いセッションでは Stop hook が最大 1 時間待って注入する)。聞いたら答えを前提にした作業は止め、答えに依存しない作業だけ進めてターンを終える。返事を待つために tool を繰り返し呼ばない
- 届いたレビューのコメントは 1 件ずつ対応し、
comment_reply(comment_idは届いた本文のcommentId)で何をしたかを返す。直したらresolve: true。文書を直したら同じnameでdoc_publishし直す - Stop hook が無い環境(
claude -p・herdr の外)では、feedback_listで届いた分を取る。各項目は 1 回しか返らない
別のセッションへ送る・起こす
session_list で pane と状態を見て、session_prompt で文字を送る。委譲先への指示と、止まっている自分の委譲先への返答に使う。動いている人のセッション(working)と、自分が起こしたのでないセッションには送らない。
委譲先を新しく起こすときは session_start(task_id 省略で自分のタスク、cwd 省略で自分の cwd、worktree_branch で worktree を切る)。エージェントは kind(claude / codex)、Claude Code のモデルと effort は model(opus / fable / sonnet)と effort(low / medium / high / xhigh / max)で選び、省略すると opus / medium。前の版の preset も受けるが、model・effort を渡すとそちらが優先する。daemon が tab と agent を作って起動プロンプト(省略時は列の既定)を送り、そのタスクに結ぶ。進み具合は session_list に出る。herdr の agent start を自分で叩くより、紐づけと起動プロンプトが揃うこちらを使う。
全体を見回る・管理する
アプリでできる操作は MCP でもできる。主にオーケストレーターが全体の health を保つために使う。
| 用途 | tool |
|---|---|
| 全体の様子(daemon・herdr・gh・APNs・オーケストレーター・利用枠・blocked のセッション・失敗した起動・うまくいかなかった定期起動・受信箱の対応待ちの数) | health |
| 案件 | board_create / board_update(名前・起動プロンプト・merge_target・アーカイブ・edit_columns / add_columns / remove_columns / reassign)/ board_delete |
| タスク | task_update の board(別の案件へ)・remove_links・unlink_session / unlink_sessions(紐づけを外す。セッションは止めない)/ task_delete |
| 作業項目・文書・質問 | work_delete(drop と違い母数からも履歴からも消える)/ doc_read / doc_delete / ask_cancel |
| 定期起動 | schedule_runs(各回の結果と失敗の理由)/ schedule_delete。schedule_create / schedule_update の task_id・new_task(board)で常設タスクに結ぶ(結ばないと各回のセッションはどのタスクにも結ばれない)、clear_task で外す。新しく作るときは /scheduling-jobs スキルで中身を決めてから登録する |
| セッション | session_screen(画面の文字。blocked が何を待っているか読む)/ session_keys(承認のキー)/ session_stop / session_resume / session_history / session_rename |
| マシン | orchestrator_status / orchestrator_start / orchestrator_prompt / orchestrator_restart / settings_get / settings_update / inbox_list / inbox_dismiss / inbox_restore / prs_list / prs_refresh / usage_get |
- 見回りの順:
health→ blocked のセッションはsession_screenで何を待っているかを読む → 失敗・スキップした定期起動はschedule_runsで理由を見る → 戻すならsession_stop・session_resume・schedule_run - 消す tool(
task_delete・board_delete・work_delete・doc_delete・schedule_delete)とsession_stopのforceは、1 回目は何が消える(止まる)かを返すだけで実行しない。 中身を読んで、消してよいと確かめてから同じ引数にconfirm: trueを付けて呼び直す。消すのも PR の操作も、人の指示があるときだけ - 自分のセッションに紐づくタスク以外の列・作業項目は、health のために動かすときだけ触り、理由をそのタスクの
noteに 1 行足す(noteは丸ごと置き換わるので、task_getで今の備考を読んでから足す) orchestrator_restartはオーケストレーターを止め、今の会話を破棄して新しく起こす(引数なし。常駐を切っていても起こす。設定の引数と起動プロンプトで、--resumeなし)。会話が長くなった・様子がおかしいときに使う。元に戻せないので、人に確かめてから呼ぶ。オーケストレーター自身から呼ぶと、自分の pane が閉じて応答は届かないsession_keys・session_stop・session_promptは自分の pane には使えない。session_keysは先にsession_screenで画面を読み、何に答えるかを確かめてから送る
Gotchas
work_updateでwaitにするときはblocker_kindかblocker_textが必須(無いとエラー)task_deleteはtask_idを省けない(このセッションのタスクを暗に消さない)- 案件を消せるのはタスクが 0 件のときだけ。 残っていれば
task_updateのboardでほかの案件へ移すかtask_deleteで消してから task_idの解決は pane か Claude Code のセッション ID 経由。どちらも無い所(Codex、CI)では毎回task_idを渡す/clearの後の会話は、MCP に/clearの前の会話の ID が残る(MCP の process が起動し直されない)。/clearの後にlink_sessionで別のタスクへ結ぶと前の会話を結ぶので、/exitしてclaude --continueで開き直してから結ぶ- タスク番号は削除しても再利用されない。 一度得た番号は安定した handle として使える
- 同じ文書に未回答の質問は 1 束だけ。 新しい
questionsを付けて publish すると前の未回答の束は取り下げられる(同じ内容なら作り直さない) - 文書を消すと、その文書の質問とコメントも消える
- daemon が止まっていると tool はエラーを返す。 その旨を伝え、
launchctl kickstart -k gui/$UID/uk.whatn.taskboarddを案内する(自分では実行しない)
既存設定との関係
- pane・tab・agent そのものの操作: /herdr(本スキルは taskboard の tool だけを扱う)
- 作業ログ・調査記録: @context/memory-file-formats.md(note・作業項目と使い分ける)
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
変更をコミットする。/commit 実行時、「コミットして」「pushして」等の依頼時に使用。--push 引数または「pushして」の依頼で push も行う。
PR を Draft で作成する。PR テンプレートを全セクション埋め、対象 repo の既存 PR の分量に合わせて書きすぎを削る。PR 作成の依頼時、実装が一段落して PR 化する時、/create-draft-pr 実行時に使用(gh pr create を直接実行しない)。引数でベースブランチを指定できる。境界: 個別レビューコメントへの対応は pr-comment。
スキルを新規作成する。「スキルを作って」「この手順をスキル化して」等の依頼時、/create-skill 実行時に使用。AGENTS.md・context・既存スキルと整合させ、重複・競合を避ける。境界: 既存スキル・指示ファイルの修正は update-inst、指示ファイル全体の監査は instructions-audit。
抽象的な要件・事業側の要求を深掘りし、既存実装との整合を確認して実装マスタとシステム要件書を作成する。「こういう機能を作りたい」「この要求を満たす機能を設計して」等の抽象要件の提示時、既存機能の拡張や Phase 分割の要件定義開始時、/design-feature 実行時に使用。境界: 要件確定後の実装計画書・PR 分割と実装進行は plan-feature-prs。
画面の設計判断(ナビゲーション・重ね方・通知と空状態と読み込み・外枠とトークンと状態表現)の型を決定表で選び、アプリ内の全画面で揃える。画面・ページ・レイアウト・ナビゲーション・ダイアログ・コンポーネントを新しく作る・作り直す時、モックやダッシュボードを作る時、サイドバー・タブ・モーダル・シート・toast・バナー・空状態のどれを使うか決める時に使用。PJ に components.json があれば shadcn の部品とトークンへの対応も扱う。主要なデザインシステム(Material・HIG・Carbon・Primer・Atlassian・Fluent・GOV.UK・NN/g・WAI-ARIA APG・WCAG)の一致点を規則にし、食い違いの採否を定めてある。境界: 画面の文言は writing-ui-text、画面に何を出すかと提示前の完了基準は context/ui-artifact-standards.md、コードの実装原則は writing-code、shadcn 部品の API と組み立ては shadcn。