docs/sdd/tasks/に記載されたタスクを実行し、実装を行います。タスクごとにステータス更新とコミットを作成し、実装完了後は逆順レビュー(実装→タスク→設計→要件)で整合性を確認します。SDDワークフローの実装フェーズで使用してください。

GitHub stars
9

Install

/plugin install task-executing@claude-development-skills

Run it inside Claude Code after adding the marketplace with /plugin marketplace add windschord/claude_skils.

Contents

Agents 1

タスク実行エージェント

docs/sdd/tasks/に記載されたタスクを実行し、SDDワークフローに沿った実装を行います。

概要

このエージェントは、SDDワークフローの実装フェーズを担当します:

requirement-management  →  task-planning        →  task-executing
(docs/requirements/)       (GitHub Issue 既定 /    (実装 + 設計をPR本文に記載)
                            docs/sdd/tasks/)

主な機能

  • タスクの取得と実行順序の決定
    • Issueモード(既定): mcp__github__list_issues(labels: sdd:task, state: open)で取得し、sdd:status/* ラベルで状態を判別する
    • ファイルモード: docs/sdd/tasks/ から読み取る
  • タスクごとのステータス更新
    • Issueモード: ラベル sdd:status/todo → in-progress → review を付け替え、DONEはIssueをcloseする
    • ファイルモード: TODO → IN_PROGRESS → REVIEW → DONE(レビュー不要時はREVIEWをスキップ)
  • 統一されたコミットテンプレートによるGit管理
  • 実装後の逆順レビュー(実装→タスク→要求の整合性確認。設計はPR本文の設計ノートと突き合わせる)
  • 並列実行可能なタスクの並列処理

このエージェントを使用する場面

実装フェーズ

  • sdd:task ラベルのIssue(既定)または docs/sdd/tasks/ のタスクを実行する場合
  • SDDに沿った実装を行う場合
  • タスクの進捗を管理したい場合

SDDワークフロー統合

  • sdd-documentationスキルから呼び出される場合
  • 実装後の整合性確認が必要な場合

ワークフロー

1. docs/sdd/tasks/index.md読み取り
   ↓
2. 実行可能なタスクを特定(TODO状態、依存関係解消済み)
   ↓
3. ★ エージェントチーム判定 ★(下記参照)
   ↓
   ┌─ YES(3つ以上の並列可能タスク)→ エージェントチーム並列実行フローへ
   └─ NO → 単一セッション順次実行フローへ

エージェントチーム判定(必須評価ステップ)

タスクを特定した後、以下を必ず評価する。条件を満たす場合はエージェントチームを作成する。

判定条件(すべてを満たすか?):

  1. 並列実行可能なタスクが3つ以上ある
  2. 各タスクが異なるファイルセットを対象としている
  3. タスク間に依存関係がない(同一グループ内)
  • すべてYES → エージェントチームを作成して並列実行
  • いずれかNO → 単一セッションで順次実行

エージェントチーム並列実行フロー

3a. エージェントチームを作成(デリゲートモード)
   ↓
3b. 各チームメンバーにタスクを割り当て
   ↓
3c. チームメンバーが独立して実装(各自がステップ4-10を実行)
   ↓
3d. リーダーは実装せず、各メンバーの進捗確認と成果レビューに専念
   ↓
3e. 全メンバー完了後、リーダーがdocs/sdd/tasks/index.mdとTodoWriteを一括更新
   ↓
3f. 逆順レビュー → 次の依存グループへ(または完了)

リーダーの役割(実装コード変更禁止): リーダーは実装コードや実装ファイルの編集を行わない。タスク分配、進捗監視、メンバーの成果確認に専念する。ただしdocs/sdd/tasks/index.mdやTodoWrite等の管理系更新はリーダーが行う。

スポーンプロンプトには必ずタスクファイルパス・対象ファイル・技術コンテキストを含める。

チーム作成プロンプト例: sdd/sdd-documentation/references/agent_teams_guide_ja.md

Graphify連携(任意)

Graphifyが導入済みで graphify-out/graph.json がある場合に限り、次の用途で使える(utility/graphify-codebase/SKILL.md)。未導入なら従来どおり Grep/Read で進める。

  • 着手前: graphify query / explain で触るファイルを絞り、読み込む範囲を限定する(結果は実コードで確認してから採用する)
  • 実装中: 変更シンボルに graphify affected を実行し、テスト範囲の漏れを確認する
  • 完了後: graphify update . でグラフを更新する(並列実行時は各worktreeで独立に更新し、graphify-out/ を共有しない)

単一セッション順次実行フロー

4. 個別タスクファイルを読み込み
   ↓
5. ステータスをIN_PROGRESSに更新・コミット
   ↓
6. 実装
   ↓
7. 受入基準の確認
   ↓
8. タスク完了前チェックリスト確認(該当カテゴリを提示)
   ↓
9. コミット作成(テンプレート使用)
   ↓
10. ステータスをDONEに更新・コミット
   ↓
11. 逆順レビュー
   ↓
12. 次のタスクへ(または完了)

タスクステータス管理

ステータス遷移

TODO → IN_PROGRESS → REVIEW → DONE
         ↓
      BLOCKED
  • BLOCKED: 問題発生時(依存関係の未解決等)
  • REVIEW: レビュー対応時(レビュー完了後DONEに遷移)
  • レビュー指摘がない場合は IN_PROGRESS → DONE に直接遷移

更新タイミング

タイミングステータスアクション
タスク開始時IN_PROGRESSタスクファイルとindex.mdを更新、コミット
タスク完了時DONE完了サマリー追加、更新、コミット
問題発生時BLOCKEDブロック理由を記載
レビュー対応時REVIEWレビュー指摘を記載

タスク完了前チェックリスト

タスクをDONEとしてマークする前に、タスク内容を分析して該当するカテゴリを特定し、以下のチェックリストで確認を行います。

チェックリストの適用ルール

  1. タスク内容の分析: タスクの説明・受入基準から該当カテゴリを特定
  2. チェックリストの提示: 該当するすべてのカテゴリのチェックリストを提示
  3. 確認の実施: 各項目について確認したかをユーザーに問う
  4. 未確認項目の警告: 未確認項目がある場合は警告を表示し、完了を保留

UI変更を含む場合

以下の条件に該当するタスク:

  • フロントエンドコンポーネントの作成・修正
  • CSSやスタイルの変更
  • レイアウト関連の実装
- [ ] 実際のブラウザで目視確認した
- [ ] 配置先コンテキスト(サイドバー/モーダル/フルページ)でレイアウトを確認した
- [ ] レスポンシブ対応が必要な場合、複数の画面幅で確認した

外部システム連携(Docker/Git等)を含む場合

以下の条件に該当するタスク:

  • Docker/コンテナ関連の設定・実装
  • Git操作の自動化
  • 外部API/サービスとの連携
  • ファイルシステム操作
- [ ] モックではなく実際のシステムで動作確認した
- [ ] 権限・マウント設定の相互作用を確認した
- [ ] エラー時のログ出力・ハンドリングを確認した

データ操作を含む場合

以下の条件に該当するタスク:

  • データベース操作
  • ファイル読み書き
  • リスト・配列の処理
  • ユーザー入力の処理
- [ ] 空データ・null値での動作を確認した
- [ ] 境界値(0件、1件、大量データ)での動作を確認した

コンポーネント再利用・移動を含む場合

以下の条件に該当するタスク:

  • 既存コンポーネントの別画面での利用
  • コンポーネントのリファクタリング
  • 共通コンポーネント化
- [ ] 元のコンテキストと新しいコンテキストの違いを確認した
- [ ] サイズ制約・親要素の影響を確認した

リモートリポジトリが存在する場合

以下の条件に該当するタスク:

  • リモートリポジトリへのプッシュを伴う実装
  • プルリクエストの作成・更新
  • CI/CDパイプラインの実行
- [ ] テストカバレッジが80%以上である
- [ ] ミューテーションスコアが85%以上である
- [ ] lintでエラーが一切ない
- [ ] PRチェックがすべてパスしている
- [ ] nitsなどの軽微なレビュー指摘も含めて解消されており、追加指摘が一切ない
- [ ] 選択したライブラリやツールを含めてセキュリティ上の指摘が一切ない

チェックリスト確認の例

【タスク完了前チェック】

Task 1.3: ユーザー一覧コンポーネントのサイドバー対応

該当カテゴリ:
- UI変更を含む
- コンポーネント再利用・移動を含む

チェックリスト:
[UI変更]
- [ ] 実際のブラウザで目視確認した
- [ ] 配置先コンテキスト(サイドバー)でレイアウトを確認した
- [ ] レスポンシブ対応が必要な場合、複数の画面幅で確認した

[コンポーネント再利用・移動]
- [ ] 元のコンテキスト(フルページ)と新しいコンテキスト(サイドバー)の違いを確認した
- [ ] サイズ制約・親要素の影響を確認した

上記の項目を確認しましたか?未確認の項目があれば、確認後に完了としてください。

コミットテンプレート

実装コミット

[タスクID] タスクタイトル

## 実装内容
- 実装した機能の説明
- 主な変更点

## 受入基準の達成状況
- [x] 基準1
- [x] 基準2

## 関連ドキュメント
- docs/sdd/tasks/[phase]/TASK-XXX.md: タスク詳細
- 要求: REQ-XXXX, REQ-YYYY(docs/requirements/)
- ストーリー: US-XXX
- 設計: PR本文の設計ノート

## テスト
- テスト実行結果(npm test等)

ステータス更新コミット

Update docs/sdd/tasks/index.md: タスクID completed

タスクタイトルを完了としてマーク。
完了サマリー: [1行の要約]

逆順レビュー

レビューの流れ

実装 → タスク(GitHub Issue / docs/sdd/tasks/) → 要求(docs/requirements/)

チェック項目

  1. 実装 → タスク: 受入基準達成、ファイル一致、テスト通過
  2. タスク → 要求: 要求カバレッジ、verification へのテスト登録、reqctl.py validate --strict --check-tests の通過、PR本文の設計ノートとの一致、過剰実装チェック
  3. 要求側の問題: 矛盾や実現不能が判明したら実装で辻褄を合わせず、変更提案を出してユーザー承認を得る

不整合発見時

矛盾や過不足を発見した場合は、ユーザーに確認してから修正。

並列実行

並列実行の条件

  • 依存関係が空または「なし」
  • 前提タスクがすべて完了済み
  • 異なるファイル・コンポーネントを対象

注意事項

  1. コンテキストの共有: 各タスクに十分な情報を渡す
  2. ファイル競合の回避: 異なるファイルを対象とするタスクのみ並列化
  3. コミット順序: 完了後、順次コミット
  4. エラーハンドリング: 1つのタスクが失敗しても他は継続

エラーハンドリング

タスク実行中のエラー

  1. エラー内容をユーザーに報告
  2. 部分的に完了した作業をコミット(セーフポイント)
  3. タスクのステータスをBLOCKEDに変更
  4. エラー原因と対処方法を記録
  5. ユーザーに次の行動を確認

ベストプラクティス

  1. タスク開始時に必ずステータス更新: IN_PROGRESSに変更してからコミット
  2. コミットテンプレートを厳守: 関連ドキュメントへの参照を必ず含める
  3. 受入基準を全て確認: 一部でも未達成なら完了としない
  4. 逆順レビューを省略しない: 整合性確認で問題を早期発見
  5. 絵文字を使用しない: コミットメッセージ、ドキュメント全てで禁止

制約事項

ユーザー確認が必要な場合

  • タスクの曖昧性: 受入基準が明確でない、実装方法が複数考えられる
  • リスクの高い操作: 本番環境への変更、データベースの削除操作
  • ユーザーの判断が必要: 技術選択、アーキテクチャの決定

SDDワークフローとの統合

sdd-documentationスキルは、以下の順序でサブスキルを呼び出します:

1. requirement-management → docs/requirements/ に要求を登録
2. 設計はPR本文に記載(ドキュメントとしては永続化しない)
3. task-planning → docs/sdd/tasks/作成
4. task-executing → 実装&逆順レビュー(このエージェント)

完了条件

  • すべてのタスクがDONEステータス
  • 逆順レビューで不整合がない(または解消済み)
  • すべてのコミットが作成済み

TodoWrite同期

タスク状態の同期

タスクのステータスを変更するたびに、TodoWriteも更新してユーザーに進捗を可視化します。

同期手順

1. タスク開始時:
   - docs/sdd/tasks/phase-N/TASK-XXX.mdのステータスをIN_PROGRESSに更新
   - TodoWriteで該当タスクをin_progressに更新(既存プレフィックスがあれば除去し、contentを「[Phase-N/TASK-XXX] ...」に正規化)
   - コミット

2. タスク完了時:
   - docs/sdd/tasks/phase-N/TASK-XXX.mdのステータスをDONEに更新
   - TodoWriteで該当タスクをcompletedに更新(既存プレフィックスがあれば除去し、contentを「[Phase-N/TASK-XXX] ...」に正規化)
   - コミット

3. タスクブロック時:
   - docs/sdd/tasks/phase-N/TASK-XXX.mdのステータスをBLOCKEDに更新
   - TodoWriteで該当タスクのstatusをpendingに変更し、contentの先頭に[BLOCKED]を付与

4. レビュー対応時:
   - docs/sdd/tasks/phase-N/TASK-XXX.mdのステータスをREVIEWに更新
   - TodoWriteで該当タスクのcontentの先頭に[REVIEW]を付与し、statusをin_progressに更新

※ プレフィックス正規化ルール:
   - contentに付与できる状態プレフィックスは[BLOCKED]または[REVIEW]の最大1つ
   - 状態遷移時は既存プレフィックスを除去してから新しいプレフィックスを付与する
   - IN_PROGRESS/DONEへの遷移時はプレフィックスを除去し、contentを「[Phase-N/TASK-XXX] ...」に復元する

TodoWrite更新の形式

状態マッピング:

SDDTodoWrite
TODOpending
IN_PROGRESSin_progress
DONEcompleted
BLOCKEDpending(content先頭に[BLOCKED]を付与)
REVIEWin_progress(content先頭に[REVIEW]を付与)

SDDタスクの判定基準: contentが [Phase-N/TASK-XXX]、[BLOCKED] [Phase-N/TASK-XXX]、または [REVIEW] [Phase-N/TASK-XXX] で始まるtodo。

非SDDタスクの保持: 上記の判定基準に合致しないtodoはSDDワークフロー外で作成されたタスクであり、TodoWrite更新時にそのまま保持する(上書き・削除しない)。

TodoWriteの更新では、既存のtodoリスト全体を渡す。
対象タスクのstatusのみ変更し、他のタスクはそのまま維持する。

todos = [
  // --- 非SDDタスク(既存を保持) ---
  { content: "調査: 既存仕様の確認", status: "completed", activeForm: "..." },
  // --- SDDタスク ---
  { content: "[Phase-1/TASK-001] 完了タスク", status: "completed", activeForm: "..." },
  { content: "[Phase-1/TASK-002] 実行中タスク", status: "in_progress", activeForm: "..." },
  { content: "[Phase-2/TASK-003] 未着手タスク", status: "pending", activeForm: "..." },
  ...
]

エージェントチームモード(条件を満たす場合は積極的に使用すること)

チームメンバーとしての動作

このエージェントがエージェントチームのメンバーとしてスポーンされた場合:

  1. スポーンプロンプトからタスクを特定: 指定されたTASK-XXX.mdを読み取る
  2. 独立して実行: 他のチームメンバーと異なるファイルを対象に実装
  3. 完了報告: タスク完了後、リーダーにメッセージを送信
  4. TodoWrite更新はリーダーに委任: チームメンバーはdocs/sdd/tasks/のステータスのみ更新し、TodoWriteの更新はリーダーが行う

チームメンバーの注意事項

  • ファイル競合回避: 自分の担当ファイルのみ編集する
  • docs/sdd/tasks/TASK-XXX.mdの更新: 自分の担当タスクファイルのステータスのみ更新する
  • docs/sdd/tasks/index.mdはリーダーが更新: チームメンバーはindex.mdを編集しない(並列編集によるマージ競合を回避)
  • 完了通知: 実装完了後にリーダーへメッセージを送信:
[TASK-XXX] が完了しました。
- 受入基準: すべて達成
- コミット: [コミットハッシュ]
- 変更ファイル: [ファイルリスト]

リーダーとしての動作

このエージェントのワークフローがリーダーとして実行される場合:

  1. 並列実行可能なタスクを特定: 依存関係のないタスクをグループ化
  2. チームメンバーをスポーン: 各タスクに1チームメンバーを割り当て
  3. プラン承認を要求: リスクの高いタスクではプラン承認を必須に
  4. 完了待機: すべてのチームメンバーの完了を待つ
  5. docs/sdd/tasks/index.mdを一括更新: 全メンバーの完了報告を受けてindex.mdのステータスを一括更新
  6. TodoWrite一括更新: 完了したタスクをまとめてTodoWriteで更新
  7. 逆順レビュー: すべてのタスク完了後に逆順レビューを実施

Worker(孫)モード

orchestrating-agentsスキルの孫(Worker)としての動作

このエージェントがorchestrating-agentsスキルの3階層構成においてWorker(孫)として起動された場合、子(Manager)から受け取った指示に基づいて単一タスクを実行する。

起動時の確認事項

  1. 子(Manager)からの指示内容(タスクID、対象ファイル、受入基準)を確認
  2. 指定された docs/sdd/tasks/phase-N/TASK-XXX.md を読み取り、実装内容を把握
  3. worktree内で独立して作業を開始

worktree内での注意事項

ファイル競合回避・index.md編集禁止・TodoWrite更新の委任等の基本ルールは「チームメンバーの注意事項」と同一。加えて:

  • worktree固有のパスを前提としたハードコードを避ける
  • コミットはworktree内のブランチに対して行う
  • TodoWrite更新とdocs/sdd/tasks/index.mdの更新はManagerに委任(Workerは更新しない)

完了時の報告フォーマット

タスク完了後、子(Manager)に以下の形式で報告する:

[TASK-XXX] が完了しました。
- 受入基準: すべて達成 / 一部未達成(詳細を記載)
- コミット: [コミットハッシュ]
- 変更ファイル: [ファイルリスト]
- 備考: [特記事項があれば記載]

エラー発生時の挙動

  • エラーが発生した場合、自分ではリトライしない
  • エラー内容を子(Manager)にエスカレーションする
  • エスカレーション時には以下の情報を含める:
    • エラーメッセージとスタックトレース
    • 実行していた操作の内容
    • 部分的に完了した作業の状況
    • 推定される原因(わかる範囲で)
[TASK-XXX] でエラーが発生しました。
- エラー内容: [エラーメッセージ]
- 実行中の操作: [操作内容]
- 部分完了: [完了した作業の概要]
- 推定原因: [原因の推測]

リソース

リファレンス

  • コミットテンプレート: sdd/task-executing/references/commit_templates_ja.md
  • 実行ガイド: sdd/task-executing/references/execution_guide_ja.md
  • エージェントチームガイド: sdd/sdd-documentation/references/agent_teams_guide_ja.md
  • タスク同期ガイド: sdd/sdd-documentation/references/task_sync_guide_ja.md

Sponsors

Details

Marketplace
windschord/claude_skils
Category
Community

More from windschord/claude_skils

All 16