はじめに
前回の記事で、Claude Code 用の GTD タスク管理スキル /todo を公開しました。
30+ コマンドの基本機能を実装した後、「毎日の運用をもっと快適にしたい」と思い、4つの追加機能を実装しました。この記事ではその設計と実装について書きます。
追加した4つの機能
| 機能 | コマンド | 一言で |
|---|---|---|
| ダッシュボード | /todo dash |
今日やることが一目でわかる |
| デイリーレビュー | /todo daily |
朝の計画と夜の振り返り |
| カスタムビュー | /todo view |
フィルタ条件を保存・呼び出し |
| レポート出力 | /todo report weekly |
週次の生産性を可視化 |
1. ダッシュボード
課題
/todo list は全カテゴリを表示するため、朝イチで「今日何をやるべきか」がすぐに掴めない。/todo stats は統計情報で、アクションに直結しない。
解決
「今日」にフォーカスした俯瞰ビューを作りました。
/todo dash
表示内容を優先度順に並べています:
# 📋 Dashboard — 2026-04-06
## ⚠️ 期限超過(2件)
🔴 #8 障害対応 [@PC] 📅 2026-04-04
#15 経費精算 📅 2026-04-05
## 🎯 今日やること(3件)
🟡 #5 設計書レビュー [@会社]
#12 週次レポート
#18 メール返信 [@PC]
## 📅 今週期限(2件)
🟡 #22 提案書提出 [@会社] 📅 2026-04-10
#25 定例会議準備 📅 2026-04-11
## ✅ Next Actions(5件)
🔴 #30 セキュリティレビュー [@PC]
#32 ドキュメント更新
...
📊 next: 12件 / inbox: 3件 / waiting: 2件
✅ 今日: 2件完了 / 今週: 8件完了
💡 Inbox に 3件 の未処理タスクがあります。
設計のポイント
- 全オープンIssue + クローズ済みIssueを一度に取得し、Node.js で分類・ソート
- 期限超過は全カテゴリ横断で表示(next 以外でも期限切れなら警告)
- Next Actions は上位10件に絞って表示(残りは件数のみ)
- 完了実績(今日/今週)を下部に表示して達成感を可視化
2. デイリーレビュー
課題
GTD は週次レビューが有名ですが、実は毎日の「朝の計画」と「夜の振り返り」が継続のカギ。/todo weekly-review は作ったけれど、デイリーでの対話フローがなかった。
解決
朝と夜で異なるフローを実行する対話式レビューです。
/todo daily # 時刻で自動判定(15時が境界)
/todo daily morning # 明示的に朝モード
/todo daily evening # 明示的に夜モード
Morning モード(朝の計画)
Step 1: ダッシュボード表示
Step 2: Inbox に未処理タスクがあれば仕分けるか確認
Step 3: 「他に今日やりたいタスクは?」→ 番号指定で due=今日 に設定
Step 4: 今日の計画サマリーを表示
## 🎯 今日の計画
1. 🔴 #8 障害対応
2. 🟡 #5 設計書レビュー [@会社]
3. #12 週次レポート
合計: 3件。がんばりましょう!
「今日やるタスクを自分で選ぶ」ステップがポイントです。期限付きタスクだけでなく、「今日やりたい」タスクにも due を設定することで、ダッシュボードの「今日やること」セクションに集約されます。
Evening モード(夜の振り返り)
Step 1: 今日の完了タスク一覧 → 「お疲れさまでした!」
Step 2: 未完了タスクを1件ずつ処理(tomorrow / done / someday / skip)
Step 3: 明日の予定を表示
Step 4: 一日のサマリー
未完了タスクに対して tomorrow と答えるだけで期限が明日に更新されるので、「やり残し」が翌日にスムーズに繰り越されます。
設計のポイント
- 新しいロジックは最小限。既存コマンド(Dashboard, Review Inbox, Set due, Move, Done)の「オーケストレーション」として設計
- 時刻による自動判定で、
/todo dailyだけで朝夜が切り替わる
3. カスタムビュー
課題
毎回 /todo list next @会社 p1 と入力するのが面倒。特に複数のコンテキストを組み合わせる場合。
解決
フィルタ条件を名前付きで保存して、呼び出せるようにしました。
# 保存
/todo view save 仕事 next @会社 p1
/todo view save 自宅PC next @自宅 @PC
/todo view save 緊急 p1
# 使う
/todo view 仕事 # → next + @会社 + p1 でフィルタして表示
# 一覧・削除
/todo view list
/todo view delete 仕事
設計のポイント
-
~/.claude/todo-views.jsonにローカル保存(テンプレート機能と同じパターン) - ビュー名のバリデーションはテンプレートと同じルールを再利用
-
view use <名前>でもview <名前>でも呼び出せる(use は省略可能)
テンプレート機能の設計パターン(JSONファイル + Node.js CRUD + バリデーション)をそのまま踏襲したので、実装は速かったです。
4. レポート出力
課題
「今週どれだけ生産的だったか」を振り返る手段がなかった。/todo stats は現在のスナップショットで、時系列の推移が見えない。
解決
/todo report weekly # 直近7日間
/todo report monthly # 直近30日間
/todo report 14d # 任意の日数
出力例:
# 📊 生産性レポート
**期間:** 2026-03-30 〜 2026-04-06(7日間)
## 完了サマリー
| 指標 | 値 |
|------|-----|
| 完了タスク数 | **18件** |
| 1日あたり平均 | 2.6件 |
| 現在のオープン | 12件 |
| 期限超過 | 1件 |
## 日別完了数
04-01 ████████████████ 4
04-02 ████████ 2
04-03 ████████████ 3
04-04 ████ 1
04-05 ████████████████████ 5
04-06 ████████████ 3
## カテゴリ別完了数
next: 15件
inbox: 2件
waiting: 1件
## 優先度別完了数
🔴 p1: 3件
🟡 p2: 5件
p3: 10件
設計のポイント
- 日別バーチャートは
█文字の繰り返し(最大幅20)。シンプルだがターミナルで見やすい - 全オープン + 全クローズ済みIssue を一度に取得して Node.js で集計
- 完了タスク一覧は直近10件に絞って表示
全体の設計思想
4機能に共通する設計思想があります。
既存コマンドの組み合わせで作る
ダッシュボードは list + stats のフォーカス版。デイリーレビューは dashboard + review + due + move + done のオーケストレーション。カスタムビューは list のフィルタ条件をJSONに保存しただけ。
新しいデータ構造は todo-views.json(カスタムビュー用)の1つだけ。バックエンド(GitHub Issues)への変更はゼロです。
メンテナンスコストを最小に
機能を追加するたびにバックエンドの構造を変えると、既存データとの互換性問題が発生します。GitHub Issues の構造(ラベル + body のメタデータ)はそのままに、表示・集計のロジックだけを追加する方針にしました。
「毎日使いたくなる」を目指す
基本機能(タスクの追加・完了・移動)は「正しく動く」ことが重要。追加機能は「使いたくなる」ことが重要。ダッシュボードの「今日やること」、デイリーレビューの「がんばりましょう!」「お疲れさまでした!」、レポートのバーチャートは、機能的には不要ですが、毎日使い続けるモチベーションになります。
まとめ
| 機能 | 使いどころ |
|---|---|
/todo dash |
朝イチで開く。今日何をやるか把握する |
/todo daily |
朝の計画と夜の振り返りを習慣化する |
/todo view 仕事 |
よく使うフィルタをワンコマンドで呼ぶ |
/todo report weekly |
週末に1週間を振り返る |
リポジトリはこちらです。フィードバックや改善提案は Issue でお待ちしています。
この記事は Zenn からのクロスポストです。