Skip to content
cccskills
FreePublished on GitHub

dev:team-opencode-exec

承認済みのteam-opencode計画(task-list.json)をAgent Teamsで並行実行。Wave式チーム実行→レビューフィードバック→クリーンアップ。Trigger: dev:team-opencode-exec, /dev:team-opencode-exec, チーム実行, team exec

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md16.8 KB
  • references/agent-prompt-template.md4.3 KB
  • references/role-catalog.md5.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

チーム実行(dev:team-opencode-exec)

概要

dev:team-plan が生成した承認済み task-list.json を入力として、Agent Teams で並行実装する。各エージェント(haiku)は opencode run で外部モデルに実装を委譲し、結果をコミットする。最終Waveにはレビュワーを必ず配置し、品質ゲートとフィードバックループで品質を担保する。

必須リソース

リソース読み込みタイミング用途
references/agent-prompt-template.mdPhase 1-3(エージェントスポーン前)統一エージェントプロンプト
references/role-catalog.mdPhase 1-3(role_directive 取得)ロール定義の参照

エージェントスポーン時、必ず agent-prompt-template.md を Read で読み込んでからプロンプトを構築すること。記憶や要約で代替しない。

計画入力元

docs/FEATURES/team/{YYMMDD}_{slug}/
├── story-analysis.json    # ストーリー分析結果(チーム設計、ロール定義含む)
└── task-list.json         # タスク定義(waves/roles 形式、承認済み、各タスクに taskPrompt 含む)

計画選択 UI(起動時)

  1. docs/FEATURES/team/ 以下のディレクトリを列挙する
  2. 各ディレクトリの task-list.json を Read し、metadata.status が "completed" のものを除外する(未定義は "pending" 扱い)
  3. 残った計画の metadata を表示し、AskUserQuestion で選択:
Q: 実行する計画を選択してください。

【計画一覧】
1. {YYMMDD}_{slug} ({totalTasks}タスク / {totalWaves} Wave)
2. {YYMMDD}_{slug} ({totalTasks}タスク / {totalWaves} Wave)
...

選択肢:
- 1
- 2
- パスを直接指定

計画が0件の場合: 「先に dev:team-plan を実行して計画を作成してください」と案内して終了する。

選択後、task-list.json のパスを $PLAN_DIR として保持し、以降の Phase 1-3 で使用する。


opencode モデル選択(Phase 1 前)

$PLAN_DIR/task-list.json の metadata.ocModel をデフォルト値として AskUserQuestion で提示:

Q: opencode run で使用するモデルは?(計画時: {metadata.ocModel})
選択肢:
- {metadata.ocModel}(計画時と同じ)(Recommended)
- openai/gpt-5.3-codex
- zai-coding-plan/glm-5
- zai-coding-plan/glm-4.7

選択されたモデルを $OC_MODEL として以降のすべてのコマンドに使用する。


Pre-flight 検証ゲート(モデル選択後・チーム作成前)

$PLAN_DIR/task-list.json を Read で読み込み、以下の検証を全タスクに対して実施する。

検証チェックリスト

  • 8必須フィールドが存在する: id, name, role, description, needsPriorContext, inputs, outputs, taskPrompt
  • 禁止フィールドが存在しない: title, acceptanceCriteria, context(タスクレベル), deliverables
  • Wave構造が waves[].tasks[] フラット配列 + role フィールド形式である
  • taskPrompt が具体的な実装指示を含む(ファイルパス・操作内容が明記されている)

判定

  • 全タスク合格 → Phase 1 へ進む
  • 1つでも不合格 → 即座に停止。不合格タスクのIDと欠損フィールドをユーザーに報告し、dev:team-plan での修正を案内する

禁止: taskPrompt が欠損・曖昧なタスクに対して、exec 側でプロンプトを即興生成して補完すること。計画の品質問題は plan 側で修正する。


Phase 1: チーム実行(Wave式)

1-1: チーム作成

TeamCreate({ team_name: "team-opencode-{timestamp}", description: "opencode並行実装" })

1-2: タスク登録

$PLAN_DIR/task-list.json の全タスクを TaskCreate で登録する。Wave間の blockedBy も設定。

