Claude Code Plugins

Community-maintained marketplace

Feedback

docs/tasks.mdに記載されたタスクを読み取り、サブエージェントを使用して実装を自動実行します。並列実装可能なタスクは並列で処理し、タスクごとにコミットを作成します。タスク完了後はtasks.mdを更新して完了をマークします。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name task-executor
description docs/tasks.mdに記載されたタスクを読み取り、サブエージェントを使用して実装を自動実行します。並列実装可能なタスクは並列で処理し、タスクごとにコミットを作成します。タスク完了後はtasks.mdを更新して完了をマークします。

Task Executor スキル

docs/tasks.mdに記載されたタスクを自動的に実行するスキルです。サブエージェントを活用して効率的に実装を進め、適切なコミット管理を行います。

概要

このスキルは以下の機能を提供します:

  • docs/tasks.mdからタスクを読み取り、実行順序を決定
  • サブエージェントを使用した自動実装
  • 並列実行可能なタスクの並列処理
  • タスクごとの自動コミット
  • 重要な変更前の安全なコミット作成
  • タスク完了時のtasks.md自動更新

このスキルを使用する場面

以下の状況でこのスキルを有効にしてください:

タスク実行時

  • docs/tasks.mdに記載されたタスクを実行する場合
  • 次のタスクを自動的に実行してほしい場合
  • 複数のタスクを効率的に処理したい場合
  • タスクの実装を自動化したい場合

プロジェクト管理時

  • タスクの進捗を自動的に追跡したい場合
  • タスク完了後にtasks.mdを更新したい場合
  • 実装とドキュメントの同期を保ちたい場合

基本的な使い方

タスクの実行

「次のタスクを実行してください」「tasks.mdのタスクを進めてください」などと依頼されたら:

  1. tasks.mdの読み取り

    • docs/tasks.mdの内容を確認
    • TODO状態のタスクを特定
    • 依存関係を確認
  2. 実行計画の作成

    • 実行可能なタスクを特定
    • 並列実行可能なタスクをグループ化
    • 実行順序を決定
  3. タスクの実行

    • サブエージェントを使用して実装
    • 並列実行可能な場合は複数のサブエージェントを同時起動
    • タスクごとにコミットを作成
  4. tasks.mdの更新

    • 完了したタスクを1行に要約
    • ステータスをDONEに変更
    • 変更をコミット

タスク実行の原則

1. サブエージェントの活用

すべての実装タスクはサブエージェント(Task tool)を使用して実行します:

使用方法

サブエージェントに以下のタスクを実行させます:
- タスク内容:[tasks.mdから抽出したタスク説明]
- 受入基準:[tasks.mdから抽出した受入基準]
- 技術的文脈:[tasks.mdから抽出した技術情報]

サブエージェントへの指示

  • タスクの完全な説明を提供
  • 受入基準を明確に伝える
  • 必要な技術的文脈を共有
  • 実装のみを依頼(コミットは含めない)

2. 並列実行

依存関係のないタスクは並列で実行します:

並列実行の条件

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

並列実行の方法

複数のサブエージェントを同時に起動します:
- サブエージェント1: タスク1.1を実行
- サブエージェント2: タスク1.2を実行
- サブエージェント3: タスク1.3を実行

3. コミット管理

基本ルール

タスクごとのコミット

  • 各タスク完了後、必ずコミットを作成
  • コミットメッセージにはタスクの内容を記載
  • 補足情報があれば追加

コミットメッセージの形式

[タスクID] タスクの要約

tasks.mdに記載されたタスクの詳細説明。
実装した内容の補足情報。

関連: docs/tasks.md [タスクID]

[Task 1.1] ユーザー認証APIエンドポイントの実装

POST /api/auth/login と POST /api/auth/logout エンドポイントを実装。
JWTトークンを使用した認証方式を採用し、bcryptでパスワードをハッシュ化。

関連: docs/tasks.md Task 1.1

重要な変更前のコミット

以下の場合は、変更前に安全なコミットを作成します:

重要な変更の例

  • アーキテクチャの大幅な変更
  • 複数のファイルにまたがる大規模なリファクタリング
  • データベーススキーマの変更
  • 既存のAPIインターフェースの変更
  • 依存ライブラリのメジャーバージョンアップ

手順

  1. 現在の安定した状態をコミット
  2. コミットメッセージに「変更前の安全なポイント」と記載
  3. 変更を実施
  4. 変更完了後にタスクのコミットを作成

# 変更前のコミット
[Task 2.3] 認証システムリファクタリング前の安全なポイント

大規模なリファクタリングを開始する前の安定した状態を保存。

# 変更後のコミット
[Task 2.3] 認証システムのリファクタリング

認証ロジックをミドルウェアに分離し、コードの再利用性を向上。
既存のテストはすべて通過することを確認。

関連: docs/tasks.md Task 2.3

4. tasks.mdの更新

タスク完了後、以下の手順でtasks.mdを更新します:

更新内容

  1. タスクの要約

    • タスクの説明を1行に要約
    • 実装した内容の要点を含める
    • 簡潔かつ明確に記述
  2. ステータスの変更

    • TODODONE
    • 完了日時は不要(gitのコミット履歴で確認可能)
  3. フォーマット

#### タスク1.1: [タイトル]
**説明**: [元の説明]
**受入基準**: [元の受入基準]
**ステータス**: `DONE`
**完了サマリー**: [1行の要約]

