Communityライティング&編集github.com

Prompt Polish(プロンプト戦略最適化)

Claude Codeのスキル/プラグインで、生の質問を研究に裏打ちされたプロンプトエンジニアリング戦略を自動選択して高パフォーマンスのLLMプロンプトに書き換えます。

Prompt Polish(プロンプト戦略最適化) とは?

このスキルは、ユーザーが入力した「生の質問やタスク」を、研究機関で実証された14のプロンプト戦略(CoT、ReAct、思考ツリーなど)と8つのタスクタイプのマッピングに基づき、最適化された高品質なプロンプトに自動再構成します。主な特長は、(1)タスクタイプを自動判別し、最適な戦略を2~4個選定する、(2)従来の「回答」ではなく、そのまま再利用可能なプロンプトそのものを出力する(出力全体がプロンプトコードブロックになる)、(3)戦略の説明や回答の漏洩を防ぐ厳格な出力契約を遵守する、(4)情報不足の場合でも「反転インタラクション」戦略をプロンプト内に埋め込むため、追加の質疑応答なしで動作する、という点です。このスキルは主にClaude Codeや同様のAIエージェント環境で使用され、選択問題、専門領域、複雑推理、バッチ処理、創造的作業、高精度QA、構造化出力、幻覚低減、エージェント/ツール呼び出し、曖昧な要求など、幅広いタスクを効率的に処理します。出力は1つのコードブロックのみで、簡潔かつ実用的なプロンプトテンプレートを生成するため、開発者やAIエージェントユーザーがプロンプトエンジニアリングにかける時間を大幅に削減できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add host452b/prompt-polish

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Prompt Polish(プロンプト戦略最適化) は何をしますか?

このスキルの機能

生の質問/タスクを入力として、まずタスクタイプを判定し、そのタイプに最適なテキストベースのプロンプト戦略(14の研究機関テクニックから選択)を選び、それらの戦略を1つの一貫したプロンプトに織り込み、再構成されたプロンプトそのものを出力します。

核となる原則:あなたの返信全体が、その再構成されたプロンプトです。それ以外は何も書きません。 あなたはユーザーの代わりに、再利用可能なプロンプトを作成しているのであって、元の質問に回答しているわけではありません。

使用タイミング

  • ユーザーが質問/タスクを「より良いプロンプトに書き換えて」と依頼した場合
  • 「プロンプト最適化」「プロンプト再構成」を希望する場合
  • ユーザーが質問をLLMに正確に答えさせたり、正しい形式で出力させたい場合
  • キーワード:prompt polish / optimize prompt / プロンプトエンジニアリング / 質問の書き換え

適用外:

  • ユーザーが元の質問に直接回答してほしい場合(そのまま回答し、書き換えない)
  • LLMプロンプトに関係のないライティング/編集タスク

出力契約(最も重要)

あなたの返信全体 = 1つのコードブロック。ブロック内は再構成された、すぐにコピーして使えるプロンプト。ブロック外はゼロ文字。

具体的には:

  • コードブロックの前に、導入、挨拶、「これは書き換えたプロンプトです」などの文言を一切書かない。
  • コードブロックの後に、説明、解釈、注釈を一切書かない。特に元の質問の答えを計算したり漏らしたりしない(あなたはテンプレートを作っているのであり、解答しているのではない)。
  • 選択した戦略をプロンプト本文に直接埋め込む(ロール文、ステップ、回答アンカーなど)。ブロック外で「どの戦略を使いました」と説明しない。
  • デフォルトで ``` で囲む。プロンプト本文自体に ``` が含まれる場合は、~~~ で囲み、全体が1つのコードブロックになるようにする。
  • 分類判断や組み合わせ選択は内部思考として保持し、返信に書き出さない。

例外:ユーザーが明示的に「なぜこう書き換えたか」「戦略を説明して」と要求した場合のみ、説明を追加する(ユーザー指示が本契約に優先する)。

ワークフロー(内部実行。プロセスは出力しない)

  1. タイプ判定 — 元の質問を下記の表のいずれかのタイプに分類(最も主要な1つを選択。2タイプの合体も可だが、戦略数は2~4に抑える)。
  2. 組み合わせ選択 — 下記「タスクタイプ → 戦略組み合わせ」表のそのグループを直接採用する(通常2~4個)。明確な理由がない限り、戦略を追加しないこと。重ねすぎると互いに干渉し、プロンプトが冗長になる。
  3. 再構成 — 「戦略クイックリファレンス」を使って各戦略をプロンプト内の具体的な文/ステップに変換し、元の質問の具体的内容を埋め込む(完成品を出力。{プレースホルダー}は残さない。ただし、エンドユーザーが記入するフィールドは除く)。
  4. プロンプトのみ出力 — 出力契約に従い、返信全体がコードブロックのみ。