1-3: Wave N のエージェントスポーン

現在のWaveに属するロールごとに1エージェントをスポーン。

全エージェント共通設定:

  • model: haiku
  • subagent_type: general-purpose
  • run_in_background: true

プロンプト構築手順:

  1. references/agent-prompt-template.md を Read で読み込む

  2. references/role-catalog.md から該当ロールの role_directive を取得

  3. $PLAN_DIR/story-analysis.json から該当ロールの customDirective を取得

  4. $PLAN_DIR/task-list.json からタスクの description, inputs, outputs, taskPrompt を取得

  5. task-list.json の name を {task_name} として置換

  6. needsPriorContext: true の場合、{taskPrompt} の先頭に以下を付加してから置換する:

    Before starting, check what was changed by the previous task:
    - Run: git log --oneline -3
    - Run: git diff HEAD~1 --stat
    - Run: git diff HEAD~1
    Understand the prior changes, then proceed with the following task:
    
    

    needsPriorContext が未指定または false の場合はそのまま置換する

  7. テンプレートの変数を置換してエージェントプロンプトとして使用

  8. role が reviewer または tester の場合、{taskPrompt} が "IMPORTANT: Do NOT modify any files." で始まることを確認する。始まっていない場合、先頭に "IMPORTANT: Do NOT modify any files. This is a review-only task. Report findings only.\n\n" を付加する

必須: テンプレートの文言を改変・省略・要約しない。変数({...})のみ置換する。

レビュワー制約: reviewer/tester ロールのエージェントはレビュー報告のみを行う。コードの修正・ファイルの変更・コミットは禁止。この制約は agent-prompt-template.md の厳守事項にも記載されている。

1-4: 完了待機

TaskList を定期的に確認し、現在のWaveの全タスク完了を待つ。

タイムアウト: エージェントが5分以上 in_progress のまま変化がない場合、「エージェント遅延・失敗時のエスカレーション手順」に従う。

禁止:

  • エージェント遅延を理由に、リーダーがユーザー承認なしで作業を代行する
  • 1つのエージェントの遅延を理由に、他のエージェントをシャットダウンする
  • Wave未完了のまま次のWaveに進む

1-5: 次Wave スポーン

現在のWaveが完了したら、「Wave完了ゲート」のチェックリストを確認し、次のWaveのエージェントをスポーンする(1-3 に戻る)。全Waveが完了するまで繰り返す。

必須: 最終Wave(reviewer含む)の完了まで、このループを続ける。Waveを省略しない。


Phase 2: レビュー・フィードバックループ(修正実行込み)

2-1: レビュワー報告の受信

最終Waveのレビュワーが改善候補を SendMessage で報告する。

レビュワーの customDirective には以下を含めること:

レビュー完了後、改善候補を以下の形式で報告してください:
1. [重要度: 高/中/低] 改善内容の簡潔な説明
2. [重要度: 高/中/低] ...

改善候補がない場合は「改善候補なし」と報告してください。
コードの修正は行わないでください。報告のみです。

2-2: ユーザーへの提示

AskUserQuestion でレビュー結果をユーザーに提示。multiSelect で複数選択可能にする:

Q: レビュワーから以下の改善候補が挙がりました。修正する項目を選択してください。
- [高] 候補1: {改善内容}
- [中] 候補2: {改善内容}
- [低] 候補3: {改善内容}
- 対応不要(完了へ進む)

2-3: フィードバック分岐

  • 対応なし → Phase 3 へ
  • 対応あり → 2-4 へ

2-4: Fix タスク生成

ユーザーが選択した改善候補ごとに fix タスクを生成する:

  1. 各改善候補から以下の情報を抽出:

    • 対象ファイル(reviewer 報告から特定)
    • 修正内容の具体的な指示
    • 適切なロール(通常は frontend-developer)
  2. fix タスクの taskPrompt をリーダーが構築:

    以下のレビュー指摘に基づいて修正してください:
    
    指摘内容: {改善候補の内容}
    対象ファイル: {ファイルパス}
    
    修正方針:
    - {具体的な修正手順}
    
    修正後、変更内容を簡潔に報告してください。
    
  3. $PLAN_DIR/task-list.json に新しい Wave(fix wave)として追加し Write で保存:

    {
      "id": {最終Wave ID + 1},
      "tasks": [
        {
          "id": "task-{waveId}-{seq}",
          "name": "Fix: {改善候補の要約}",
          "role": "frontend-developer",
          "description": "レビュー指摘対応: {改善内容}",
          "needsPriorContext": true,
          "inputs": ["{対象ファイル}"],
          "outputs": ["{対象ファイル}"],
          "taskPrompt": "{上記で構築したプロンプト}"
        }
      ]
    }
    
  4. TaskCreate で fix タスクを登録

