task-management について
JSONファイルで管理する機能タスクを扱うコマンドラインスキルです。進捗や依存関係を確認し、着手可能な作業の把握とタスク定義の検証を支援します。
主な機能
- 01タスク状況と進捗の確認
- 02実行可能・並行タスクの検索
- 03依存関係とブロッカーの確認
- 04要約付きでタスクを完了
- 05タスクファイルと依存グラフの検証
活用シーン
- 01機能実装の進捗確認
- 02次に着手できるサブタスクの選定
- 03作業が止まっている理由の確認
- 04依存関係の誤りの検査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ darrenhinde/ openagentscontrol --skill task-managementインストール後、Claude Code で/task-managementを入力して読み込まれたか確認します。
同梱ファイルrouter.shscripts/task-cli.ts
詳細
タスク管理スキル
目的:タスクを細分化し、依存関係を解決して進捗を監視することで、機能の実装を追跡、管理、検証します。
できること
TaskManager サブエージェントが作成したタスクの内訳を管理するためのコマンドラインインターフェースを提供します。次のことができます。
- 進捗を追跡 - すべての機能とサブタスクのステータスを確認します
- 次のタスクを見つける - 実行可能なタスク(依存関係が解決済み)を表示します
- ブロック中のタスクを特定 - ブロックされているタスクとその理由を確認します
- 完了を管理 - サマリーを添えてサブタスクを完了としてマークします
- 整合性を検証 - JSON ファイルと依存関係ツリーを確認します
使い方
クイックスタート
# Show all task statuses
bash .opencode/skills/task-management/router.sh status
# Show next eligible tasks
bash .opencode/skills/task-management/router.sh next
# Show blocked tasks
bash .opencode/skills/task-management/router.sh blocked
# Mark a task complete
bash .opencode/skills/task-management/router.sh complete <feature> <seq> "summary"
# Validate all tasks
bash .opencode/skills/task-management/router.sh validate
コマンドリファレンス
| コマンド | 説明 |
|---|---|
status [feature] | すべての機能、または指定した機能のタスクステータスの概要を表示します |
next [feature] | 次に実行可能なタスク(依存関係が解決済み)を表示します |
parallel [feature] | 並行して実行できるタスクを表示します |
deps <feature> <seq> | 特定のサブタスクの依存関係ツリーを表示します |
blocked [feature] | ブロックされているタスクとその理由を表示します |
complete <feature> <seq> "summary" | サマリーを添えてサブタスクを完了としてマークします |
validate [feature] | JSON ファイルと依存関係を検証します |
help | ヘルプメッセージを表示します |
例
全体の進捗を確認する
$ bash .opencode/skills/task-management/router.sh status
[my-feature] My Feature Implementation
Status: active | Progress: 45% (5/11)
Pending: 3 | In Progress: 2 | Completed: 5 | Blocked: 1
次のタスクを見つける
$ bash .opencode/skills/task-management/router.sh next
=== Ready Tasks (deps satisfied) ===
[my-feature]
06 - Implement API endpoint [sequential]
08 - Write unit tests [parallel]
完了としてマークする
$ bash .opencode/skills/task-management/router.sh complete my-feature 05 "Implemented authentication module"
✓ Marked my-feature/05 as completed
Summary: Implemented authentication module
Progress: 6/11
依存関係を確認する
$ bash .opencode/skills/task-management/router.sh deps my-feature 07
=== Dependency Tree: my-feature/07 ===
07 - Write integration tests [pending]
├── ✓ 05 - Implement authentication module [completed]
└── ○ 06 - Implement API endpoint [in_progress]
すべてを検証する
$ bash .opencode/skills/task-management/router.sh validate
=== Validation Results ===
[my-feature]
✓ All checks passed
アーキテクチャ
.opencode/skills/task-management/
├── SKILL.md # This file
├── router.sh # CLI router (entry point)
└── scripts/
└── task-cli.ts # Task management CLI implementation
タスクファイルの構成
タスクは、プロジェクトのルートにある .tmp/tasks/ に保存されます。
.tmp/tasks/
├── {feature-slug}/
│ ├── task.json # Feature-level metadata
│ ├── subtask_01.json # Subtask definitions
│ ├── subtask_02.json
│ └── ...
└── completed/
└── {feature-slug}/ # Completed tasks
task.json のスキーマ
{
"id": "my-feature",
"name": "My Feature",
"status": "active",
"objective": "Implement X",
"context_files": ["docs/spec.md"],
"reference_files": ["src/existing.ts"],
"exit_criteria": ["Tests pass", "Code reviewed"],
"subtask_count": 5,
"completed_count": 2,
"created_at": "2026-01-11T10:00:00Z",
"completed_at": null
}
subtask_##.json のスキーマ
{
"id": "my-feature-05",
"seq": "05",
"title": "Implement authentication",
"status": "pending",
"depends_on": ["03", "04"],
"parallel": false,
"suggested_agent": "coder-agent",
"context_files": ["docs/auth.md"],
"reference_files": ["src/auth-old.ts"],
"acceptance_criteria": ["Login works", "JWT tokens valid"],
"deliverables": ["auth.ts", "auth.test.ts"],
"started_at": null,
"completed_at": null,
"completion_summary": null
}
TaskManager との連携
TaskManager サブエージェントは、この形式を使ってタスクファイルを作成します。TaskManager に委任すると、次の処理が行われます。
task(
subagent_type="TaskManager",
description="Implement feature X",
prompt="Break down this feature into atomic subtasks..."
)
TaskManager は次のファイルを作成します。
.tmp/tasks/{feature}/task.json- 機能のメタデータ.tmp/tasks/{feature}/subtask_XX.json- 個別のサブタスク
その後、このスキルを使って進捗を追跡、管理できます。
主な概念
1. 依存関係の解決
サブタスクは、ほかのサブタスクに依存できます。タスクは、すべての依存関係が完了した場合にのみ「準備完了」となります。
2. 並行実行
parallel: true を設定すると、依存関係が解決済みのほかの並行タスクと同時にサブタスクを実行できることを示します。
3. ステータスの追跡
- pending - 未着手で、依存関係の解決待ち
- in_progress - 現在作業中
- completed - サマリー付きで完了
- blocked - 明示的にブロック中(依存関係の待機ではありません)
4. 完了条件
各機能には、機能を完了としてマークする前に満たす必要がある exit_criteria があります。
5. 検証ルール
validate コマンドは、タスクファイルを包括的にチェックします。
タスクレベルの検証:
- ✅ 対象機能の task.json ファイルが存在する
- ✅ タスク ID が機能のスラッグと一致する
- ✅ task.json 内のサブタスク数が、実際のサブタスクファイル数と一致する
- ✅ 必須フィールドがすべて含まれている
サブタスクレベルの検証:
- ✅ すべてのサブタスク ID が機能名で始まる(例:「my-feature-01」)
- ✅ シーケンス番号が一意で、正しい形式(01、02 など)になっている
- ✅ すべての依存関係が既存のサブタスクを参照している
- ✅ 循環依存が存在しない
- ✅ 各サブタスクに受け入れ基準が定義されている
- ✅ 各サブタスクに成果物が指定されている
- ✅ ステータス値が有効である(pending、in_progress、completed、blocked)
依存関係の検証:
- ✅ すべての depends_on の参照先が既存のサブタスクである
- ✅ タスクが自身に依存していない
- ✅ 循環依存の連鎖がない
- ✅ 依存関係グラフに循環がない
問題を早期に発見するため、定期的に validate を実行してください。
bash .opencode/skills/task-management/router.sh validate my-feature
6. コンテキストファイルと参照ファイル
- context_files - 従うべき標準、規約、ガイドライン
- reference_files - 参照する、または土台として使用する既存のプロジェクトファイル
ワークフローとの連携
TaskManager サブエージェントとの連携
- TaskManager がタスクを作成します →
.tmp/tasks/{feature}/の構造を生成します - このスキルを使って追跡します →
status、next、blockedで進捗を監視します - タスクを完了済みにします → 要約を添えて
completeコマンドを使います - スキルで整合性を検証します →
validateで一貫性を確認します
他のサブエージェントとの連携
作業中のエージェント(CoderAgent、TestEngineer など)がサブタスクを実行し、完了を報告します。このスキルを使って、次のことができます:
nextで次に実行可能なタスクを見つけるblockedで進捗を妨げている要因を確認するvalidateでタスクの定義を検証する
よくあるワークフロー
新機能の開始
# 1. TaskManager creates the task structure
task(subagent_type="TaskManager", description="Implement feature X", ...)
# 2. Check what's ready
bash .opencode/skills/task-management/router.sh next
# 3. Delegate first task to working agent
task(subagent_type="CoderAgent", description="Implement subtask 01", ...)
進捗の追跡
# Check overall status
bash .opencode/skills/task-management/router.sh status my-feature
# See what's next
bash .opencode/skills/task-management/router.sh next my-feature
# Check what's blocked
bash .opencode/skills/task-management/router.sh blocked my-feature
タスクの完了
# After working agent finishes
bash .opencode/skills/task-management/router.sh complete my-feature 05 "Implemented auth module with JWT support"
# Check progress
bash .opencode/skills/task-management/router.sh status my-feature
# Find next task
bash .opencode/skills/task-management/router.sh next my-feature
すべての検証
# Validate all tasks
bash .opencode/skills/task-management/router.sh validate
# Validate specific feature
bash .opencode/skills/task-management/router.sh validate my-feature
ヒントとベストプラクティス
1. 意味のある要約を使う
タスクを完了済みにする際は、明確な要約を記載してください:
# Good
complete my-feature 05 "Implemented JWT authentication with refresh tokens and error handling"
# Avoid
complete my-feature 05 "Done"
2. 開始前に依存関係を確認する
# See what a task depends on
bash .opencode/skills/task-management/router.sh deps my-feature 07
3. 並行して実行できる作業を特定する
# Find tasks that can run in parallel
bash .opencode/skills/task-management/router.sh parallel my-feature
4. 定期的に検証する
# Validate regularly to catch issues early
bash .opencode/skills/task-management/router.sh validate
トラブルシューティング
「task-cli.ts が見つかりません」
プロジェクトのルートから実行していること、または router.sh からファイルを見つけられることを確認してください。
「タスクが見つかりません」
status を実行して、タスクが作成済みかどうか確認してください。まず TaskManager を使ってタスクを作成してください。
「依存関係が満たされていません」
deps で依存関係ツリーを確認し、タスクを妨げている要因を調べてください。
「検証に失敗しました」
validate を実行して具体的な問題を確認し、その後 .tmp/tasks/ 内の JSON ファイルを確認してください。
ファイルの場所
- スキル:
.opencode/skills/task-management/ - ルーター:
.opencode/skills/task-management/router.sh - CLI:
.opencode/skills/task-management/scripts/task-cli.ts - タスク:
.tmp/tasks/(TaskManager によって作成) - ドキュメント:
.opencode/skills/task-management/SKILL.md(このファイル)
タスク管理スキル - 機能の実装を追跡、管理、検証します!