Skip to content

各エージェントへの実際の指示

ワークフロースクリプト(ps-aidopagaki-issue-pipeline.js、215 行)に書いたプロンプトを、役割ごとに要約と原文抜粋で示します。すべて日本語で、「正典ファイルを読め」「結果は issue/PR にコメントせよ」「StructuredOutput で返せ」 の 3 点が共通です。

共通ブロック ENV(全プロンプト先頭)

text
## 環境(全 Bash 呼び出しの先頭で export すること)
export PSN00BSDK_LIBS=…/PSn00bSDK/lib/libpsn00b
export PATH="…/PSn00bSDK/bin:$PATH"
- リポジトリ: aieo-product/ps_AIDopagaki(ローカル: …/ps_AIDopagaki、main ブランチ)
- 設計正典: docs/spec/ps-design.md、規約: CLAUDE.md、ワークフロー正典: .agent/workflows/*.md(該当ファイルを必ず読んで従う)
- 流用元マスター(NES 忠実移植、動作済コード多数): …/aidopagaki-ps
- PSn00bSDK 本体/例: …(例: examples/graphics/gte/main.c, examples/beginner/hello/main.c)
- PCSX-Redux CLI: … -no-ui -softgpu -run -exe <exe> -stdout -exec "<lua>"(GUI は使わない。終了は pkill -f MacOS/PCSX-Redux)
- エビデンス添付: bash …/upload-evidence.sh --issue <n> --repo … <files...> の出力 markdown をコメント本文に埋める
- ワークフローログ: bash …/workflow-log.sh record --command <cmd> --issue <n> …
- コメント言語は日本語。判断トレース(traceability.md)に従い、決めたことは issue/PR コメントに残す。
- 禁止: force push、main への直接 push、git add -A/.(ファイル指定で add)。

Codex クォータ切れ後は先頭に次を追加しました:

text
【最重要・2026-08-30 追記】Codex CLI は OpenAI 側クォータ切れ。'codex exec' は 1 回だけ試し、
usage limit エラーなら再試行せず、dev-workflow 3-6 フォールバックとして あなた自身 (Claude) が実装・修正を行う
(Issue コメントに「Codex クォータ切れ → Claude 実装」と 1 行記録)。レビュー段階は Codex 部分を省略し Claude 単体レビュー形式で行う。

investigate(Opus)

text
あなたは dev-workflow の /issue-investigate 担当(Claude Opus)。issue #n を調査し対応方針を issue にコメントしてください。
1. .agent/workflows/issue-investigate.md と traceability.md を読み、そのフォーマットに従う。
2. gh issue view n --comments で本文を読む。設計書の該当節、CLAUDE.md、既存コード、流用元マスター、SDK 例を実際に読んで、
   実装に必要な API・データ構造・落とし穴を特定する。
3. 「🔍 調査結果・対応方針」コメントを投稿(変更対象ファイル一覧、実装手順、流用するコード、API の具体名、テスト方法、リスク)。
   実装は Codex gpt-5.6-luna が行うので、Codex がそのまま着手できる粒度で書く。
出力: plan_summary(実装者向け要約), target_files, risks, comment_url

実例(#1): Opus は issue 本文の技術方針 2 点を SDK 実測で訂正しました — 「LookAt は自前実装不要(examples/graphics/fpscam/lookat.c に完成品)」「GetTimInfo は SDK に存在」。この訂正がそのまま Codex の実装指示になりました。

implement / fix(Sonnet が Codex luna を運転)

text
あなたは dev-workflow の /issue-implement 実行担当(実装エンジン = Codex gpt-5.6-luna の運転手)です。
1. issue-implement.md と traceability.md を読む。issue 本文と「🔍 調査結果・対応方針」を読む。
2. worktree を用意: git worktree add .worktrees/issue-n -b feature/issue-n-<slug> origin/main(既存なら再利用)。
3. Codex 用プロンプトを W/.codex-task.md に書く: issue 本文全文 + 対応方針 + 実装指示
   「受入条件を全て満たす / make test と make psx を自分で回して通す / 生成物はコミットしない /
    コミットは Conventional Commits + (#n) でファイル指定 add / 完了時に変更ファイル一覧と未達事項 / 質問はせず妥当な仮定で進める」
   ### 今回は修正ラウンドです。以下の指摘を最優先で解消してください: <judge の fix_instructions>
4. 実行: codex exec -m gpt-5.6-luna --full-auto -C "$W" --skip-git-repo-check -c model_reasoning_effort="high" …
   タイムアウトなら codex exec resume --last で再開(最大 4 回)。
5. 自分で make test && make psx を実行して確認。失敗ならエラーログを添えて再度 codex exec。3 回失敗したら自分で最小修正してよい。
6. 差分をレビュー(スコープ逸脱・生成物混入・規約)。
7. push → PR 作成(Closes #n、変更表、動作確認、「E2E ✅ + レビュー ✅ 後に自動マージ」の注記)。
8. issue に 💬 ラウンドコメント。workflow-log record。
出力: pr_url / branch / worktree / build_ok / test_ok / summary / codex_runs

運転手方式にした理由: Codex CLI はサンドボックス内で git index を書けない(index.lock: Operation not permitted)ことが多く、GitHub API にも届かない。コーディングは Codex、git/GitHub/検証は Claude と分けると安定しました。

e2e(Sonnet)

text
あなたは dev-workflow の /issue-test 担当(Claude Sonnet)。PR … の E2E テストとエビデンスキャプチャを行い、結果を PR にコメント。
1. issue-test.md(特に Phase 4.5 投稿前ゲート)を読む。issue の「受入条件」「テスト計画」を取得。
2. worktree で make test → make psx を実行しログ保存。
3. PCSX-Redux CLI で受入条件に対応する Lua シナリオを実行し raw → PNG。各キャプチャを Read で目視し、
   受入条件ごとに ✅/❌(画面が黒/白一色、Z 順序破綻、文字化け、想定物の欠落は ❌)。
   60fps は PCSX 出力ログと Lua の frame カウントで代替。
4. upload-evidence.sh で PNG とログを添付し、🧪 テスト結果コメントを PR に投稿。
出力: verdict, findings(❌ の具体的内容と再現手順), comment_url, evidence

review(Opus + Codex sol)

text
あなたは dev-workflow の /pr-review 担当(Claude Opus + Codex gpt-5.6-sol 併用)。
2. Codex レビュー: codex exec -m gpt-5.6-sol -s read-only … "main との差分を PS1/PSn00bSDK の観点でコードレビューし、
   重大度(高/中/低)付きで指摘を列挙せよ。観点: 正しさ(GTE/GPU/SPU、固定小数、オーバーフロー)、性能(16.6ms、OT/パケット予算)、
   規約(CLAUDE.md)、スコープ逸脱、生成物混入、テスト不足。最後に判定 LGTM か 要修正 を1行で。"
3. 自分(Opus)でも差分を精読し、受入条件との対応、ホスト/PS1 二重ビルド、NES 版挙動の維持を確認。
4. 「Codex + Claude 統合レビュー」フォーマットで 📋 コメント。重大度「高」が 1 件でもあれば ⚠️ 要修正。
出力: verdict, findings(重大度付き), comment_url

効いた指摘の例: #1「ダブルバッファが機能しておらず表示中の VRAM 面へ描画」、#5「テクスチャページ内 UV オフセット欠落(キャプチャの橙矩形の原因)」、#8「SPRT はテクスチャを拡大しないので RESULT ランクが "STUV" になっている」、#9「E2E ゲートの弱体化」。

judge(Fable)

text
あなたは本プロジェクトのオーケストレーター(Claude Fable)。PR …(issue #n, ラウンド r/3)をマージするか判定してください。
ユーザーは「レビュー ✅ + E2E ✅ が揃えば人間チェックなしで自動マージ可」と指示済み。
入力: 実装サマリ / E2E 判定と指摘 / レビュー判定と指摘
1. gh pr view --comments で 🧪 と 📋 を読み、エビデンス画像があれば Read で確認。
2. 判定: 両方 LGTM → merge=true。要修正が残る → merge=false とし、Codex が着手できる具体的な fix_instructions
   (優先順位付き、受入条件番号を明記)。「低」のみで受入条件を全て満たすなら merge=true 可(残件は issue に記録)。
3. 判定理由を PR に「🧭 オーケストレーター判定: マージ/差戻し」コメント。
出力: merge, fix_instructions, rationale

judge は レビューの指摘をソースで独立に裏取り してから判定するよう振る舞いました(例: #6「BAD の歪みが全画面ドロップアウト」を stage_render()fx_draw_pre() のコードで CONFIRMED としてから差戻し)。

merge(Haiku)/ post-merge(Sonnet)

text
merge: gh pr merge <pr> --squash --delete-branch --body "Closes #n"。コンフリクトなら merged=false で理由を返す(解決はしない)。
       git checkout main && git pull && git worktree remove --force <worktree>。
post-merge: main で make test / make psx / make iso、smoke or 該当シナリオを 1 本、結果を issue にコメント、
       traceability.md T-2 の 📝 作業実施サマリ(8 項目)を投稿し issue をクローズ。

親が縮退運転で使った Codex 直接呼び出し

bash
# タスクはファイルに書いて渡す。stdin を閉じないと "Reading additional input from stdin..." でハングする
codex exec -m gpt-5.6-luna --full-auto -C "$W" --skip-git-repo-check \
  -c model_reasoning_effort="high" -o "$W/.codex-last.md" "$(cat "$W/.codex-task.md")" < /dev/null
# レビューは read-only
codex exec -m gpt-5.6-sol -s read-only -C "$W" --skip-git-repo-check -o /tmp/review.md "git diff origin/main...HEAD を…" < /dev/null

aieo-product 内部ナレッジ