advisor について
Advisorは、指定した判断の節目で別のモデルに相談するCursorエージェントスキルです。アドバイザーは概要を確認して助言しますが、ファイルは編集しません。作業と最終判断はメインモデルが担います。
主な機能
- 01プロジェクトのアドバイザーモード切替
- 02相談に使うモデルの選択
- 03定められたチェックポイントで相談
- 04状態と相談回数の確認
- 05ターン終了時のリマインダー設定
活用シーン
- 01大きな変更の前に計画を検討
- 02デバッグが繰り返し失敗した際の助言
- 03完了報告前の作業内容の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cursor/ plugins --skill advisorインストール後、Claude Code で/advisorを入力して読み込まれたか確認します。
同梱ファイルreferences/briefing-template.md
詳細
Advisor
あなたはメインモデルです。Advisor モードでは、重要なポイントで相談する、より強力な第 2 のモデルが加わります。Advisor にはブリーフィング(利用可能な場合は会話の全記録も)が渡され、慎重に検討したうえで、判断とガイダンスが返されます。ファイルの編集は行いません。作業を進め、最終判断を下すのはあなたです。
状態はプロジェクトのルートにある .cursor/advisor/state.json に保存されます。このファイルが存在し、"enabled": true の場合、このプロジェクトでは Advisor モードが有効です。
コマンド
/advisor の後に続くテキストでアクションを選択します。
| 入力 | アクション |
|---|---|
/advisor | 既定の Advisor(最新の Grok を最高の推論性能で使用)を使って、この会話で有効にします。別の会話を含め、すでに状態ファイルが存在する場合は、model と nudge の設定を維持したまま、この会話に再バインドします。 |
/advisor <model> | 指定したモデルを使って同様に有効にします。サブエージェントで使用できるモデルならどれでも使えます。例:/advisor cursor-grok-4.6-xhigh-fast、/advisor composer-2.5。 |
/advisor off | 無効にします:.cursor/advisor/ を削除します。 |
/advisor status | モデル、相談回数、ターン終了時のリマインダーが有効かどうかを報告します。変更は行いません。 |
/advisor ask <question> | チェックポイントに関係なく、現在の作業について今すぐ相談します。 |
/advisor nudge on / off | プラグインの停止フックが投稿するターン終了時のリマインダーを切り替えます(既定ではオン)。 |
メッセージにタスクも含まれている場合(/advisor, then refactor the cache layer など)、まず有効にしてから、Advisor モードでタスクを実行します。
モデルの選択
既定では、最新の Grok モデルを最高の推論性能で使用します。現在は cursor-grok-4.6-xhigh です。サブエージェントで使用可能なモデル一覧に、さらに新しい Grok や、より高い推論性能のモデルがある場合は、そちらを優先してその旨を伝えてください。
/advisor <model> の場合は、サブエージェントで使用可能なモデルのスラッグに照らして、指定を解決してください。
- 完全一致するスラッグがある場合:そのまま使用します。
- ファミリー名またはバージョン名(
grok fast、composer)の場合:そのファミリーの最新モデルを最高の推論性能で使用します。 - 一致するものがない場合:その旨を伝え、近い候補を 2、3 個挙げて、現在のモデルを維持します。
Task ツールがスラッグを拒否した場合は、エラーメッセージから有効なスラッグを確認し、最も近い候補(同じファミリーで最高の推論性能)を選んで state.json に保存し、その旨を 1 行でユーザーに伝えてください。スラッグの問題で相談を妨げてはいけません。
有効化
-
上記の説明に従ってモデルを解決します。
-
ファイル書き込みツールを使って(シェルのリダイレクトは使わずに)
.cursor/advisor/state.jsonに書き込み、必要であればディレクトリを作成します。状態ファイルがすでに存在する場合は、そのmodel(このコマンドで指定されていない場合)とnudgeを引き継ぎ、その他のフィールドはすべて以下の値にリセットします。既存のファイルがどの会話に属するかは確認できないため、必ず書き直してください。これによりモードがこの会話に再バインドされ、フックがconversation_idとtranscript_pathを再設定し、次の相談では別のチャットを再開せずに新しい Advisor が開始されます。別の会話が残したマーカーによってターン終了時のリマインダーが誤って表示されないよう、存在する場合は.cursor/advisor/pendingと.cursor/advisor/last-response.txtも削除してください。log.mdは保持します。{ "enabled": true, "model": "cursor-grok-4.6-xhigh", "nudge": true, "advisor_agent_id": null, "conversation_id": null, "transcript_path": null, "consults": 0, "last_consult_at": null, "enabled_at": "<current UTC time, ISO 8601>" }プラグインのフックが
conversation_id、transcript_path、consults、last_consult_atを設定します。これらの項目には触れないでください。 -
次の 1 行で確認します:
Advisor on: <slug>. I'll consult it before major decisions, when I'm stuck, and before I call the task done.その後、同じメッセージにタスクがあれば続行します。
.cursor/advisor/ をステージングまたはコミットしてはいけません。
チェックポイント
以下のタイミングでのみ相談してください。相談のたびに強力なモデルを呼び出すため、必要な場合に絞って利用してください。
- 重要な判断を下す前。 アーキテクチャやアプローチの選択、元に戻すのが難しい変更や影響範囲の広い変更(スキーマやデータの移行、モジュールの削除や書き換え、公開 API や設定形式の変更、依存関係の置き換え、認証、決済、その他のセキュリティ上重要なコード)、または作業内容を大きく左右するほど曖昧な依頼の場合です。問題を理解する前ではなく、具体的な計画と選択肢がそろってから相談してください。相談は計画全体を対象とします。ファイルごとに再度相談する必要はありません。
- 行き詰まったとき。同じエラーや失敗するテストに対して、実質的な修正を 2 回試しても解決しない場合、コードから説明できない挙動がある場合、または回避策に頼ろうとしている場合です。 たとえば、再試行ループ、
sleep、広範なtry/except、テストのスキップ、問題を回避するためのチェックの無効化などです。 - 完了を宣言する前。 ロジックを変更したタスク、または 2、3 個を超えるファイルに触れたタスクでは、最終的な要約を書く前に 1 回相談し、何をどのように検証したかを含めてください。軽微な編集(誤字、コメント、設定を 1 行変更するだけなど)は省略し、その旨を 1 行で伝えてください。
- 依頼されたとき。
/advisor ask ...の実行時、またはユーザーがアドバイザーの見解を尋ねた場合です。
定型的な手順、自分で検証できること(テストの実行、コードの確認など)、または各チェックポイントで 1 回を超える相談は避けてください。1 つのタスクで 4 回を大きく超えて相談することになりそうな場合は、タスクを分割するか、ユーザーに確認してください。
相談方法
.cursor/advisor/state.jsonを読み、どの状況に当てはまるか判断します。- この会話で有効:ファイルが存在し、
enabled: trueで、この会話で有効化の手順を実行しました。チェックポイントでの相談と/advisor askは、resumeと状態の書き込みを含め、以下の手順をすべて実行します。 - この会話では無効:ファイルが存在しない、
enabledが false、または自分でファイルを書き込んでいない場合です。自分で書き込んでいないファイルは別のチャットのものです。再バインドするのは/advisorだけなので、そのファイルには手を加えず、自分で保存していないadvisor_agent_idを使ってresumeしてはいけません。チェックポイントでは相談しないでください。ユーザーがこのメッセージで明示的に相談を依頼した場合(/advisor ask ...またはセカンドオピニオンの依頼)は、単発の相談として実行します。ファイルにmodelがあればそのモデルで、なければデフォルトで新たに起動します。resumeと状態の書き込みは行わず、transcript_pathも渡しません(別のチャットのトランスクリプトを共有することはできないため、「not available」と記載します)。/advisorを使うと、この会話でモードが有効になることを伝えます。
- この会話で有効:ファイルが存在し、
references/briefing-template.mdを使ってブリーフィングを作成します。アドバイザーが異論を述べるために必要な情報をすべて提供します。- ユーザーの依頼をそのまま記載し、後から追加された制約や修正も含めます。
- これまでに起きたことを順に記載します。調査した内容、決定したこと、変更したこと、試したこと、見送った選択肢を含めます。
- 関連するツールの出力をそのまま記載します。エラーメッセージ、スタックトレース、テスト出力、差分などが対象です。無関係な情報は削り、削った箇所には
[...]と記します。ただし、証拠を言い換えてはいけません。 - 現在の状態を記載します。
git status --short、git diff --stat、変更したファイル、作業途中の項目などを含めます。 - 具体的な質問、考えられる選択肢、理由を添えた現時点での見解を記載します。
- この会話でモードが有効で、
state.jsonに設定されている場合は、アドバイザー自身が会話全体を読めるようtranscript_pathを含めます。 - 機密情報は含めません。トークン、キー、
.envの値は伏せます。
- アドバイザーをフォアグラウンドで起動し、応答を待ちます。
subagent_type: "advisor-subagent"model: <state.model>description: "Advisor: <checkpoint>"。例:Advisor: pre-completion reviewrun_in_background: falsestate.advisor_agent_idが設定されている場合は、それをresumeとして渡し、modelは省略します。アドバイザーはモデルと過去の相談のコンテキストを引き継ぐため、ブリーフィングには前回からの変更点と新しい質問だけを記載できます。再開に失敗した場合は、新たに起動します。- 返されたエージェント ID を
state.jsonのadvisor_agent_idに保存します。モデルが変わった場合は、この値をクリアします。
- 判定に基づいて対応します。
proceed:そのまま進めます。proceed with changes:推奨された変更を、ユーザーの指示や確認済みの事実と矛盾しない限り実施します。見送った変更があれば、その内容と理由を伝えます。stop:計画を続行しません。再検討するか、プロダクトやスコープに関する質問であれば、意見の相違をユーザーに伝えます。- アドバイザーが必要な情報を求めた場合は、
resumeで一度だけ提供します。やりとりを繰り返してはいけません。 - 結果に対する責任は自分が負います。アドバイザーは有力なセカンドオピニオンですが、決定権を持つわけではありません。コードベースについてアドバイザーの見解が誤っている場合は、証拠を一度提示するか、見解を退けてその理由をユーザーに伝えます。
- 各相談について、ユーザーに1~2行で報告します。形式は
Advisor (<model>): <verdict>. <One-line summary>. <What you did about it.>とします。ユーザーから求められない限り、アドバイザーの回答全文はチャットに掲載しません。フックによって.cursor/advisor/log.mdにも追加されます。
ターン終了時の通知
前回の相談以降にファイルを変更しており、相談しないままターンが終了すると、プラグインの stop フックが [Advisor] で始まるフォローアップを送信します。これは「完了を宣言する前」のチェックポイントとして扱います。完了前の相談を実行するか、「変更は軽微でした」または「ユーザーからの返答を待っています」と1行で答えて終了してください。編集のまとまりごとに最大1回だけ通知されます。/advisor nudge off で無効にできます。
無効化
/advisor off:.cursor/advisor/を削除し、1行で確認します。ユーザーがモードを再度有効にするか、単発の相談を明示的に依頼しない限り、この会話では再び相談しないでください。
ガードレール
- 求められていないのにアドバイザーモードを有効にしないでください。「別の意見も聞かせて」は単発の相談であり、モードの変更ではありません。
- アドバイザーは読み取り専用です。ファイルの編集や作業の実行を依頼しないでください。
- アドバイザーに繰り返し相談しないでください。各チェックポイントでの追加相談は最大1回です。
advisor-subagentサブエージェントを利用できない場合(Taskツールがない、またはフックで拒否される場合)は、そのことをユーザーに1回伝え、アドバイザーを使わずに続行してください。- このスキルを1つのメッセージだけでなくセッション全体で使うには、ユーザーは
/advisorをカスタムモード(Option+Enter / Alt+Enter)として呼び出せます。状態ファイルはどちらの場合にも機能します。