3065 文字
15 分
Claude Codeでの個人開発、Backlog.md MCPに課題管理を任せたらREADMEまで自動更新できた
この記事について

Claude(Anthropic)との共同編集により作成されました。

要約
  • 個人開発の「タスク管理どうする問題」を Backlog.md^1 + その MCP サーバ^2 に倒したら、Claude Code との相性がかなり良かった
  • backlog/tasks/*.md がそのままタスクの実体になり、Claude が直接読み書きできるので「Claude に渡す材料置き場」と「人間のタスクボード」が一致する
  • backlog board export --readme で README のボード部分が自動更新される。公開リポジトリでも進捗が一目で見える
  • AC(受け入れ条件)を先に書く運用が Claude Code との認識合わせを速くする。tobari の MVP(永遠/深海/幕開けの 3 ページ)はこのフローで 1 日くらいで Cloudflare Pages まで到達した
  • tobari 自体の話は前日の紹介記事に書いた。本記事はその裏側の運用記録

前日の記事で tobari という小さな Web アプリを公開した話を書いた。今回はその開発側、個人開発のタスク管理を Claude Code + Backlog.md MCP に倒したらどうだったか の記録。

結論から書くと、Claude Code との相性がかなり良かったので、似たような個人開発の規模感の人には推せる構成。以下、具体的にどう運用したか・何が便利だったか・何で詰まったかをまとめておく。


題材: tobari の MVP は 3 ページのマイクロアプリ#

詳細は紹介記事に譲るが、tobari は「視界に帳を下ろす」だけの超軽量 Web アプリ群で、MVP として以下 3 ページを Cloudflare Pages に置いた。

  • 永遠の帳(/towa/)— ずっと暗いだけ
  • 深海の帳(/shinkai/)— ダークブルー + 泡 + ゆらぎ
  • 幕開けの帳(/makuake/)— 60 分周期でゆっくり明滅

HTML + CSS + Vanilla JS のみ、フレームワークなし、1 ファイル完結。スコープが小さいぶん、開発フロー側のしくみを試す題材としてちょうど良かった。


構成: Claude Code + Backlog.md MCP の役割分担#

使ったツールはシンプルに 3 つ。

ツール役割
Claude Code実装・レビュー・コミット
Backlog.mdタスクをローカル Markdown で永続化(backlog/tasks/*.md
Backlog.md MCP サーバ^2Claude Code から Backlog を CLI/MCP 経由で操作する経路

Backlog.md は「タスクをローカルの Markdown ファイルとして管理する」コマンドラインツールで、Git でそのまま履歴管理できる。各タスクが backlog/tasks/task-N - <title>.md という 1 ファイルに対応する、ローカル完結の Issue Tracker のような立て付け。

MCP サーバが付属しているので、Claude Code から backlog.create_task backlog.update_task 相当の操作を直接呼べる。Claude が同じ Markdown ファイルを「読む対象」「書く対象」の両方として触れるのがこの構成の肝。


実際の運用フロー#

tobari では最初に SPEC.md(仕様メモ)を書いて、それを Claude にざっくり読ませた上で「タスクに割って」と頼んだ。出てきたのが以下。

IDタイトル状態
TASK-1現状のドキュメントを git にコミット&プッシュDone
TASK-2永遠の帳を実装するDone
TASK-3永遠の帳を Cloudflare Pages へ初回リリースDone
TASK-4深海の帳を実装するDone
TASK-5深海の帳をリリースDone
TASK-6幕開けの帳を実装するDone
TASK-7幕開けの帳をリリースDone

「実装」と「リリース」を別タスクに割ったのは結果的に正解で、Cloudflare Pages の初回セットアップ(プロジェクト作成・URL 構成決定・デプロイ手順記録)は実装とはまったく別の作業として独立させたほうが、Claude にも自分にもやることが明確になる。

各タスクの中身は Backlog.md の標準セクションを素直に使った。

  • Description — そのタスクで何を達成するか
  • Acceptance Criteria(AC) — 受け入れ条件のチェックリスト
  • Implementation Plan — 実装方針(Claude が書く)
  • Implementation Notes — 実装中・実装後のメモ
  • Final Summary — 完了時の要約

このセクション分けが、後述するように Claude Code との相性に効いてくる。


いちばん便利だったのは backlog board export --readme#

backlog board export --readme を一発叩くと、README の特定区間(<!-- BOARD_START --> から <!-- BOARD_END --> まで)に現在のタスクボードを Markdown テーブルとして書き込んでくれる。

tobari の README はこれで自動更新される運用にしてあって、git push するたびに最新のボードが GitHub 上で見える(tobari のリポジトリは非公開だが、ここでは形だけ抜粋すると以下のような表が README に並ぶ)。

| To Do | In Progress | Done |
| --- | --- | --- |
| **TASK-8** - ブログ掲載記事を公開 | | **TASK-7** - 幕開けの帳をリリース |
| | | **TASK-6** - 幕開けの帳を実装する |
| | | **TASK-5** - 深海の帳をリリース |
| ... |

何が嬉しいか。

  • README を開けば進捗が見える。別ツール(Notion / Linear / GitHub Issues)を行き来しなくていい
  • 公開リポジトリでもそのまま使える。タスクの中身までは見せたくなくても、ボードだけは出すという中間運用ができる
  • Claude にも「現状」が常に共有される。Claude Code は CLAUDE.md を必ず読むが、その並びで README も視界に入る

「タスクの実体(Markdown)」と「人間が眺めるボード(README の表)」が同じソースから出ているので、ズレようがない。

これは自分の経験で言うと、Kaggle のときは結局 .md ファイル 1 枚にメモを書き溜めて、それを毎回 Claude Code に読ませる運用にしていた。軽快ではあるが、進捗の俯瞰には弱い。一方で業務だと既存の課題管理 SaaS を使っていて、こちらは進捗の俯瞰は強いが、MCP の口が無くて Claude と結合できないので、課題側の文脈を Claude に渡すたびにコピペが発生する。Backlog.md + MCP は、その間を埋めるちょうどいい位置にある。


AC は会話の中で固める — 流れは「memo → 仕様 → Backlog 登録 → ロードマップ → 課題登録」#

運用してみての実感として、Acceptance Criteria(AC)はかなり効く。ただし「実装前に AC を全部書き上げてから Claude に投げる」というよりは、Claude との会話の中で AC が固まっていくのが実際の流れだった。

tobari でやった順番はこう。

  1. ネタメモ(my-thinking/ 配下の .md)にぼんやり構想を書く
  2. それを Claude に読ませて、まず docs/SPEC.md(仕様)に書き起こす
  3. SPEC の章立てに沿って Backlog.md にタスク登録(backlog task create ...
  4. タスク同士の依存関係を dependencies: で繋いで、軽いロードマップを敷く
  5. 個別タスクの中で Description / AC を書き、開発を開始

この 1→5 の各ステップで Claude と会話するので、AC は「事前に書く」というより「会話の終盤に文字起こしされて Backlog に残る」感じになる。

例として、TASK-2「永遠の帳を実装する」の AC は最終的にこうなった。

- [x] #1 開いた瞬間に暗転する
- [x] #2 時間変化なし(常に暗い状態を維持)
- [x] #3 UI・ボタン・設定・説明が一切表示されない
- [x] #4 HTML/CSS/Vanilla JS のみで実装(フレームワーク不使用)
- [x] #5 色は純黒ではなく墨色/深紺ベース

5 項目だけ。これらは SPEC 起こしの段階で「UI なし」「フレームワーク不使用」「墨色」と決めた内容が、Backlog 登録の段階で AC のチェックリストとして再構成されたもの。SPEC を経由しているので、Claude が「達成すべき条件」を取り違えない

AC が ✅ で並ぶと、その時点で「やり切った」が客観的に確認できるのも個人開発ではありがたい。「もうちょっと作り込めるかも」みたいな終わらない衝動を、AC で物理的に切れる。


PLAN / NOTES / FINAL_SUMMARY の使い分け#

最初は Description だけで回そうとしていたが、Claude Code の出力を毎回どこかに溜めたくなる場面が出てくる。Backlog.md の標準セクションを愚直に分けたら、これがハマった。

セクション入れたもの
Implementation Plan着手前の方針。擬似コード・色・式・採択判断など。Claude に「実装に入る前にここを書いて」と指示
Implementation Notes実装中・実装後のメモ。詰まった点、ドライランの数値、補足判断など
Final Summary完了時の要約。後から自分やブログ用に読み返す用

具体例として、TASK-6「幕開けの帳を実装する」の Implementation Plan には Claude が考えた台形フェードの擬似コードが残っていて、Implementation Notes には主要時刻でのドライラン結果(t=0/55:00/55:30/56:00/…で明るさが期待値どおりか)が残っている。実機で 55 分待たないと確認できない挙動を、数式評価で詰めたのがこの記事の運用上のヒットだった。

これらは Markdown ファイルにそのまま残るので、後から記事化するときの 1 次資料としても使える(この記事もそう)。


詰まった点・反省点#

うまくいった話ばかりだとフェアじゃないので、引っかかった点も書いておく。

AC を後から足したくなる問題#

実装途中で「あ、これも条件にしておくべきだった」と気づく瞬間が普通にある。Backlog.md は AC を後から追加できるが、すでに ✅ が付いているチェックリストに後付けで未達項目を混ぜると、ボード上で「Done 寄りなのに未達がある」状態になって少し気持ち悪い。

運用としては、AC を増やすときはタスクを分割するのが結局すっきりした。「永遠の帳に Wake Lock を入れる」は別タスクで切る、みたいな感じ。

Wake Lock の検証は MCP では完結しない#

Screen Wake Lock API はブラウザ・OS の挙動依存で、MCP 経由のドライランでは確認しきれない。「タブを裏に回したら自動解放されるか」「戻ってきて再取得されるか」みたいな部分は実機で目視するしかない。AC に「実機で 1 分以上画面オフ抑止が機能することを確認」みたいな項目を入れておくのが正解だった、と振り返ると思う。

Cloudflare Pages 初回セットアップは独立タスクで切るべき#

これは引っかかったというより、最初からやって良かった話。TASK-3 で「永遠の帳をリリース」をひとつのタスクに切ったのは正しくて、Pages プロジェクト作成・URL 構成決定(サブドメイン分離 vs 単一プロジェクト + サブパス)・デプロイ手順記録は、実装とは完全に別の頭の使い方になる。


まとめ — 個人開発のタスク管理は「Claude が触れる場所」に置くと早い#

今回の構成のいちばんの本質は、タスクの実体(Markdown)と AI への指示書きが同じ場所に置かれていることだと思う。

  • 人間がタスクの状況を把握する手段(README のボード)
  • Claude が次に何をすべきか判断する材料(backlog/tasks/*.md
  • 完了の客観基準(AC)

これらが全部ローカル Markdown 1 セットに収まっているので、「Claude に渡す」「人間が見る」の間に変換が要らない。Notion や GitHub Issues を間に挟む構成だと、どうしても「AI 用に書き直す」「人間用に書き直す」の二度手間が出るが、それがない。

個人開発の規模(タスク数 10 個前後、1 人で回す、公開・非公開どっちもあり得る)にハマる構成として、ひとまず推せる。

tobari 自体のほうは紹介記事からどうぞ。次の帳を増やすときも同じフローで回す予定。

参考文献#

  1. Backlog.md 公式サイト https://backlog.md/
  2. Backlog.md MCP ドキュメント https://backlog.md/docs/mcp
  3. tobariの紹介記事(前日記事) https://yurudeep.com/posts/web/2026/20260515/
  4. Screen Wake Lock API - MDN https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API
Claude Codeでの個人開発、Backlog.md MCPに課題管理を任せたらREADMEまで自動更新できた
https://yurudeep.com/posts/web/2026/20260516/
作者
ひらノルム
公開日
2026-05-16
ライセンス
CC BY-NC-SA 4.0