更新のコミット

tasks.mdの更新は独立したコミットとして作成します:

Update tasks.md: Mark Task 1.1 as completed

タスク1.1(ユーザー認証APIエンドポイントの実装)を完了としてマーク。

5. 絵文字の使用禁止

すべてのメッセージ、コミットメッセージ、ドキュメントで絵文字を使用しません:

禁止事項

  • コミットメッセージに絵文字を含めない
  • ユーザーへのメッセージに絵文字を使わない
  • tasks.mdの更新に絵文字を含めない
  • ログやエラーメッセージに絵文字を使わない

良い例

[Task 1.1] ユーザー認証APIエンドポイントの実装

関連: docs/tasks.md Task 1.1

悪い例

✅ [Task 1.1] ユーザー認証APIエンドポイントの実装 🚀

関連: docs/tasks.md Task 1.1 📝

ワークフロー

基本的な実行フロー

1. tasks.mdを読み取る
   ↓
2. 実行可能なタスクを特定
   ↓
3. 並列実行可能か判断
   ↓
4. サブエージェントを起動(並列または順次)
   ↓
5. 各タスクの実装を監視
   ↓
6. タスクごとにコミット作成
   ↓
7. tasks.mdを更新
   ↓
8. tasks.md更新をコミット
   ↓
9. 次のタスクへ(または完了)

詳細な実行手順

ステップ1: タスクの読み取りと分析

1. docs/tasks.mdを読み取る
2. 各タスクの情報を抽出:
   - タスクID
   - タスクタイトル
   - 説明
   - 受入基準
   - 依存関係
   - ステータス
   - 推定工数
3. TODO状態のタスクをフィルタリング
4. 依存関係グラフを作成

ステップ2: 実行計画の作成

1. 依存関係のないタスクを特定
2. 並列実行グループを作成
3. 実行順序を決定
4. ユーザーに実行計画を提示

実行計画の例

以下のタスクを実行します:

並列実行グループ1(依存関係なし):
- Task 1.1: ユーザー認証APIエンドポイントの実装
- Task 1.2: データモデルの定義
- Task 1.3: 設定ファイルの作成

順次実行(Task 1.1, 1.2に依存):
- Task 2.1: 認証ミドルウェアの実装

実行を開始してよろしいですか?

ステップ3: タスクの実行

1. サブエージェントを起動
2. タスクの完全な情報を提供
3. 実装の完了を待つ
4. 受入基準の確認
5. コミットを作成

ステップ4: tasks.mdの更新

1. 完了したタスクを1行に要約
2. ステータスをDONEに変更
3. 完了サマリーを追加
4. 変更をコミット

エラーハンドリング

タスク実行中のエラー

エラーが発生した場合

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

Task 1.1の実行中にエラーが発生しました:

エラー内容:
npm install時に依存関係の競合が発生

実施した内容:
- 基本的なファイル構造を作成(コミット済み)
- パッケージのインストールは未完了

次の行動:
1. 依存関係の競合を解決してから再実行
2. このタスクをスキップして次のタスクへ進む

どちらにしますか?

依存関係の問題

前提タスクが未完了の場合

  1. 依存関係を確認
  2. 前提タスクの実行を提案
  3. ユーザーに確認

制約事項

実行の制限

以下の場合は自動実行を行いません:

  1. タスクの曖昧性

    • 受入基準が明確でない
    • 実装方法が複数考えられる
    • 技術的文脈が不足している
  2. リスクの高い操作

    • 本番環境への直接的な変更
    • データベースの削除操作
    • 認証情報の変更
  3. ユーザーの判断が必要な場合

    • 技術選択が必要
    • アーキテクチャの決定が必要
    • トレードオフの判断が必要

これらの場合は、ユーザーに確認を求めます。

ベストプラクティス

1. タスクの粒度

tasks.mdのタスクは以下の粒度が推奨されます:

  • サブエージェント1回の実行で完了できる範囲
  • 20-90分程度の作業量
  • 明確な受入基準を持つ

2. 依存関係の明示

tasks.mdでは依存関係を明確に記載してください:

**依存関係**: Task 1.1, Task 1.2

3. 受入基準の具体化

受入基準は検証可能な形で記載してください:

**受入基準**:
- [ ] `src/api/auth.ts`が存在する
- [ ] すべてのテストが通過する(npm test)
- [ ] ESLintエラーがゼロ

4. 技術的文脈の提供

サブエージェントが実装しやすいよう、技術的文脈を提供してください:

**技術的文脈**:
- フレームワーク: Next.js 14
- 認証: JWT + bcrypt
- 参照実装: src/api/users.ts

トラブルシューティング

よくある問題と解決方法

問題1: タスクが並列実行されない

  • 原因: 依存関係が設定されている
  • 解決: tasks.mdの依存関係フィールドを確認

問題2: コミットが作成されない

  • 原因: git作業ディレクトリが汚れている
  • 解決: 未コミットの変更を確認し、適切にコミット

問題3: サブエージェントがタスクを完了できない

  • 原因: タスクの説明が不十分
  • 解決: tasks.mdのタスク説明を詳細化

今後の拡張

このスキルは将来的に以下の機能を追加予定です:

  • タスクの優先順位付け
  • 実行時間の推定と実績の記録
  • タスク実行のロールバック機能
  • 複数プロジェクトの並行管理
  • GitHub Issuesとの連携