padvisor(シングルエージェント・セカンドオピニオン)
概要
1つのエージェントを起動し、状況を読んで判断を下し、回答させます。作業は行わず、自分が保持します。判断が拮抗しているとき、アプローチに疑いがあるとき、計画を実行する前に新しい視点が欲しいときに使用します。
pspawnやphandoffとは異なります。 これらは作業を引き渡しますが、こちらは質問だけを渡し、自分で行動するための意見を持ち帰ります。
起動されたエージェントができること。 チームデフォルトとして許可プロンプトなしで動作します(ClaudeではbypassPermissions、Codexではfull-access)が、モードではなく指示によって読み取り専用となります。ブリーフィングの「編集禁止」サフィックスによりファイルの変更を防ぎます。チームがもっと自由を望む場合は、リポジトリのAGENTS.mdにその旨を記載できます(これも指示として機能します)。また、bypassPermissionsでも適用されるClaude Codeのpermissions.denyルールで禁止することも可能です。
呼び出し方
/padvisor [プロバイダー/モデル] [--skill /<名前>] <質問> — モデルはオプション。
デフォルトプロバイダー:自分とは異なるモデルファミリー。 Claudeからは、Codexの最新モデル(paseo provider models codexの最初のID)、Codexからは、paseo provider models claudeが一覧表示する最新のOpus(例:claude/claude-opus-5-5、プレーンIDの100万モデル;pspawnで[1m]なしの理由を説明)。コントラストが重要です。自分のモデルファミリーのアドバイザーは、自分がすでに間違っていたのと同じ理由で同意します。ユーザーがモデルを指定した場合のみ上書きします。IDはリストから読み取り、記憶からは使用しないでください。
手順
1. このセッションの子として起動する。 まずプロバイダーの利用可能性を確認します(pspawnのステップ1と同様、<このスキルのベースディレクトリ>/../pspawn/SKILL.mdを参照)。その後:
paseo run --no-wait --json \
--provider '<プロバイダー/モデル>' \
--thinking xhigh \
--mode <codexの場合はfull-access、claudeの場合はbypassPermissions> \
--title "[アドバイザー] <トピック>" \
"$(cat <<'BRIEF'
<ブリーフィング、ステップ2>
BRIEF
)"
paseoでは、アドバイザーはこのセッションの子として自動的に同じワークスペースに配置されます。切り離さないでください。 アドバイザーは質問に属します。このセッションがアーカイブされると、paseoはアドバイザーも一緒にアーカイブします。これが正しい動作です。paseo外部では、--workspace <ID>を追加します(pspawnのステップ2と同様にルックアップ)。
モード:claude → bypassPermissions、codex → full-access、すべてのスポーンと同様(チームデフォルト)。デフォルトモードではアドバイザーが誰も答えないプロンプトで停止します。ファイルを変更しないのはモードではなく、編集禁止サフィックスです。provider/modelはシングルクォートで囲みます。
2. ブリーフィングを作成する。 アドバイザーはコンテキストがゼロで、この会話を見ることができません。
[ユーザーの会話の言語を指示として:「<その言語>で答えてください。」]
## 質問
[鋭い質問を1つ。「どう思う?」ではなく「XとYのどちらが正しい判断か、そしてその理由は?」]
## 状況
[何を構築または決定しているのか、3文で。]
## 検討したこと
- [選択肢] — [なぜ魅力的か、何が懸念か]
- [却下した選択肢] — [その根拠]
## 確認すべき場所
- `/絶対パス/ファイル.ts` — [それが何か、なぜ重要なのか]
## 求めているもの
推論を伴う推奨事項。自分の推奨に対する最も強い反対意見を挙げてください。質問の枠組み自体が間違っている場合は、最初にそれを指摘してください。
これは分析のみです。ファイルを編集、作成、削除しないでください。コードを書かないでください。
ファイルは絶対パスで指定し、内容は貼り付けないでください。 エージェントは自分で読み取れます。内容を貼り付けるとコンテキストを消費し、古くなります。
「最も強い反対意見」の行は飾りではありません。これがないと、新しいエージェントは自信満々の一方的な答えを確実に生成します。それはこのスキルが回避しようとしている失敗モードです。
3. 待機 — paseo-notifyをセットして、自分のターンを終了する。
paseo-notify <アドバイザーID>
すぐに戻ります。アドバイザーが停止したときに、このセッションに1つのメッセージが届きます。finished its turn → 回答が完了(メッセージには最後のアクティビティ行が含まれます)、is waiting for a permission → 許可リクエストがあなたを待っています、stopped with an error → その旨を伝え、ログを読み取ります。黙って再スポーンしないでください。使用制限に達しても起動されません。paseo-limit-watchはアドバイザーを再開し、ウォッチを再セットします(cron行はインストール済み、README参照)。それがない場合は、リセット後に自分でアドバイザーを確認してください。ポーリング、sleepループ、Monitorは不要です。他の作業を先に終わらせてから、自分のターンを終了します。
paseo外部($PASEO_AGENT_IDなし)では、代わりにrun_in_background: trueを指定してpaseo wait <アドバイザーID> --jsonを実行します(フォアグラウンドのBash呼び出しは10分でタイムアウトします。高度な思考を使用するアドバイザーは通常15〜30分かかります)。JSONからstatusを読み取り、終了コードは使用しないでください。
permissionについて(bypassやfull-accessでは稀ですが、rm -rfは依然として尋ねます)。無人アドバイザーは黙って停止します。リクエストを読み取り(paseo permit ls)、エージェントに与えた権限の範囲内かどうかを判断し、paseo permit allow <エージェントID> <リクエストID>またはdeny(両方のIDはpaseo permit lsから取得)を実行し、再度paseo-notifyをセットします。範囲外の場合、または確信が持てない場合は、ユーザーに代わって承認するのではなく、ユーザーに確認してください。
4. 回答を読む。
paseo logs <アドバイザーID> --filter text --tail 3
pagent.py <ID> -t -n 3 --full(<このスキルのベースディレクトリ>/../pagent/)はタイムスタンプ付きのより豊富なビューを提供し、Claude、Codex、Antigravityのトランスクリプトを同様に読み取ります。paseo logsとは異なり、閉じたエージェントを読み取るために再ロードすることはありません。
5. ユーザー向けに統合する。 アドバイザーの判断と、それに対する自分の読み取りを明確に分けて提示します。中継役ではありません。アドバイザーが間違っている場合は、その理由も述べてください。見逃していた何かをアドバイザーが見つけた場合も、率直に述べてください。
6. アーカイブする — paseo archive <アドバイザーID>。ユーザーが保持を望まない限り実行します(以下参照)。
永続アドバイザー
ユーザーが継続的な入力を望む場合(「次の判断のために残しておいて」)、ステップ6をスキップし、新しいアドバイザーを起動する代わりに同じエージェントにフォローアップを送信します。
paseo send <アドバイザーID> "<フォローアップ質問>" --behavior steer --no-wait
その後、以前と同じように待機(ステップ3)し、読み取ります(ステップ4)。プロバイダーがsteerを受け入れられない場合、ディスパッチはinterruptionにフォールバックできます。--no-waitが重要です。 これがないとCLIは完了を待ちます。paseo sendはアーカイブされたエージェントを復活させます。そのため、最初にpaseo inspect <ID> --jsonでArchivedAtを確認してください。アーカイブされたアドバイザーを復活させる代わりに、ユーザーにその旨を伝えてください。
コンテキストは引き継がれます。これが目的です。ユーザーが終了したと言ったとき、またはトピックが古いコンテキストが連続性よりも害になるほど十分にシフトしたときにアーカイブします。
フォワードされたスキル
ユーザーがスキル参照を渡した場合(/padvisor /code-review これは過剰設計ですか?)、アドバイザー(あなたではなく)がそれを実行します。そのスキルを持つハーネスのアドバイザーを選択します。Claude Codeにしか存在しないスキル(/code-reviewなど)には、claudeアドバイザーが必要です。ブリーフィングに以下を追加します。
他のことをする前に、`<名前>`スキルを使用し(Claude Code:Skillツール、Codex:そのSKILL.mdを読む)、このタスクに適用してください。
スキル名の後のすべてを、そのスキルの入力として渡します。
よくある間違い
| 間違い | 修正方法 |
|---|---|
| デフォルトで自分のモデルファミリーのアドバイザー | Codexの最新モデル — 同意するアドバイザーは無駄なスポーン |
paseo waitの終了コードを信頼する | idle、permission、errorすべてで0になります — --jsonからstatusを読み取る |
| フォアグラウンド待機 | run_in_background: true;10分のBash制限で待機が強制終了されますが、エージェントは続行 |
paseo ls、sleep、Monitorで完了をポーリング | paseo-notify <ID>を実行して自分のターンを終了、1つのメッセージであなたを起こす |
フォローアップに単純なpaseo sendを使用 | 完了するまでBLOCKします — --no-waitを使用し、ステップ3のように待機 |
アドバイザーを切り離す、またはenv -u PASEO_AGENT_ID | このセッションの子として意図的に設定されています。セッションがアーカイブされると一緒に削除されます |
| 編集禁止サフィックスの省略 | これがないと、アドバイザーは評価対象のものを実装し始める |
| ブリーフィングにファイル内容を貼り付ける | 絶対パスを使用;エージェントが自分で読み取る |
| 回答言語の指定忘れ | アドバイザーはプロンプトの言語で回答します。ユーザーの言語で開始する |
| 判断を事実として中継する | ゼロコンテキストからの1つの意見です。同意しない点を述べる |
Codexをデフォルトモードのまま、またはclaudeをautoのまま | codex → full-access、claude → bypassPermissions(チームデフォルト);編集禁止サフィックスで読み取り専用を維持 |
| 実際の作業を引き渡す | それはpspawn(オープンタスク)またはphandoff(確定スペック+計画)の役割 |