Claude Code Plugins

Community-maintained marketplace

Feedback

docs/tasks.mdに記載されたタスクをJules CLIを使って依頼・管理します。タスクを日本語でフォーマットしてJulesに送信し、進捗を追跡して完了後に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 jules-cli
description docs/tasks.mdに記載されたタスクをJules CLIを使って依頼・管理します。タスクを日本語でフォーマットしてJulesに送信し、進捗を追跡して完了後にtasks.mdを更新します。

Jules CLI統合スキル

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

概要

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

  • docs/tasks.mdからタスクを読み取り、選択可能なリストを表示
  • 選択されたタスクを日本語でフォーマットしてJulesに依頼
  • Julesの進捗状況を確認・管理
  • 完了したタスクをtasks.mdで更新
  • 複数タスクの並行依頼サポート

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

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

タスク実行時

  • docs/tasks.mdのタスクをJulesに依頼したい場合
  • 長時間かかるタスクを非同期で実行したい場合
  • 複数のタスクを並行して実行したい場合
  • Jules CLIを使った開発ワークフローを構築する場合

プロジェクト管理時

  • タスクの進捗をJulesで管理したい場合
  • チーム内でJulesを活用している場合
  • 自動化可能なタスクをJulesに任せたい場合

基本的な使い方

タスクの依頼

「次のタスクをJulesに依頼してください」「タスクをJulesで実行してください」などと依頼されたら:

  1. tasks.mdの読み取り

    • docs/tasks.mdの内容を確認
    • TODO状態のタスクを特定
    • 依存関係を確認
  2. タスクの選択

    • ユーザーにタスクリストを表示
    • 依頼するタスクを選択してもらう
    • 複数選択も可能
  3. Jules依頼文の作成

    • タスクの説明、受入基準、技術的文脈を日本語でフォーマット
    • Julesが理解しやすい形式に整形
    • 必要な参照情報を含める
  4. julesコマンドの実行

    • jules "依頼文" コマンドを実行
    • タスクIDを記録
    • ユーザーに依頼完了を報告
  5. 進捗の追跡

    • 必要に応じてJulesの進捗を確認
    • 完了したら結果をレビュー
    • tasks.mdを更新

Jules依頼文の原則

1. 明確で具体的な指示

Julesが理解しやすい形式で依頼文を作成します:

基本構造

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

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

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

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

推定工数: [時間]

良い例

タスク: ユーザー認証APIエンドポイントの実装

概要:
POST /api/auth/login と POST /api/auth/logout のエンドポイントを実装してください。
JWTトークンを使用した認証方式を採用し、パスワードはbcryptでハッシュ化します。

受入基準:
- src/api/auth.tsが存在し、login/logoutエンドポイントが実装されている
- すべてのテストが通過する(npm test)
- ESLintエラーがゼロである
- JWTトークンが正しく生成・検証される

技術的文脈:
- フレームワーク: Next.js 14 App Router
- 認証ライブラリ: jose(JWT)、bcrypt(パスワードハッシュ化)
- 参照実装: src/api/users.ts
- データベース: PostgreSQL with Prisma ORM

推定工数: 2時間

悪い例

ログイン機能を作って

2. 日本語での依頼

すべての依頼文は日本語で記述します:

理由

  • ユーザーが日本語での依頼を希望している
  • タスクの内容が日本語で記載されている場合が多い
  • Julesは多言語対応しており、日本語も理解できる

注意事項

  • 技術用語は英語のまま使用(例: JWT, API, bcrypt)
  • ファイルパスやコマンドは英語のまま
  • 説明文や受入基準は日本語で記述

3. 文脈の提供

Julesが適切に作業できるよう、必要な文脈を提供します:

含めるべき情報

  • プロジェクトの技術スタック
  • 参照すべき既存コード
  • コーディング規約やスタイルガイド
  • 制約事項や注意点
  • 依存関係のあるタスク

技術的文脈:
- このプロジェクトはNext.js 14のApp Routerを使用しています
- 既存の実装パターンはsrc/api/users.tsを参照してください
- ESLintとPrettierの設定に従ってください
- データベーススキーマはprisma/schema.prismaで定義されています
- Task 1.2(データモデルの定義)の完了が前提です

4. 受入基準の明確化

検証可能な受入基準を提供します:

良い受入基準

受入基準:
- src/components/LoginForm.tsxが存在する
- npm testを実行してすべてのテストが通過する
- npm run lintを実行してエラーがゼロである
- ログイン成功時にJWTトークンが返される
- ログイン失敗時に適切なエラーメッセージが返される
- パスワードはbcryptでハッシュ化されている

悪い受入基準

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

Jules CLIコマンド

タスクの作成・依頼

# 基本的な依頼
jules "タスクの説明"