2-5: Fix エージェントスポーン

Phase 1-3 と同じ手順で fix タスクのエージェントをスポーン:

  • references/agent-prompt-template.md を使用
  • $OC_MODEL を使用
  • needsPriorContext: true なので git diff プレフィックスを付加
  • fix タスクは実装系ロールなので手順4-5(コード適用・コミット)を実行する

2-6: Fix 完了確認

Wave完了ゲートと同じチェックを実施:

  • 全 fix タスクが completed になっている
  • 成果物ファイルが存在する
  • コミットされている

2-7: 再レビュー判断

fix 完了後、AskUserQuestion でユーザーに確認:

Q: Fix が完了しました。再レビューを実施しますか?
- 再レビュー実施
- 不要(完了へ進む)
  • 再レビュー → 新しい reviewer タスクを生成し、Phase 2-1 に戻る
  • 不要 → Phase 3 へ

ループ制限: 最大3ラウンド(fix + 再レビュー)。超過時はユーザーに継続可否を確認。

禁止事項:

  • リーダーが fix タスクの taskPrompt を曖昧にする(「改善してください」等)
  • fix wave で reviewer をスポーンしない(再レビューは 2-7 でユーザーが判断)
  • ユーザー未選択の改善候補を勝手に fix に含める

Phase 3: クリーンアップ

3-1: 結果集約

全タスク完了後、各エージェントからの報告を集約してユーザーに提示:

## 実行結果

| タスク | ロール | 状態 | 概要 |
|--------|--------|------|------|
| {タスク1} | {ロール} | 完了 / 失敗 | {概要} |

3-2: シャットダウン

全エージェントに shutdown_request を送信。

3-3: 計画ステータス更新

$PLAN_DIR/task-list.json の metadata.status を "completed" に更新して Write で保存する。 これにより次回の計画選択時に候補から除外される。

注意: Phase 2 で fix タスクが追加された場合、fix タスクの完了後にのみ "completed" にする。fix 未完了の場合は "review-pending" のままにする。

3-4: TeamDelete

TeamDelete()

エラーハンドリング

状況対応
opencode run エラー同じコマンドを最大3回リトライ
エージェント無応答(5分)SendMessage で状況確認
状況確認後も無応答(5分)エージェントを再スポーン(下記参照)
3回リトライ失敗ユーザーに報告、指示を仰ぐ
opencode モデル利用不可ユーザーに報告、別モデル選択を促す

エージェント遅延・失敗時のエスカレーション手順

エージェントが期待通りに動かない場合、以下の手順を順番に実行する。手順を飛ばさない。

1. SendMessage で状況確認(5分無応答後)
     ↓ 5分待っても応答なし
2. 当該エージェントのみ shutdown_request → 同じタスクで新エージェントを再スポーン
     ↓ 再スポーンも失敗(3回)
3. AskUserQuestion でユーザーに報告し、指示を仰ぐ
   選択肢:
   - リーダーが当該タスクのみ代行(他のWave・タスクはスキップしない)
   - タスクをスキップして次へ進む
   - 中止する

禁止事項:

  • リーダーがユーザー承認なしにエージェントの作業を代行しない
  • 1つのエージェントが遅延しても、他のエージェントをシャットダウンしない
  • エージェント代行時も、後続Waveのスキップは禁止(代行完了後、次Waveを通常通りスポーンする)

Wave完了ゲート(厳守)

各Waveの完了時に以下のチェックリストをすべて満たしてから次のWaveに進む。

