Prompting について
Prompting は、プロンプトをプログラムで生成、最適化、構成するスキルです。エージェント、ワークフロー、評価用プロンプトを作る開発者向けで、Handlebars テンプレートによる構造とデータの分離、標準ガイド、レンダリング・検証ツールを備えています。
主な機能
- 01Handlebars によるプロンプト生成
- 02テンプレートとデータの分離
- 03テンプレートのレンダリング
- 04テンプレートの検証
- 05プロンプトエンジニアリング標準
- 06評価用プロンプトテンプレート
活用シーン
- 01データからエージェント概要を生成
- 02段階的なワークフロー用プロンプトの構成
- 03評価ジャッジとルーブリックの作成
- 04プロンプトテンプレートの検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ danielmiessler/ lifeos --skill promptingインストール後、Claude Code で/promptingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
Standards.mdReferences/WritingGreatSkills.mdTemplates/README.mdTemplates/Data/Agents.yamlVoicePresets.yamlValidationGates.yamlTemplates/Evals/Comparison.hbsReport.hbsJudge.hbsTestCase.hbsRubric.hbsTemplates/Primitives/Briefing.hbsGate.hbsVoice.hbsRoster.hbsStructure.hbsTemplates/Tools/.gitignoreCLAUDE.mdRenderTemplate.tsREADME.mdValidateTemplate.tsindex.tsbun.lockpackage.jsontsconfig.jsonTools/index.tsValidateTemplate.tsRenderTemplate.ts詳細
カスタマイズ
実行する前に、ユーザーによるカスタマイズが次の場所にあるか確認してください:
~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Prompting/
このディレクトリが存在する場合は、そこにある PREFERENCES.md、設定、またはリソースを読み込み、適用してください。これらはデフォルトの動作より優先されます。ディレクトリが存在しない場合は、スキルのデフォルト設定を使用してください。
🚨 必須:音声通知(何よりも先に必ず実行)
このスキルが呼び出されたら、ほかの操作を行う前に必ずこの通知を送信してください。
-
音声通知を送信:
curl -s -X POST http://localhost:31337/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running the WORKFLOWNAME workflow in the Prompting skill to ACTION"}' \ > /dev/null 2>&1 & -
テキスト通知を出力:
Running the **WorkflowName** workflow in the **Prompting** skill to ACTION...
これは任意ではありません。スキルの呼び出し直後に、この curl コマンドを実行してください。
プロンプト - メタプロンプトとテンプレートシステム
機能
プログラムによってプロンプトを生成、最適化、組み立てます。プロンプトエンジニアリングの標準ライブラリであり、ほかのスキルがプロンプトを作成または改善する必要があるときに呼び出します。出力は常に別の場所で使用するためのプロンプトであり、最終的なコンテンツそのものではありません。
呼び出す状況: メタプロンプト、テンプレートの生成、プロンプトの最適化、プログラムによるプロンプトの組み立て、動的エージェントの作成、データからの構造化プロンプトの生成。
課題
プロンプトエンジニアリングは、必要とする各スキルで手作業によるコピー&ペーストや書き直しが繰り返される傾向があり、その結果、同じパターンがばらばらになり、ベストプラクティスが特定の人の頭の中にだけ残ってしまいます。データからプロンプトを組み立てる場合、たとえばカスタムエージェントの起動、評価用ジャッジの作成、段階的なワークフローの生成などでは、構造とコンテンツを明確に分離する手段がありません。このスキルでは、構造をコード、コンテンツをデータとして扱います。1つの Handlebars テンプレートと異なるデータから、特化したエージェント、ワークフロー、評価フレームワークを生成でき、エンジニアリング標準はすべてのスキルが参照できる一か所に集約されます。
理想状態を指定するプロンプト — デフォルト標準
このライブラリが生成または最適化するすべてのプロンプトでは、手順ではなく理想状態を明確にします。 完了状態(テスト可能な成果として)、制約、高品質なツールを示し、どのように実現するかはモデルに任せてください。推論の段取りを指定すること(「まず分析し、次に検討し、それから判断する」)は BPE に反する足場であり、高性能なモデルに上限を設け、モデルの進化とともに陳腐化します。理想状態を指定するプロンプトは曖昧になるのではなく、むしろより正確になります。具体性を成果に移すのです。
正当な「方法」にあたり、削除されずに残るクラスは4つです。安全ゲート、検証済みの落とし穴、ツールの契約、出力形式の契約です。決定論的なツール(*.ts)は対象外です。手順を指定する行を判断する基準は、より賢いモデルなら、このルールは不要になるか? です。なる場合は削除し、ならない場合は残すクラスです。標準の全容については、Standards.md § Ideal-State Prompting を参照してください。
仕組み
この作業は、次の3つの柱で支えられています。
- 標準 - Anthropic のベストプラクティス、Claude 4.x のパターン、実証研究(Markdown 優先の設計、コンテキストエンジニアリング、Fabric パターンシステム、プロンプト最適化に関する1,500件以上の学術論文)。詳細ガイドは
Standards.mdにあります。 - テンプレート - プログラムによるプロンプト生成に対応する Handlebars ベースのシステム:プリミティブ(Briefing、Structure、Gate、Roster、Voice)と評価テンプレート(Judge、Rubric、TestCase、Comparison、Report)。エージェント固有の
DynamicAgent.hbsはこの場所ではなく、Agents スキル(Agents/Templates/DynamicAgent.hbs)にあります。 - ツール - テンプレートのレンダリング(
RenderTemplate.ts)、検証、データとコンテンツの分離。
ワークフローのルーティング
ライブラリスキルであり、Workflows/ ディレクトリはありません。リクエストはレンダリングツールと参照ドキュメントに振り分けられます。
| トリガー | ワークフロー | ファイル |
|---|---|---|
| テンプレートのレンダリング/データからのプロンプトの組み立て/Handlebars テンプレート | RenderTemplate(ツール) | Tools/RenderTemplate.ts |
| テンプレートの検証 | ValidateTemplate(ツール) | Tools/ValidateTemplate.ts |
| プロンプトエンジニアリングの標準/ベストプラクティス/プロンプトの最適化 | Standards(リファレンス) | Standards.md |
例
例1:Briefing テンプレートの使用(エージェントの概要を作成)
// Render a structured agent brief from data before launching general-purpose
import { renderTemplate } from '${LIFEOS_SKILL_DIR}/Tools/RenderTemplate.ts';
const prompt = renderTemplate('Primitives/Briefing.hbs', {
briefing: { type: 'research' },
agent: { id: 'EN-1', name: 'Skeptical Thinker', personality: {...} },
task: { description: 'Analyze security architecture', questions: [...] },
output_format: { type: 'markdown' }
});
例 2:構造テンプレートを使用する(ワークフロー)
# Data: phased-analysis.yaml
phases:
- name: Discovery
purpose: Identify attack surface
steps:
- action: Map entry points
instructions: List all external interfaces...
- name: Analysis
purpose: Assess vulnerabilities
steps:
- action: Test boundaries
instructions: Probe each entry point...
bun run RenderTemplate.ts \
--template Primitives/Structure.hbs \
--data phased-analysis.yaml
例 3:データからエージェントブリーフをレンダリングする
// Render a structured agent brief, then launch general-purpose with it
const brief = renderTemplate('Primitives/Briefing.hbs', {
agent: { name: 'Skeptical Security Reviewer', role: 'auth bypass and input validation' },
task: { description: 'Review the auth flow', questions: [...] },
});
// Pass `brief` as the prompt to Agent(subagent_type="general-purpose")
他のスキルとの連携
Agents スキル
- エージェントのコンテキスト引き継ぎに
Templates/Primitives/Briefing.hbsを使用します - 動的なエージェントの構成に
RenderTemplate.tsを使用します - エージェント固有のテンプレート
Agents/Templates/DynamicAgent.hbsを管理します
Evals スキル
- 評価固有のテンプレート(Judge、Rubric、TestCase、Comparison、Report)を使用します
- 評価プロンプトの生成に
RenderTemplate.tsを活用します - 評価テンプレートは
Evals/Templates/に保存できますが、Prompting のエンジンを使用します
Development スキル
- プロンプトのベストプラクティスについて
Standards.mdを参照します - ワークフローパターンに
Structure.hbsを使用します - 検証チェックリストに
Gate.hbsを適用します
トークン効率
テンプレートシステムにより、LifeOS 全体で 約35,000トークン(65%削減) を削減できました。
| 領域 | 変更前 | 変更後 | 削減率 |
|---|---|---|---|
| SKILL.md のフロントマター | 20,750 | 8,300 | 60% |
| エージェントブリーフ | 6,400 | 1,900 | 70% |
| 音声通知 | 6,225 | 725 | 88% |
| ワークフローのステップ | 7,500 | 3,000 | 60% |
| 合計 | 約53,000 | 約18,000 | 65% |
ベストプラクティス
1. 関心の分離
- テンプレート:構造と書式設定のみ
- データ:コンテンツとパラメーター(YAML/JSON)
- ロジック:レンダリングと検証(TypeScript)
2. DRY 原則
- 繰り返し使うパターンをパーシャルに切り出します
- 一般的な設定にはプリセットを使用します
- 定義の信頼できる唯一の情報源を用意します
3. バージョン管理
- テンプレートとデータを別々のファイルに保存します
- 変更を個別に追跡します
- 構造の A/B テストを可能にします
参考資料
主なドキュメント:
Standards.md- プロンプトエンジニアリングの完全ガイドTemplates/README.md- テンプレートシステムの概要Tools/RenderTemplate.ts- 実装の詳細
公式資料(乖離の確認用): このスキルの標準の根拠となる、Anthropic の権威ある情報源 2 件:
- プロンプトエンジニアリング:https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview
- コンテキストエンジニアリング:https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
Standards.md の作成または監査時(通常のテンプレートレンダリング時を除く)は、両方のページを取得し、現在の公式ガイダンスと標準との相違点を報告してください。これらのページはモデルファミリーごとに更新されるため、古いモデルに基づいて作成された標準は、気付かないうちに陳腐化します。あくまで助言にとどめてください。相違点を報告し、自動的に採用してはいけません。URL にアクセスできない場合も、作業を妨げてはいけません。
調査の基盤:
- Anthropic:「Claude 4.x Best Practices」(2025年11月)
- Anthropic:「Effective Context Engineering for AI Agents」
- Anthropic:「Prompt Templates and Variables」
- The Fabric System(2024年1月)
- 「The Prompt Report」- arXiv:2406.06608
- 「The Prompt Canvas」- arXiv:2412.05127
関連スキル:
- Agents - 動的なエージェント構成
- Evals - LLM-as-Judge のプロンプト作成
- Development - 仕様駆動開発のパターン
理念: プロンプトを書くプロンプト。構造はコード、コンテンツはデータです。メタプロンプティングにより動的な構成が可能になり、同じテンプレートでもデータを変えることで、専門化されたエージェント、ワークフロー、評価フレームワークを生成できます。これは LifeOS の中核をなす DNA であり、大規模なプログラムによるプロンプト生成です。
注意点
- メタプロンプティングが生成するのはコンテンツではなく、プロンプトです。 出力は別の場所で使用されるプロンプトであり、最終成果物ではありません。
- テンプレートはモデルに依存しないものにしてください。 特定モデルの癖に依存するプロンプトは作成しないでください。
- 生成したプロンプトは、使用可能と判断する前にテストしてください。 見た目が良いプロンプトでも、性能が低い場合があります。
実行ログ
ワークフローの完了後は、JSONL エントリーを 1 件追記してください。
echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Prompting","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl
WORKFLOW_USED は実行したワークフローに、8_WORD_SUMMARY は入力の簡潔な説明に、SECONDS はおおよその実経過時間に置き換えてください。ワークフローが失敗した場合は、status: "error" を記録してください。