# 長い依頼文の場合はヒアドキュメントを使用
jules "$(cat <<'EOF'
タスク: ユーザー認証APIの実装

概要:
POST /api/auth/login エンドポイントを実装してください。

受入基準:
- src/api/auth.tsが存在する
- テストが通過する

技術的文脈:
- Next.js 14
- JWT + bcrypt
EOF
)"

タスクの状態確認

# タスクリストの表示
jules list

# 特定のタスクの状態確認
jules status <task-id>

# タスクの詳細表示
jules show <task-id>

タスクの管理

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

# タスクの再実行
jules retry <task-id>

# 完了したタスクの結果取得
jules result <task-id>

ワークフロー

基本的な実行フロー

1. tasks.mdを読み取る
   ↓
2. TODO状態のタスクをリスト表示
   ↓
3. ユーザーがタスクを選択
   ↓
4. 依頼文を日本語で作成
   ↓
5. ユーザーに依頼文を確認してもらう
   ↓
6. julesコマンドを実行
   ↓
7. タスクIDを記録
   ↓
8. 進捗を定期的に確認(必要に応じて)
   ↓
9. 完了したら結果をレビュー
   ↓
10. tasks.mdを更新(ステータスをIN_PROGRESSまたはREVIEW)
   ↓
11. レビュー完了後、DONEにマーク

詳細な実行手順

ステップ1: タスクの選択

ファシリテーター: docs/tasks.mdから実行可能なタスクを確認しました。
                  以下のタスクが利用可能です:

                  1. Task 1.1: ユーザー認証APIエンドポイントの実装
                     推定工数: 2時間
                     依存関係: なし

                  2. Task 1.2: データモデルの定義
                     推定工数: 1時間
                     依存関係: なし

                  3. Task 2.1: 認証ミドルウェアの実装
                     推定工数: 1.5時間
                     依存関係: Task 1.1

                  どのタスクをJulesに依頼しますか?(番号で選択、複数選択可)

ユーザー: 1と2

ファシリテーター: 承知しました。Task 1.1とTask 1.2をJulesに依頼します。

ステップ2: 依頼文の作成と確認

ファシリテーター: 以下の依頼文でJulesに送信します。確認してください:

【Task 1.1の依頼文】
タスク: ユーザー認証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時間

このまま送信してよろしいですか?

ユーザー: はい

ファシリテーター: Julesに依頼を送信します。

ステップ3: julesコマンドの実行

# Task 1.1の依頼
jules "$(cat <<'EOF'
タスク: ユーザー認証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時間
EOF
)"

# Task 1.2の依頼
jules "$(cat <<'EOF'
タスク: データモデルの定義

概要:
Prismaスキーマファイルにユーザーと認証関連のデータモデルを定義してください。

受入基準:
- prisma/schema.prismaにUserモデルが定義されている
- prisma migrateが正常に実行できる
- TypeScript型定義が自動生成される

技術的文脈:
- ORM: Prisma
- データベース: PostgreSQL
- 既存のスキーマを参考にしてください

推定工数: 1時間
EOF
)"

ステップ4: タスクIDの記録とユーザーへの報告

ファシリテーター: Julesへの依頼が完了しました。

                  依頼したタスク:
                  - Task 1.1: task-abc123(進行中)
                  - Task 1.2: task-def456(進行中)

                  進捗は以下のコマンドで確認できます:
                  jules status task-abc123
                  jules status task-def456

                  完了を待つ間、他の作業を進めることができます。

ステップ5: 進捗の確認

# 定期的に進捗を確認
jules list

# 特定のタスクの詳細確認
jules status task-abc123

ステップ6: 完了後の処理

ファシリテーター: Task 1.1が完了しました。結果を確認します。

# 結果の取得
jules result task-abc123

ファシリテーター: 実装内容を確認しました。以下のファイルが作成されています:
                  - src/api/auth.ts
                  - src/api/auth/login/route.ts
                  - src/api/auth/logout/route.ts
                  - tests/api/auth.test.ts

                  テストが通過し、ESLintエラーもゼロです。
                  受入基準をすべて満たしています。

                  tasks.mdを更新してTask 1.1をREVIEWステータスにマークします。

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

# tasks.mdのステータスを更新
Task 1.1: TODO → IN_PROGRESS(Jules実行中)→ REVIEW(完了、レビュー待ち)→ DONE(承認済み)

更新内容:
- ステータスをREVIEWに変更
- Jules task ID(task-abc123)を記録
- 完了日時を記録

tasks.md更新の原則

1. ステータス管理

Julesに依頼したタスクは以下のステータスで管理します:

ステータスの遷移

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