Wave N → Wave N+1 移行チェックリスト

  • 当該Waveの全タスクが TaskList で completed になっている
  • 各タスクの成果物(outputs)がファイルとして実際に存在することを確認(ls / Glob)
  • 次のWaveが存在する場合、次Waveのエージェントをスポーンする(Phase 1-3 に戻る)

最終Wave完了 → Phase 2 移行チェックリスト

  • 最終Waveの reviewer タスクが completed になっている
  • reviewer からの改善候補報告を受信している
  • Phase 2-2 でユーザーに改善候補を提示する

以下の行為は禁止:

  • Wave完了前に次Waveのエージェントをスポーンする
  • 最終Wave(reviewer)をスキップして Phase 3 に進む
  • タスクを実行せずに completed にする

タスク完了の定義

TaskUpdate で completed にする条件:

実装系ロール(designer, frontend-developer, backend-developer 等)

  1. エージェントが実行した場合: opencode結果を適用し、dev:simple-add でコミット済み
  2. リーダーが代行した場合: ユーザー承認を得た上で代行し、dev:simple-add でコミット済み
  3. いずれの場合も: 成果物ファイルが存在し、コミットされていることを確認済み

レビュー系ロール(reviewer, tester)

  1. opencode でレビュー/テストを実行済み
  2. 改善候補をリーダーに SendMessage で報告済み
  3. コード変更・コミットは不要(報告のみで完了)

禁止: 上記条件を満たさずにタスクを completed にする

計画ステータスの遷移

状態意味設定タイミング
pending未実行初期値
review-pendingレビュー指摘の修正待ちPhase 2 で改善候補が選択された時
completed全完了(fix含む)Phase 3 で全タスク+全fix完了時のみ

重要な注意事項

  1. opencode コマンドは決め打ち: プロンプトテンプレートのコマンドをエージェントに改変させない
  2. フォールバック禁止: opencode 失敗時に直接実装しない。リトライのみ
  3. モデル固定: 選択されたモデルを全エージェントで統一
  4. CC側はhaiku: コスト最小化。実装はopencode側が担当
  5. 越境防止: 各エージェントは自分のタスク以外に手を出さない
  6. リーダーは実装しない: リーダーの役割は調整・監視。実装はエージェント(opencode)が担当。リーダーが直接コードを書くのはユーザー承認後の代行時のみ
  7. Phase順序は絶対: Phase 1→2→3 の順序を飛ばさない。Wave内のステップ(1-1→1-2→1-3→1-4→1-5)も飛ばさない
  8. 全Wave完走が必須: 最終Waveのreviewerを含め、task-list.jsonで定義した全Waveをスポーン・完了させる。「効率化」のためにWaveを省略しない

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Rebuild a degraded AI image to remove crunchy textures and repeated-edit artifacts while preserving identity, style, and composition. Use for clean remakes, not ordinary retouching or upscaling.

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 18, 2026

セミナー・講義・ウェビナー・研修・実演動画をローカルで文字起こしし、内容を分析して、必要なスライド画像や動画クリップ付きのHTML/Markdown資料を作る。動画から学習資料・実践ガイドを作りたい場合に使う。映像作品の再現設計やCanvas生成は対象外。

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 18, 2026

責務・依存方向・状態や副作用の境界を監査し、既存挙動を保って段階的にリファクタリングする。read-only監査にも対応する。

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 18, 2026

AGENTS.mdや既存スキルをGPT-6 Astra向けに監査・整理するときに使う。契約と意図的な他モデル委譲を保ち、重複、過剰な手順、曖昧な停止条件を修正する。

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 18, 2026

人物の参照写真から、同一性を保った複数アングルのキャラクターシートを生成・修正する。指定された身だしなみや撮影表現も整える。

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 18, 2026

既存キャラクター画像を、承認制でピクセルアートの正準画像へ変換し、3状態パイロット、クロマ前処理、状態間ジオメトリ検証、9状態生成、遷移QA、仮配置、アプリ内確認、ロールバック可能な正式配置まで行う。キャラクターからCodexペットを作る依頼に加え、ジャンプで小さくなる、状態ごとに身長が変わる、足元が跳ねる、クロマ縁が出る、アニメーションを修復したい依頼で使用する。

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 18, 2026

See all skills by ryryo

Report a problem with this skill