task-tracker について
task-trackerは、ADHDの傾向を考慮したタスク管理スキルです。状態遷移で作業を追跡し、中断の可能性を検知して介入し、完了ストリークを記録します。
主な機能
- 01定義済みの状態によるタスク追跡
- 02話題の切り替えや停滞の検知
- 03小さな行動とタスク分割による介入
- 04完了ストリークとタスク傾向の記録
活用シーン
- 01依頼から完了までのタスク追跡
- 02話題の切り替え後に停滞した作業の発見
- 03外部依存関係でブロックされたタスクの管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ breverdbidder/ life-os --skill task-trackerインストール後、Claude Code で/task-trackerを入力して読み込まれたか確認します。
詳細
タスクトラッカー - ADHD ステートマシン
概要
ADHD の傾向に合わせて設計された、体系的なタスク管理です。判断を交えずに説明責任を保ちながら、先回りした介入によってタスクの放棄を防ぎます。
ステートマシン
┌──────────────────────────────────────────┐
│ │
▼ │
┌──────────┐ ┌──────────────────┐ ┌─────────────┐ │
│ INITIATED│──▶│ SOLUTION_PROVIDED│──▶│ IN_PROGRESS │─────────┤
└──────────┘ └──────────────────┘ └─────────────┘ │
│ │ │ │
│ │ ▼ │
│ │ ┌───────────┐ │
│ │ │ COMPLETED │ │
│ │ └───────────┘ │
│ │ │
│ ├─────────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌───────────┐ ┌──────────┐ │
└──────────▶│ ABANDONED │ │ BLOCKED │ │
└───────────┘ └──────────┘ │
│ │ │
▼ ▼ │
┌───────────┐ ┌──────────┐ │
│ DEFERRED │◀────│ (Retry) │───────────────┘
└───────────┘ └──────────┘
ステートの定義
| ステート | トリガー | 次のアクション |
|---|---|---|
| INITIATED | タスクの依頼を受信 | 複雑さを評価し、解決策を提示 |
| SOLUTION_PROVIDED | 解決策を提示 | 実行の合図を待つ |
| IN_PROGRESS | ユーザーが作業中であることを確認 | 完了を監視 |
| COMPLETED | ユーザーが完了を確認 | 成功を記録し、連続達成記録を更新 |
| ABANDONED | 応答がなく、コンテキストが切り替わる | パターンを記録し、介入 |
| BLOCKED | 外部依存関係 | 障害要因を特定し、再試行を予定 |
| DEFERRED | 意識的な先送り | リマインダーを設定し、理由を記録 |
タスクのメタデータ
すべてのタスクで以下を記録します。
task = {
"id": "task_20251219_001",
"description": "Review Q4 insurance renewals",
"state": "INITIATED",
"domain": "BUSINESS", # BUSINESS | MICHAEL | FAMILY | PERSONAL
"complexity": 6, # 1-10 scale
"clarity": 8, # 1-10 scale (how clear were instructions)
"estimated_minutes": 45,
"actual_minutes": None,
"initiated_at": "2025-12-19T10:30:00Z",
"solution_provided_at": None,
"completed_at": None,
"abandonment_count": 0,
"intervention_level": 0
}
放棄の検出トリガー
次のパターンを監視します。
- コンテキストの切り替え - 現在のタスクを終えずに新しい話題へ移る
- セッション終了 - タスクが SOLUTION_PROVIDED または IN_PROGRESS の状態でチャットが終了する
- 時間経過 - 解決策を提示してから更新がないまま30分以上経過する
- 話題の逸脱 - タスクが保留中に、ユーザーが無関係な質問をする
検出アルゴリズム
def check_abandonment(task, current_message, elapsed_minutes):
if task["state"] not in ["SOLUTION_PROVIDED", "IN_PROGRESS"]:
return False
# Time-based trigger
if elapsed_minutes > 30:
return True
# Context switch detection
if not is_related_to_task(current_message, task):
return True
return False
介入プロトコル
レベル1:穏やかな確認(0~30分)
📌 Quick check: [task description] - still on it?
レベル2:パターンの観察(30~60分)
🔄 I notice [task] from earlier. This is pattern #[N] this week.
Continue or consciously defer?
レベル3:直接的な説明責任の促進(60分超)
⚠️ ACCOUNTABILITY: [task] started [time] ago.
Current status? Be honest - no judgment, just facts.
ADHD への介入戦略
放棄を検出したら、次の手法を適用します。
小さな約束
可能な限り小さな行動に分割します。
Just step 1? [tiny specific action] That's it.
Nothing else required right now.
ボディダブリング
仮想的な共同作業環境を作ります。
Let's do this together. You: [specific action]
Me: ⏱️ Waiting... (I'll check back in 5 minutes)
チャンク化
集中できる範囲を絞ります。
Step 1 only. Confirm when done.
Don't think about step 2 yet.
エネルギーに合わせる
日々のパターンに合わせます。
It's [time] - your [peak/dip] period.
[Suggest appropriate task complexity]
ワークフロー:タスクの作成
トリガー: 作業が必要であることを示す依頼
- メッセージからタスクの説明を抽出する
- 次の項目に基づいて複雑さ(1~10)を評価する:
- ステップ数
- 外部依存関係
- 意思決定の必要性
- 所要時間の見積もり
- 次の項目に基づいて明確さ(1~10)を評価する:
- 依頼の具体性
- 既知の要素と未知の要素
- 曖昧さの度合い
- ドメインを割り当てる(BUSINESS/MICHAEL/FAMILY/PERSONAL)
- ステートを INITIATED に設定する
- 解決策を提示し、ステートを SOLUTION_PROVIDED にする
ワークフロー:ステートの遷移
INITIATED → SOLUTION_PROVIDED
# After providing solution
task["state"] = "SOLUTION_PROVIDED"
task["solution_provided_at"] = now()
SOLUTION_PROVIDED → IN_PROGRESS
トリガー: ユーザーが「取り組んでいます」「今から始めます」「これをやっています」と言う
task["state"] = "IN_PROGRESS"
IN_PROGRESS → COMPLETED
トリガー: ユーザーが「終わりました」「完了しました」「完了です」と言う
task["state"] = "COMPLETED"
task["completed_at"] = now()
task["actual_minutes"] = elapsed_time()
update_streak()
任意のステート → ABANDONED
トリガー: 放棄を検出し、介入への応答がない
task["state"] = "ABANDONED"
task["abandonment_count"] += 1
log_pattern()
任意のステート → BLOCKED
トリガー: ユーザーが外部依存関係を特定する
task["state"] = "BLOCKED"
task["blocker"] = identified_dependency
schedule_retry()
任意のステート → DEFERRED
トリガー: 理由を伴う意識的な先送り
task["state"] = "DEFERRED"
task["defer_reason"] = reason
task["defer_until"] = scheduled_time
連続達成記録
モチベーションを保つため、連続達成記録を維持します。
streak = {
"current": 5, # Days with at least 1 completion
"longest": 12,
"total_completions": 47,
"abandonment_rate": 0.23 # 23% tasks abandoned
}
# On completion
"✅ Done. Streak: 5 days. Total: 47 tasks."
# On first task of day
"Day 6 starts now. Keep the streak alive."
ドメイン固有の動作
BUSINESS(Everest Capital)
- 緊急度を高く設定
- 期限を考慮
- 収益への影響を評価
MICHAEL(D1 Swimming)
- 水泳のスケジュールと関連付ける
- 栄養・トレーニングとの整合性を考慮
- 勧誘の期限を考慮
FAMILY(Orthodox Observance)
- 安息日・祝日を考慮
- 夕方は仕事のプレッシャーをかけない
- 家族の予定を優先
PERSONAL(Health/Learning)
- エネルギーレベルを考慮
- 学習内容の記録と連携
- 健康指標との相関を考慮
LangGraph との統合
ステートスキーマ
class TaskState(TypedDict):
task_id: str
description: str
state: str
domain: str
complexity: int
clarity: int
elapsed_minutes: int
intervention_level: int
streak_current: int
ノード
create_task- ユーザーメッセージから初期化provide_solution- 応答を生成し、ステートを更新check_abandonment- 定期的に放棄を確認intervene- 介入戦略を適用complete_task- 完了を記録し、連続達成記録を更新
スクリプト
scripts/task_state_machine.py- ステート遷移ロジックscripts/abandonment_detector.py- パターン検出scripts/streak_calculator.py- 連続達成記録の管理
参考資料
references/intervention_templates.md- 介入スクリプト全文references/adhd_patterns.md- よくあるパターンと対応
コメント
Markdown 対応