各ステータスの意味

  • TODO: 未着手
  • IN_PROGRESS: Julesが作業中
  • REVIEW: Julesが完了、レビュー待ち
  • DONE: レビュー完了、承認済み

2. タスク情報の記録

tasks.mdには以下の情報を記録します:

追加情報

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

3. レビューとDONEへの移行

ファシリテーター: Task 1.1のレビューが完了しました。
                  実装は要件を満たしており、コード品質も良好です。
                  ステータスをDONEにマークします。

                  完了サマリー:
                  ユーザー認証APIエンドポイント(login/logout)を実装。
                  JWTとbcryptを使用した安全な認証を実現。
                  すべてのテストが通過し、ESLintエラーもゼロ。

複数タスクの並行処理

並行実行の条件

以下の条件を満たすタスクは並行してJulesに依頼できます:

条件

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

並行実行可能:
- Task 1.1: APIエンドポイントの実装
- Task 1.2: データモデルの定義
- Task 1.3: 設定ファイルの作成

順次実行が必要:
- Task 1.1: APIエンドポイントの実装(依存: なし)
- Task 2.1: 認証ミドルウェアの実装(依存: Task 1.1)

並行実行の手順

1. 並行実行可能なタスクを特定
2. それぞれのタスクについて依頼文を作成
3. 複数のjulesコマンドを順次実行
4. すべてのタスクIDを記録
5. 各タスクの進捗を個別に追跡

エラーハンドリング

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

対処手順

1. エラー内容を確認
   jules status <task-id>

2. エラーの原因を分析
   - 依頼文の不明瞭さ
   - 技術的な問題
   - 依存関係の問題

3. ユーザーに報告
   - エラーの詳細
   - 推定される原因
   - 推奨される対処方法

4. 必要に応じて再実行
   - 依頼文を修正
   - 依存関係を解決
   - jules retry <task-id>

5. tasks.mdを更新
   - ステータスをBLOCKEDに変更
   - エラー内容を記録

ファシリテーター: Task 1.1の実行中にエラーが発生しました。

                  エラー内容:
                  依存パッケージ'jose'がインストールされていません。

                  推奨される対処:
                  1. npm install joseを実行
                  2. Julesのタスクを再実行

                  このまま対処を進めますか?それとも手動で解決しますか?

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

対処手順

1. 現在の状態を確認
   jules status <task-id>

2. 作業内容を確認
   jules show <task-id>

3. ユーザーに状況を報告
   - 現在の進捗
   - 推定残り時間
   - 次のアクション

4. 必要に応じてキャンセルまたは待機を提案

制約事項

実行の制限

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

  1. タスクの曖昧性

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

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

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

これらの場合は、ユーザーに確認または詳細化を依頼します。

Jules CLIの制限

考慮事項

  • Jules CLIを利用できる環境が必要
  • julesコマンドがPATHに含まれている必要がある
  • 認証が正しく設定されている必要がある
  • ネットワーク接続が必要

ベストプラクティス

1. 依頼文の品質

明確で具体的な依頼文を作成

  • 曖昧な表現を避ける
  • 具体的な成果物を明示する
  • 検証可能な受入基準を提供する
  • 必要な文脈をすべて含める

2. タスクの粒度

適切な粒度でタスクを依頼

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

3. 進捗管理

定期的な進捗確認

  • 長時間のタスクは定期的に状態を確認
  • 問題が発生したら早期に対処
  • 完了したらすぐにレビュー

4. ドキュメントの同期

tasks.mdを最新に保つ

  • ステータス変更を即座に反映
  • Jules Task IDを記録
  • 作業時間を記録
  • 問題や気づきをメモ

絵文字の使用禁止

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

禁止事項

  • Jules依頼文に絵文字を含めない
  • ユーザーへのメッセージに絵文字を使わない
  • tasks.mdの更新に絵文字を含めない
  • コミットメッセージに絵文字を使わない

トラブルシューティング

よくある問題と解決方法

問題1: julesコマンドが見つからない

  • 原因: Jules CLIがインストールされていない、またはPATHに含まれていない
  • 解決: Jules CLIのインストールを確認し、PATHを設定

問題2: 認証エラーが発生する

  • 原因: Jules CLIの認証が設定されていない
  • 解決: jules auth loginで認証を設定

問題3: タスクが失敗する

  • 原因: 依頼文が不明瞭、または依存関係が不足
  • 解決: 依頼文を詳細化し、必要な前提条件を確認

問題4: 並行実行で競合が発生する

  • 原因: 同じファイルを編集するタスクを並行実行した
  • 解決: 依存関係を見直し、順次実行に変更

今後の拡張

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

  • Jules CLIの詳細な状態監視
  • タスクの優先順位付け
  • 自動的なレビュープロセス
  • チームでのタスク共有機能
  • タスク実行時間の分析とレポート