タスクが曖昧で情報不足の場合:自分からユーザーに質問し返さない。代わりに「反転インタラクション」戦略を使用する——「まず明確化してから実行」を再構成後のプロンプト内に書き込む(ターゲットモデルに先にユーザーへ質問させる)。返信全体は依然として1つのコードブロックのみ。

タスクタイプ → 戦略組み合わせ(テキスト版)

タスクタイプ推奨組み合わせ中核的な利点
選択問題 / 客観的判断逆順オプション + シンボリックプレースホルダー + 逆方向検証位置バイアス低減 + 正確な回答抽出 + 自己デバッグ
専門領域 / コンプライアンス生成ロール+ルール二重保証 + 知識タイムスタンプ + ミラーテスト専門知識検索 + 時効性調整 + 2次最適化
複雑な推論/解法チェインオブソート + 思考ツリー + 逆方向検証ステップ単位の推論 + 複数経路検証 + 自己反論
バッチ標準化タスクメタプロンプト + 階層型プロンプト + プロンプト繰り返し自己最適化プロンプト + 明確なパース + 安定した遵守
創造性と事実の融合プロンプトチェーン + 逆方向検証 + ミラーテスト段階的に発散→収束 + 事実確認 + ブラッシュアップ
高精度QAロール+ルール二重保証 + 逆方向検証 + ミラーテスト三重保証でエラー率低減
構造化出力階層型プロンプト + シンボリックプレースホルダー + プロンプト繰り返しフォーマットの一貫性確保
幻覚低減知識タイムスタンプ + 逆方向検証 + ミラーテスト多層的事実チェック
Agent / ツール呼び出しReAct + プロンプトチェーン複数ステップタスクの体系的な処理(ツールありの場合に最適)
曖昧な要求反転インタラクション → 階層型プロンプト → (プロンプト内で)実行まず明確化し、その後実行

これらはデフォルトの出発点であり、絶対的なルールではありません。複数のタイプに該当する場合は、和集合を取った上で2~4個に絞ってください。戦略を詰め込みすぎると互いに干渉します。

戦略クイックリファレンス(14項目、テキストでプロンプトに書き込み可能)

戦略プロンプトへの書き込み方(1文で)適した用途
プロンプト繰り返し (Prompt Repetition)プロンプトの先頭と末尾でコア指示/重要制約を2~3回繰り返す標準化、フォーマット制御、指示遵守
逆順オプション (Option-First MCQ)候補オプションを質問の前に置き、まず回答範囲を固定してから質問する選択問題、分類、客観問題
ロール+ルール二重保証 (Role-Rule)「あなたはX分野の専門家です。ルールYを厳守してください。違反した場合はまず「エラー」と答え、自己修正してください」専門QA、コンプライアンス、高精度
逆方向検証 (Self-Contrast)「最初に回答→それを覆す証拠を3つ挙げ、それぞれの信頼度を1~5で評価→それに基づき検証・修正」事実QA、幻覚低減、リスクの高い判断
シンボリックプレースホルダー (Symbolic Placeholder)「最終回答は ▶︎▶︎answer▶︎▶︎ の間に配置してください。それ以外は無効な出力とみなします」抽出、正確な回答取得、構造化、パース可能
知識タイムスタンプ (Knowledge Time-Stamp)「YYYY-MM時点の知識に基づきます。それ以降の情報は「期限切れの可能性あり」と注記してください」時効性のあるQA、業界動向
階層型プロンプト (Layered Prompt)目標 → ルール → 例 → フォーマット の4層で指示を整理複数制約の複雑な指示、長文テキスト
ミラーテスト (Mirror Test)末尾に「自分の回答をもう一度読み返してください。どの文を変更しますか?変更後の文だけを出力してください」を追加校正、ブラッシュアップ、最終品質チェック
反転インタラクション (Flipped Interaction)「実行前に以下の3点について質問をしてください。その後、私の回答に基づいて実行してください」曖昧な要求、個別最適化
チェインオブソート (CoT)「ステップバイステップで考え、各ステップの理由を示しながら導出してください」数学、論理、複数ステップの推論
プロンプトチェーン (Prompt Chaining)【ステップ1 → ステップ2 → ステップ3】に分割し、前のステップの出力を次のステップの入力として渡す(1つの順次プロンプトとして記述)長文要約、多段階分析、パイプライン
メタプロンプト (Meta-Prompting)「この繰り返し実行されるタスクに対して、まずより良いプロンプトを生成し、それを使って実行してください」反復タスク、プロンプトの自己最適化
思考ツリー (ToT)「3つの推論経路を列挙→各経路の実現可能性を1~10で評価→最適な経路を選択しステップバイステップで導出→失敗した場合は次善の経路に戻る」高難度推論、意思決定、計画
ReAct「思考 → 行動 → 観察のサイクル:まず何をするか考え、行動し、結果を評価して調整が必要か判断」(ツール/検索ありの場合に最適)Agent、ツール呼び出し、検索+推論

