manage-tasks
プラン内のシーケンシャルなサブステップを使用して、実装タスクを管理できます
description の原文を見る
Manage implementation tasks with sequential sub-steps within a plan
SKILL.md 本文
タスク管理スキル
計画内でシーケンシャルなサブステップを持つ実装タスクを管理します。各タスクはソリューションドキュメントからの成果物を参照し、実行のための順序付きステップを含みます。
実装詳細: 完全な仕様(ファイル形式、全コマンド、パラメータ、検証ルール)については design-for-manage-tasks.md を参照してください。
このスキルが提供するもの
- 各タスク用の個別 TOON ファイルストレージ
- シーケンシャルで不変の番号付け(TASK-1、TASK-2 など)
- 成果物参照(solution_outline.md への M:N リレーション)
- デリゲーションコンテキスト(実行用のスキル + ワークフロー)
- 検証コマンドと基準
- ステータス追跡機能付きのステップ管理
nextクエリによるシンプルな実行ループ
このスキルを有効化するタイミング
以下の場合にこのスキルを有効化します:
- 計画の実装タスクを作成または管理する
- 次に実行可能なタスク/ステップをクエリする
- ステップを開始/完了/スキップとしてマークする
- 実装進捗を追跡する
ストレージロケーション
タスクは計画ディレクトリに保存されます:
{plan_dir}/tasks/
TASK-001-IMPL.toon
TASK-002-IMPL.toon
TASK-003-FIX.toon
ファイル名形式: TASK-{NNN}-{TYPE}.toon (TYPE は: IMPL、FIX、SONAR、PR、LINT、SEC、DOC)
ファイル形式(概要)
number: 1
title: Update misc agents to TOON output
status: pending
phase: 5-execute
domain: plan-marshall-plugin-dev
profile: implementation
origin: plan
created: 2025-12-02T10:30:00Z
updated: 2025-12-02T10:30:00Z
skills:
- pm-plugin-development:plugin-maintain
- pm-plugin-development:plugin-architecture
deliverables[3]:
- 1
- 2
- 4
depends_on: TASK-1, TASK-2
description: |
Migrate miscellaneous agents from JSON to TOON output format.
domain: plan-marshall-plugin-dev
profile: implementation
type: IMPL
origin: plan
steps[3]{number,title,status}:
1,pm-plugin-development/agents/tool-coverage-agent.md,pending
2,pm-dev-builder/agents/gradle-builder.md,pending
3,pm-dev-frontend/commands/js-generate-coverage.md,pending
verification:
commands[1]:
- grep -L '```json' {files} | wc -l
criteria: No JSON blocks remain
manual: false
current_step: 1
新しいフィールド:
| フィールド | 型 | 説明 |
|---|---|---|
domain | 文字列 | タスクドメイン(任意の文字列、例:java、javascript、my-domain) |
profile | 文字列 | タスクプロフィール(任意の文字列、例:implementation、testing) |
type | 文字列 | ファイル名用のタスクタイプ:IMPL、FIX、SONAR、PR、LINT、SEC、DOC |
skills | リスト | タスク実行用の事前解決スキル |
origin | 文字列 | タスクの起源:plan(task-plan フェーズから)または fix(verify から) |
操作
スクリプト: pm-workflow:manage-tasks:manage-tasks
| コマンド | パラメータ | 説明 |
|---|---|---|
add | --plan-id + stdin | 新しいタスクを追加(stdin から定義を読み込む) |
update | --plan-id --number [--title] [--description] [--depends-on] [--status] [--domain] [--profile] [--skills] [--deliverables] | タスクメタデータを更新 |
remove | --plan-id --number | タスクを削除 |
list | --plan-id [--status] [--phase] [--deliverable] [--ready] | 全タスクをリスト |
get | --plan-id --number | 単一タスクの詳細を取得 |
next | --plan-id [--phase] [--include-context] [--ignore-deps] | 次の保留中タスク/ステップを取得 |
tasks-by-domain | --plan-id --domain | ドメインでフィルタされたタスクをリスト |
tasks-by-profile | --plan-id --profile | プロフィールでフィルタされたタスクをリスト |
next-tasks | --plan-id | 並列実行の準備ができたタスクを全て取得 |
step-start | --plan-id --task --step | ステップを in_progress としてマーク |
step-done | --plan-id --task --step | ステップを done としてマーク |
step-skip | --plan-id --task --step [--reason] | ステップをスキップ |
add-step | --plan-id --task --title [--after] | タスクにステップを追加 |
remove-step | --plan-id --task --step | タスクからステップを削除 |
Add コマンド(stdin ベース API)
add コマンドは stdin から TOON 形式でタスク定義を読み込みます。CLI 引数として渡されるのは --plan-id のみです。
なぜ stdin? パイプ、ワイルドカード、クォートを含むシェルメタキャラクタのある検証コマンドを持つ複雑なタスク定義が、CLI 引数として渡された場合にパーミッション問題を引き起こしました。stdin アプローチはこれらの文字のシェル解釈を回避します。
stdin 形式:
title: My Task Title
deliverables: [1, 2, 3]
domain: plan-marshall-plugin-dev
profile: implementation
type: IMPL
phase: 5-execute
origin: plan
description: |
Multi-line task description here.
Can include any characters.
skills:
- pm-plugin-development:plugin-maintain
- pm-plugin-development:plugin-architecture
steps:
- First step to execute
- Second step to execute
- Third step to execute
depends_on: none
verification:
commands:
- grep -l '```json' marketplace/bundles/*.md | wc -l
- mvn verify
criteria: All grep commands return 0 (no JSON blocks remain)
manual: false
必須フィールド: title、deliverables、domain、profile、skills、steps
オプションフィールド: phase(デフォルト: execute)、description、depends_on、verification、origin(デフォルト: plan)
フィールド値:
deliverables: 整数の配列[1, 2, 3]domain: references.toon のドメイン(例:java、javascript、plan-marshall-plugin-dev)profile: marshal.json の任意のプロフィールキー(例:implementation、testing、architecture)skills:bundle:skill形式の文字列の配列phase:init、outline、plan、execute、finalizeのいずれかdepends_on:noneまたはタスク参照(例:TASK-1, TASK-2)origin:plan(task-plan フェーズから)またはfix(verify フェーズから)
List/Next フィルタ
| パラメータ | 説明 |
|---|---|
--phase | 計画フェーズでフィルタ(init/outline/plan/execute/finalize) |
--deliverable | 成果物番号でフィルタ |
--ready | 依存関係が満たされたタスクのみ |
--ignore-deps | (next のみ)依存関係制約を無視 |
クイック例
タスクを追加
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
--plan-id my-feature <<'EOF'
title: Update misc agents to TOON
deliverables: [1, 2, 4]
domain: java
description: |
Migrate miscellaneous agents from JSON to TOON output format.
steps:
- file1.md
- file2.md
- file3.md
verification:
commands:
- mvn verify
criteria: Build passes
EOF
依存関係を持つタスクを追加
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
--plan-id my-feature <<'EOF'
title: Write integration tests
deliverables: [3]
domain: java-testing
description: Add integration tests for new endpoint
steps:
- Create test class
- Add test methods
- Run tests
depends_on: TASK-1, TASK-2
verification:
commands:
- mvn verify -Pintegration
criteria: All tests pass
EOF
シェルメタキャラクタを含む複雑な検証コマンドを持つタスクを追加
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
--plan-id migrate-json-to-toon <<'EOF'
title: Migrate agent outputs to TOON
deliverables: [1, 2, 3]
domain: plan-marshall-plugin-dev
description: |
Update agents to use TOON format instead of JSON.
steps:
- Update java-implement-agent.md
- Update java-verify-agent.md
- Update gradle-builder.md
verification:
commands:
- grep -l '```json' marketplace/bundles/pm-dev-java/agents/*.md | wc -l
- grep -l '```json' marketplace/bundles/pm-dev-builder/agents/*.md | wc -l
criteria: All grep commands return 0 (no JSON blocks remain)
EOF
次のタスク/ステップを取得(依存関係を考慮)
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks next \
--plan-id my-feature
特定フェーズの次のタスクを取得
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks next \
--plan-id my-feature \
--phase 5-execute
準備完了したタスクのみをリスト
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks list \
--plan-id my-feature \
--ready
ステップを完了としてマーク
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks step-done \
--plan-id my-feature \
--task 2 \
--step 3
統合ポイント
task-plan-agent との統合
Task-plan エージェントは計画改善中に heredoc を使用してタスクを作成します:
python3 .plan/execute-script.py pm-workflow:manage-tasks:manage-tasks add \
--plan-id {plan_id} <<'EOF'
title: {task_title}
deliverables: [{n1}, {n2}]
domain: {domain}
steps:
- {step1}
- {step2}
...
EOF
plan-execute との統合
Plan-execute はタスクを反復します:
LOOP:
1. manage-tasks next --plan-id {plan_id}
2. IF no next: DONE
3. SPAWN implement agent
4. CONTINUE
implement-agent との統合
Implement エージェントはステップを実行します:
1. manage-tasks get --plan-id {plan_id} --number {N}
2. FOR EACH step: step-start → execute → step-done
3. RUN verification
成果物とタスクのリレーション
タスクは stdin の deliverables フィールドを使用して solution_outline.md から成果物を参照します。
| パターン | 説明 | 例 |
|---|---|---|
| 1:1 | 成果物ごとに 1 つのタスク | deliverables: [1] - タスクが成果物 1 を実装 |
| N:1 | 1 つのタスク内に複数の成果物 | deliverables: [1, 2, 3] - タスクが成果物 1、2、3 を実装 |
| 1:N | 1 つの成果物を複数のタスクに分割 | TASK-1 と TASK-2 の両方が deliverables: [1] を持つ |
N:1 を使用するタイミング: 実装コンテキストを共有する関連成果物をグループ化します。
1:N を使用するタイミング: 大きな成果物をフェーズ化された実装に分割します(例:init タスク、implement タスク、verify タスク)。
依存関係管理
タスクは stdin の depends_on フィールドを使用して他のタスクに依存できます:
# タスク 3 はタスク 1 とタスク 2 の完了を待つ
depends_on: TASK-1, TASK-2
# 依存関係なし
depends_on: none
依存関係の強制:
nextコマンドは依存関係が満たされたタスクのみを返す--ignore-depsを使用して依存関係チェックをバイパス--readyフィルタを使用してレディ状態のタスクのみをリスト
ブロック済み出力: タスクが依存関係でブロックされている場合、next は以下を返します:
next: null
blocked_tasks[2]{number,title,waiting_for}:
1,Write tests,TASK-3
2,Deploy,TASK-3, TASK-4
フェーズフィルタリング
タスクは計画フェーズに属します:1-init、2-refine、3-outline、4-plan、5-execute、6-verify、7-finalize
フェーズでフィルタ:
# execute フェーズのタスクのみをリスト
--phase 5-execute
# verify フェーズの次のタスクを取得
next --phase 6-verify
# finalize フェーズの次のタスクを取得
next --phase 7-finalize
フェーズの目的:
init: セットアップタスク(ディレクトリ、設定を作成)outline: ソリューション概要作成plan: タスク計画とスキル解決execute: 実装タスク(コード変更)verify: 品質検証タスク(ビルド、lint、テスト)finalize: 配信タスク(コミット、PR、ナレッジキャプチャ)
ステータスモデル
タスクステータス: pending → in_progress → done(または blocked)
ステップステータス: pending → in_progress → done(または skipped)
関連ドキュメント
- design-for-manage-tasks.md - 完全な実装仕様
- design-for-task-planning.md - Task-plan エージェントワークフロー
- architecture.md - コアコンセプト
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- majiayu000
- ライセンス
- MIT
- 最終更新
- 2026/5/4
Source: https://github.com/majiayu000/claude-skill-registry / ライセンス: MIT