毎週金曜の夕方、課題管理表を開く。チケットが300枚以上あり、何が現在進行中で何が放置されているのか、もはや判別できない。1時間かけて流し読みしても、来週議論すべき課題は10枚もない——課題管理が形骸化する典型パターンです。
「AIで仕分けすればいい」と聞きますが、汎用要約だけでは判定軸がぶれます。本当に効くのは、Skillで「放置」「重複」「解決済み」「更新必要」の4分類に自動仕分けし、PMが判断にだけ集中する運用です。
この記事では、Claude Codeで課題管理表のbacklog groomingを15分で済ませる実装を、現場で動かせる粒度で解説します。
なぜbacklog groomingは続かないのか
課題管理が形骸化するのは、PMの怠慢ではなく構造的な問題です。
- 判定軸がぶれる:何が「放置」で何が「進行中」か、人によって解釈が違う
- 重複検知が辛い:似た内容のチケットを目視で探すのは300枚規模で破綻する
- 解決済みが残る:closeし忘れたチケットが積み上がり、健全性が見えなくなる
Claude Codeは、Skillで4分類の判定基準を固定し、BTSから一括取得して仕分け候補を出す運用を素直に組めます。
Claude Codeを「課題仕分け器」にする全体像
必要な要素は次の3つです。
- BTS取得MCP:JIRA・Redmine・Backlog などを読み取り専用接続
- 課題仕分けSkill:4分類で仕分け候補を生成、根拠を併記
- CLAUDE.md課題管理運用ルール:分類基準、棚卸しタイミング、close判定責任を明記
毎週金曜にSkillを叩けば、判断すべきチケットだけが手元に揃います。
ステップ1:4分類の判定基準を決める
課題管理表のチケットを次の4分類に振り分ける基準をCLAUDE.mdに書きます。
- 放置:最終更新から14日以上経過、ステータスが open のまま
- 重複:他チケットとタイトル類似度が高く、同じ事象を指している可能性
- 解決済み(クローズ漏れ):直近のコメントで「解決済み」「対応完了」「不要になった」と書かれているのにopen
- 更新必要:担当者・期日・親エピックのいずれかが空欄
これらは「事実ベースの分類」で、AIに判断を任せても再現性が高いものを選んでいます。「優先度が高い/低い」のような価値判断はAIに任せず、PMが行います。
ステップ2:課題仕分けSkillを定義する
.claude/skills/issue-grooming/SKILL.md を作成します。
---
name: issue-grooming
description: 課題管理表のオープンチケットを取得し、放置・重複・解決済み・更新必要の4分類で仕分け候補を tmp/issues/{YYYY-MM-DD}-grooming.md に出力する
disable-model-invocation: true
allowed-tools: Read, Write, mcp__jira__*
---
# 課題管理 backlog grooming Skill
## 入力
- なし(オープン状態のチケット全件対象)
## 処理
1. BTSから「open」「in-progress」状態のチケットを全件取得
2. 4分類の判定を順に実施
- 放置:last_updated < (today - 14d)
- 重複:タイトルの意味的類似度(コサイン類似度)が0.85以上
- 解決済み(クローズ漏れ):直近3コメント内に「解決済み」「対応完了」「不要」を含む
- 更新必要:assignee, due_date, epic_link のいずれかが空
3. 重複候補は「マージ提案ペア」として出力
4. 根拠(具体的な日付・類似チケットID・該当コメント引用)を必ず併記
## 出力フォーマット
- ファイル名:`tmp/issues/{YYYY-MM-DD}-grooming.md`
- 章立て:①サマリー(4分類の件数) ②放置一覧 ③重複ペア ④クローズ漏れ候補 ⑤更新必要 ⑥PM判断欄(**空欄**)
## 厳守
- 「優先度判定」は行わない(事実分類のみ)
- 重複の自動マージは絶対にしない(候補提示まで)
- ⑥PM判断欄をAIが埋めない
「重複の自動マージはしない」が安全装置です。重複と判断された2枚が実は別事象を指しているケースは現場でよくあるため、最終判断はPMが行います。
ステップ3:CLAUDE.mdに課題管理運用ルールを書く
## 課題管理 backlog grooming 運用ルール
### 4分類の判定基準
- 放置:last_updated > 14日
- 重複:タイトル意味類似度 0.85以上
- クローズ漏れ:直近3コメントに「解決済み」「対応完了」「不要」を含む
- 更新必要:assignee/due_date/epic_link のいずれかが空欄
### 棚卸しタイミング
- 毎週金曜午後にissue-grooming Skill実行
- 月曜朝の課題会議で4分類を確認、対応をその場で決める
- 月末に「クローズ件数/オープン件数」を報告
### close判定の責任
- close操作はチケット担当者が行う(PMが代理close禁止)
- 「不要」と判断する場合、理由をコメントに残してからclose
### AIに任せないこと
- 課題の優先度判定(事業文脈が必要)
- 重複ペアの自動マージ
- close操作そのもの
「AIに任せないこと」をCLAUDE.mdに明記すると、運用が崩れにくくなります。
ステップ4:実際の運用フロー
毎週の運用は次の通りです。
- 金曜午後:PMが
claudeを起動し/issue-groomingを実行 - 金曜中:放置・クローズ漏れ・更新必要を担当者にメンション。重複ペアは月曜の議論に持ち越し
- 月曜朝の課題会議:重複ペアを議論、マージor別チケット維持を決定
- 月末:クローズ件数推移をステアリング報告に追加
慣れれば金曜の15分で「今週どこを掃除するか」が決まり、月曜の課題会議が「議論」に集中できます。
期待効果と運用上の注意点
導入チームから報告される効果は3点です。
- 棚卸し時間が60分→15分:仕分け候補が手元にあるため、判断にだけ集中できる
- 課題管理表が健全な状態を保てる:放置・重複・クローズ漏れが毎週掃除される
- 新規参加者が読める課題管理になる:健全性が高いと、引き継ぎコストが下がる
落とし穴は3つ。
- 「重複候補」は必ず人間が確認する:似て非なる課題を誤マージすると履歴が壊れる
- 過剰な自動化は禁物:close操作はSkillに渡さず、必ず担当者が手で行う
- 判定基準の更新を全員に共有する:14日→7日に変えるなど、基準変更は通知してから
まとめ
- 課題管理表の形骸化は判定軸のブレと目視レビューの限界が原因
- Skillで4分類仕分けを自動化すれば、棚卸しが「判断と議論」に集中できる
- 「AIに任せないこと」をCLAUDE.mdに明記することで、自動化と責任の境界が明確になる
- 健全な課題管理表は、新規参加者にも引き継ぎやすく、組織の機動力を底上げする
ここまでで「動く課題仕分け器」は手に入ります。実務でこれを“運用ルーチンに組み込む”には、課題エスカレーション設計、優先度判定の合意プロセス、リスクとの連携といった上位設計が必要です。
AIX-102『進捗・課題・リスク管理をAIで加速する運用設計』 と PJM-104『運用ルーチン設計』 を組み合わせると、本記事のSkillをベースに、課題管理を運用ルーチンの中核に据える方法を体系で学べます。「課題管理表を作っては形骸化させる」ループから抜け出したいPMが、最短で“仕組みで掃除する運用”に到達するための導線です。