Files
gh-syou6162-claude-code-com…/commands/load_spec_tasks.md
2025-11-30 08:59:12 +08:00

4.5 KiB
Raw Permalink Blame History

load-spec-tasks

spec workflowのtasks.mdから次にやるべきタスクを読み込み、Claude CodeのToDoリストに自己再生産的なタスクサイクルを設定します。

概要

このコマンドは最初に1回実行するだけで、以降は自動的にタスクサイクルが回り続けます。 tasks.mdをシングルソースオブトゥルース信頼できる唯一の情報源として扱います。

実行手順

Step 1: 現在のspec-idを判定

detect-spec-workflowサブエージェントを呼び出して、現在の作業コンテキストから該当するspec-idを判定してください

Taskツールを使用:
- subagent_type: syou6162-plugin:detect-spec-workflow
- prompt: "現在のコンテキストから該当するspec workflowのspec-idを判定してください"

エラーハンドリング:

  • spec-idが見つからない場合: 「該当するspec workflowが見つかりませんでした。spec workflowのセットアップを確認してください。」と表示して終了

Step 2: tasks.mdの読み取りと次のタスク取得

判定されたspec-idを使って、tasks.mdを読み取ります

# Readツールを使用
.spec-workflow/specs/{spec-id}/tasks.md

tasks.mdのパース処理:

  1. マークダウンチェックボックス形式を検索: - [ ], - [-], - [x]
  2. - [x] (完了済み) をスキップ
  3. 最初に見つかった - [ ] (pending) または - [-] (in-progress) を次のタスクとして取得
  4. タスク名を抽出(チェックボックス以降のテキスト)

パース例:

## Tasks

- [x] ユーザー認証機能を実装  ← スキップ
- [x] パスワードリセット機能  ← スキップ
- [ ] メール通知機能を実装    ← これが次のタスク!
- [ ] ログ機能の追加

→ 次のタスク: 「メール通知機能を実装」

エラーハンドリング:

  • tasks.mdが存在しない: 「tasks.mdが見つかりません。spec workflowのPhase 3 (Tasks)を完了させてください。」
  • すべてのタスクが完了済み: 「🎉 すべてのタスクが完了しましたspec workflowの実装フェーズは完了です。」と表示して終了

Step 3: ToDoリストに5ステップのタスクサイクルを追加

TodoWriteツールを使って、以下の5ステップをToDoリストに追加します

TodoWrite({
  todos: [
    {
      content: "tasks.mdで [タスク名] を [-] に変更in-progressマーク",
      activeForm: "tasks.mdで [タスク名] を [-] に変更中",
      status: "pending"
    },
    {
      content: "タスク名",  // Step 2で取得した実際のタスク名
      activeForm: "タスク名を実行中",
      status: "pending"
    },
    {
      content: "tasks.mdで [タスク名] を [x] に変更(完了マーク)",
      activeForm: "tasks.mdで [タスク名] を [x] に変更中",
      status: "pending"
    },
    {
      content: "tasks.mdから次のタスクを確認",
      activeForm: "tasks.mdから次のタスクを確認中",
      status: "pending"
    },
    {
      content: "TodoWriteで次のタスクサイクル5件をToDoリストに追加",
      activeForm: "TodoWriteで次のタスクサイクルをToDoリストに追加中",
      status: "pending"
    }
  ]
})

重要な実装ガイダンス:

タスク1: tasks.mdでタスクを[-]に変更

このタスクを実行する際は、Editツールを使って以下のように編集します:

old_string: "- [ ] タスク名"
new_string: "- [-] タスク名"

タスク2: 実際の実装タスク

tasks.mdの_Promptフィールドに記載されている指示に従って実装します。

タスク3: tasks.mdでタスクを[x]に変更

Editツールを使って以下のように編集します:

old_string: "- [-] タスク名"
new_string: "- [x] タスク名"

タスク4: 次のタスクを確認

Readツールでtasks.mdを読み、次の[ ]または[-]タスクを確認します。

タスク5: 次のサイクルを追加

このタスクを実行すると、新しい5ステップのサイクルが自動的に追加されます。

TodoWriteで以下を実行:

  1. 完了済みcompletedタスクをToDoリストから削除
  2. tasks.mdから次のタスクを取得Step 2と同じ処理
  3. 新しい5ステップのタスクサイクルを生成
  4. ToDoリストに追加