Files
2025-11-30 09:06:26 +08:00

11 KiB
Raw Permalink Blame History

Jules CLI統合スキル

docs/tasks.mdに記載されたタスクをGoogleの非同期コーディングエージェントJulesに依頼・管理するスキルです。SDDで分割したタスクを効率的にJulesに割り当て、進捗を追跡します。

特徴

  • タスク自動依頼: docs/tasks.mdからタスクを読み取り、選択したタスクをJulesに依頼
  • 日本語対応: すべての依頼文を日本語でフォーマット
  • 進捗追跡: Julesの作業状況を管理し、完了後にtasks.mdを更新
  • 並行処理: 依存関係のないタスクを並行してJulesに依頼可能
  • 詳細な文脈提供: タスクの説明、受入基準、技術的文脈を含む完全な依頼文を生成

使用方法

基本的な使い方

  1. スキルを有効化

    Claude Codeで以下のように依頼します

    次のタスクをJulesに依頼してください
    

    または

    タスクをJulesで実行してください
    
  2. タスクを選択

    スキルがdocs/tasks.mdから利用可能なタスクを表示するので、実行したいタスクを選択します。

  3. 依頼文を確認

    スキルが生成した依頼文を確認し、問題がなければ承認します。

  4. Julesが作業を実行

    julesコマンドが実行され、タスクがJulesに送信されます。進捗はjules listjules statusで確認できます。

  5. 完了後の処理

    タスクが完了したら、スキルが結果をレビューし、tasks.mdを更新します。

詳細な例

シナリオ: ユーザー認証APIを実装する

docs/tasks.md の内容:

#### タスク1.1: ユーザー認証APIエンドポイントの実装
**説明**: POST /api/auth/login と POST /api/auth/logout のエンドポイントを実装
**受入基準**:
- src/api/auth.tsが存在する
- すべてのテストが通過するnpm test
- ESLintエラーがゼロである
**ステータス**: `TODO`
**依存関係**: なし
**推定工数**: 2時間

ユーザーの依頼:

タスク1.1をJulesに依頼してください

スキルの動作:

  1. docs/tasks.mdを読み取る
  2. タスク1.1の情報を抽出
  3. 日本語の依頼文を作成:
    タスク: ユーザー認証APIエンドポイントの実装
    
    概要:
    POST /api/auth/login と POST /api/auth/logout のエンドポイントを実装してください。
    JWTトークンを使用した認証方式を採用し、パスワードはbcryptでハッシュ化します。
    
    受入基準:
    - src/api/auth.tsが存在し、login/logoutエンドポイントが実装されている
    - すべてのテストが通過するnpm test
    - ESLintエラーがゼロである
    
    技術的文脈:
    - フレームワーク: Next.js 14
    - 認証: JWT + bcrypt
    - 参照実装: src/api/users.ts
    
    推定工数: 2時間
    
  4. ユーザーに確認を求める
  5. 承認後、julesコマンドを実行
  6. タスクIDを記録例: task-abc123
  7. tasks.mdのステータスをIN_PROGRESSに更新

完了後:

jules status task-abc123  # 完了を確認
jules result task-abc123  # 結果を取得

スキルが結果をレビューし、tasks.mdのステータスをREVIEWに更新します。

Jules依頼文の構造

スキルが生成する依頼文は以下の構造を持ちます:

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

概要:
[タスクの詳細な説明]

受入基準:
- [基準1]
- [基準2]
- [基準3]

技術的文脈:
- [フレームワークやライブラリ]
- [参照すべきファイルやコード]
- [制約事項]

推定工数: [時間]

すべて日本語で記述され、Julesが理解しやすい形式になっています。

ワークフロー

1. ユーザーがスキルを起動
   「次のタスクをJulesに依頼してください」
   ↓
2. スキルがdocs/tasks.mdを読み取る
   TODO状態のタスクを特定
   ↓
3. タスクリストを表示
   ユーザーがタスクを選択
   ↓
4. 依頼文を日本語で作成
   タスクの説明、受入基準、技術的文脈を含む
   ↓
5. ユーザーに依頼文を確認してもらう
   承認後、次へ進む
   ↓
6. julesコマンドを実行
   依頼文をJulesに送信
   ↓
7. タスクIDを記録
   ユーザーに報告
   ↓
8. tasks.mdを更新
   ステータスをIN_PROGRESSに変更
   ↓
9. 進捗を確認(必要に応じて)
   jules listやjules statusを使用
   ↓
10. 完了後、結果をレビュー
    受入基準を満たしているか確認
    ↓
11. tasks.mdを最終更新
    ステータスをREVIEWまたはDONEに変更

並行処理

依存関係のない複数のタスクを並行してJulesに依頼できます

:

ユーザー: タスク1.1、1.2、1.3をJulesに依頼してください

スキルは各タスクについて:

  1. 個別の依頼文を作成
  2. 順次julesコマンドを実行
  3. すべてのタスクIDを記録
  4. 各タスクの進捗を個別に追跡