各項目の完全なテンプレート、原理、出典については references/strategies.md を参照してください。

完全な例

入力: 次の数のうち、素数はどれですか? 51, 57, 61, 91

(内部判定。出力には書かない) タイプ = 選択問題/客観的判断 → 組み合わせ = 逆順オプション + シンボリックプレースホルダー + 逆方向検証

あなたの返信全体は、以下のコードブロックのみ(注意:問題を解かない、答えを漏らさない、ブロック外に文字を書かない):

以下の候補の中から、素数であるものを判定してください:
A. 51    B. 57    C. 61    D. 91

質問:上記4つの数のうち、どれが素数ですか?

回答要件:
1. 各候補に対して、個別に試し割り検査を実行する:p × p ≤ n を満たすすべての素数 p(2, 3, 5, 7, …)で順に割ってみる。割り切れたら合成数と判断し、その因数分解を記述する。いずれでも割り切れなければ素数とする。
2. 明確な答えを出した後、その答えを覆す可能性のある証拠を3つ挙げ、各証拠の信頼度を1~5で評価する。総合スコアが0より大きい場合は、それに基づいて検証し、必要に応じて修正する。
3. 最終的な答え(対応するアルファベット)を必ず ▶︎▶︎answer▶︎▶︎ の間に配置する。例:▶︎▶︎C▶︎▶︎ そうでなければ無効な出力とみなす。

よくあるエラー

エラー修正
コードブロックの前後に導入/解釈/注釈を追加する返信全体をコードブロックのみにする。ブロック外はゼロ文字
元の質問の答えを計算したり出力に漏らしたりするあなたは再利用可能なテンプレートを作っているのであって、解答しているのではない。ターゲットモデルに計算させる
API/デコード制御が必要な戦略(温度減衰、複数独立実行、動的少数ショット)を適用するテキストベースの戦略のみを使用。これら3つは除外されている(下記参照)
5つ以上の戦略を詰め込む2~4個に抑え、タスクタイプに合わせる。詰め込みすぎると互いに干渉する
タスクが曖昧な時に自分からユーザーに質問し返す「まず明確化してから実行」を再構成後のプロンプト内に書き込む(反転インタラクション)。それでも出力は1つのコードブロックのみ
出力に {プレースホルダー} が残る完成品を出力する。元の質問の具体的内容を埋め込む(エンドユーザーが記入するフィールドは除く)

除外される戦略

以下の3つは複数回の実行/独立した複数サンプリング/トークンレベルのデコード制御を必要とするため、1つの自己完結型プロンプトに収められません。よって、本スキルではデフォルトで使用しません。

  • 動的少数ショット (Dynamic Few-Shot)(まず1回実行し、自身の出力をサンプルとして抽出する必要がある)
  • 自己一貫性チェック (Self-Consistency)(複数回独立実行後、多数決を取る必要がある。シングルプロンプトのシナリオでは「逆方向検証」で代用)
  • 温度減衰デコード (Temp-Decay Sampling)(トークンごとに温度を調整する必要があり、デコードパラメータに依存)

ユーザーが実際にAPI/デコード制御や複数回の実行を管理できる場合、これら3つのオリジナルテンプレートは references/strategies.md の末尾にあり、「設定とフロー」の提案として提供可能です。ただし、それは「プロンプトコードブロックのみを出力する」というデフォルト契約を超えるため、事前にユーザーと確認する必要があります。

関連スキル