並行実行の条件:

  • 依存関係が存在しない
  • 異なるファイル・コンポーネントを対象とする
  • 相互に影響を与えない

tasks.mdの更新

スキルは以下のようにtasks.mdを更新します

ステータスの遷移

TODO → IN_PROGRESSJules実行中→ REVIEW完了、レビュー待ち→ DONE承認済み

記録される情報

#### タスク1.1: ユーザー認証APIエンドポイントの実装
**説明**: POST /api/auth/login と POST /api/auth/logout のエンドポイントを実装
**受入基準**:
- src/api/auth.tsが存在する
- テストが通過する
**ステータス**: `REVIEW`
**依存関係**: なし
**推定工数**: 2時間
**Jules Task ID**: task-abc123
**開始日時**: 2024-01-15 10:30
**完了日時**: 2024-01-15 12:15
**作業時間**: 1時間45分

エラーハンドリング

Julesでエラーが発生した場合

スキルは以下の手順で対処します:

  1. エラー内容を確認

    jules status <task-id>
    
  2. ユーザーに報告

    • エラーの詳細
    • 推定される原因
    • 推奨される対処方法
  3. 対処を提案

    • 依頼文を修正して再実行
    • 依存関係を解決
    • 手動で対処
  4. tasks.mdを更新

    • ステータスをBLOCKEDに変更
    • エラー内容を記録

タスクが長時間完了しない場合

  1. 現在の状態を確認
  2. ユーザーに状況を報告
  3. キャンセルまたは待機を提案

Jules CLIコマンドリファレンス

このスキルが使用する主なコマンド:

タスクの作成

jules "タスクの説明"

タスクの管理

jules list               # タスクリスト表示
jules status <task-id>   # タスクの状態確認
jules show <task-id>     # タスクの詳細表示
jules result <task-id>   # 完了したタスクの結果取得

タスクの制御

jules cancel <task-id>   # タスクのキャンセル
jules retry <task-id>    # タスクの再実行

ベストプラクティス

1. タスクの粒度を適切に

  • 1つのタスクは1-3時間程度
  • 1つの明確な目的を持つ
  • 独立して完結する
  • 検証が容易

2. 受入基準を明確に

検証可能な受入基準をtasks.mdに記載

良い例:

受入基準:
- src/components/LoginForm.tsxが存在する
- npm testを実行してすべてのテストが通過する
- npm run lintを実行してエラーがゼロである

悪い例:

受入基準:
- ちゃんと動く
- きれいなコード

3. 技術的文脈を提供

Julesが適切に作業できるよう、必要な情報をtasks.mdに含める

  • プロジェクトの技術スタック
  • 参照すべき既存コード
  • コーディング規約
  • 制約事項

4. 依存関係を明示

tasks.mdで依存関係を明確に記載

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

これにより、スキルが適切な実行順序を判断できます。

制約事項

実行の制限

以下の場合はJulesへの依頼を控えます

  1. タスクの曖昧性

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

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

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

環境要件

  • Jules CLIがインストールされている必要がある
  • julesコマンドがPATHに含まれている必要がある
  • 認証が正しく設定されている必要がある
  • ネットワーク接続が必要

トラブルシューティング

julesコマンドが見つからない

原因: Jules CLIがインストールされていない、またはPATHに含まれていない

解決:

  1. Jules CLIのインストールを確認
  2. PATHを設定
  3. which julesで確認

認証エラーが発生する

原因: Jules CLIの認証が設定されていない

解決:

jules auth login

でGoogle認証を完了してください。

タスクが失敗する

原因: 依頼文が不明瞭、または依存関係が不足

解決:

  1. tasks.mdのタスク説明を詳細化
  2. 受入基準を明確にする
  3. 技術的文脈を追加
  4. 依存関係を解決

並行実行で競合が発生する

原因: 同じファイルを編集するタスクを並行実行した

解決:

  1. 依存関係を見直す
  2. 順次実行に変更
  3. タスクの粒度を調整

SDD-Docsスキルとの連携

このスキルはSDD-Docsスキルと組み合わせて使用することで、最大の効果を発揮します

推奨ワークフロー

  1. SDD-Docsスキルで設計

    docsディレクトリを初期化してください
    
    • requirements.md要件定義を作成
    • design.md技術設計を作成
    • tasks.mdタスク管理を作成
  2. Jules CLIスキルで実装

    次のタスクをJulesに依頼してください
    
    • tasks.mdからタスクを選択
    • Julesに依頼
    • 進捗を追跡
  3. Task Executorスキルでレビュー(オプション)

    完了したタスクをレビューしてください
    
    • 受入基準を確認
    • コード品質をチェック
    • tasks.mdを更新

連携の利点

  • 一貫した文書管理: SDDドキュメントとタスク管理を統合
  • 効率的な実装: タスクを自動的にJulesに割り当て
  • 進捗の可視化: tasks.mdで進捗を一元管理
  • 品質保証: 受入基準に基づいた検証

さらに詳しく

ライセンス

このスキルはMITライセンスの下で公開されています。