---
name: system-prompt-generator
description: 手順書・運用ルール・スキル定義などのドキュメントから LLM やエージェント向けのシステムプロンプトを生成するスキル。ターゲットモデルの公式システムプロンプト実例を体裁の手本にし、入力の手順・制約・ポリシーを再構成して出力する。システムプロンプトの新規作成、既存ドキュメントからの変換、別モデル向けの書き直しを求められたときに使う。
---

# system-prompt-generator

手順書やスキル定義を、対象エージェント向けのシステムプロンプトに変換する。
本文に変換規則を増やしすぎず、`references/` に置いた完成形の構造と体裁に合わせて生成すること。

## 入力を確定する

- 入力が本文かファイルパスかを確認する。
- ファイルパスなら内容を読む。`AGENTS.md`、`SKILL.md`、運用手順書、エージェント定義を優先して確認する。
- 入力が複数ある場合は、役割、制約、作業手順、出力方針を統合し、競合があればその旨を明示する。
- 入力の種類を判別し、以降の作業方針を決める。
  - **変換**: 入力が手順書・スキル定義・運用ルールなどの既存ドキュメント。入力の情報を忠実に再構成する。
  - **新規作成**: 入力がユーザーの用途説明のみで元ドキュメントがない。reference からの補完が中心になる。
  - **書き直し**: 入力が既存のシステムプロンプト。元の意図を維持しつつターゲットの体裁に合わせる。

## reference を選ぶ

`references/` の公式システムプロンプト実例は「体裁の参考」と「内容の参考」の二つの目的で使い分ける。
まず `references/` のファイル名一覧を確認する。ファイルはサブディレクトリを設けず、`<vendor>-<surface>-<model>[-<variant>].md` の形式で管理される。

### 体裁の参考 — ターゲットモデルに合わせる

生成するプロンプトの構造・見出しの切り方・粒度・語調・マークアップ形式は、ターゲットモデルの既存システムプロンプトに倣う。

- ターゲットが明示されている場合は、まず vendor と surface を合わせ、次に model と variant を合わせる。
- 完全一致がなくても、同じ vendor・surface の別バージョンや同系統モデルのファイルを体裁テンプレートとして使う。
- ターゲットが不明な場合はユーザーに確認する。確認できなければ最も近い surface を選び、前提を明示する。汎用 fallback 用の実例は置かれていない。
- reference の文面をそのまま写さず、体裁パターンを抽出して適用する。
- 体裁パターンとして抽出する対象: セクション構成と見出しレベル、マークアップ形式（リスト・強調・コードブロック）、語調（命令形/説明形）、マーカー（`IMPORTANT` 等）の使い方、セクション間の粒度バランス。
- 体裁パターンに含まれないもの: 具体的なルール文面、機能定義、制約の内容。これらは入力の情報に基づく。

### 内容の参考 — 他モデルから知見を得る

`references/` は「システムプロンプトに何を書くべきか」の知見の集積である。体裁テンプレートを決めた後、生成目的に応じて他モデルのプロンプトも横断的に参照し、書くべき項目の抜け漏れを防ぐ。

- ターゲットモデルのプロンプトだけをテンプレートとして扱わない。他モデルが同種の機能や制約をどう表現しているかを確認する。
- 例: コーディングエージェント向けなら `anthropic-claude-code.md`、`openai-codex-gpt-5.4.md`、`google-gemini-cli.md` を横断し、ツール使用規則・安全制約・自律性指針の共通パターンを把握する。
- 例: 文書作業やレビューなどコーディング以外の用途なら、同じ surface のチャットモデル系（`anthropic-claude-*`、`openai-chatgpt-*` 等）やスタイル系を横断し、応答構造・段階的ワークフロー・品質基準の表現パターンを確認する。
- 例: ツール固有の指示を含めるなら `openai-tool-*.md` を参照し、ツール指示の粒度や記述パターンを確認する。
- 例: 個性やスタイル定義を含めるなら `anthropic-default-styles.md`、`openai-codex-personality-*.md`、`xai-grok-personas.md` を参照する。
- 横断参照の結果はターゲットモデルの体裁に統一して反映する。他モデルの形式をそのまま混ぜない。

### 読み方

- reference が長い場合は冒頭のメタ情報と主要セクション構造を優先して読み、必要な箇所だけ追加で読む。
- 同一モデル系列にバージョン違いがある場合は、最新または、一つ前のモデルのシステムプロンプトが配置されているため、確認する。

## 変換する

- 入力から `role`、`scope`、`priorities`、`workflow`、`tool rules`、`safety constraints`、`response style`、`output contract` を抽出する。
- 入力にある項目名を無理に固定フォーマットへ押し込まず、選んだ reference と同等の読みやすさで再構成する。

### 入力の種類別の方針

- **変換**（入力が既存ドキュメント）: 入力の情報を忠実に再構成する。reference は構造と体裁の参考として使い、入力に書かれていない機能や制約は追加しない。
  - スキル定義から変換する場合は、`description` を役割定義と適用条件に展開し、本文から実行手順、判断基準、補助資料の使い方を抽出する。
  - 手順書から変換する場合は、作業順序、禁止事項、確認事項、例外時の扱いを優先して反映する。
- **新規作成**（入力が用途説明のみ）: ユーザーが指定した用途を核にし、reference の横断参照で同種エージェントに共通する要素（安全制約、出力形式、ツール規則など）を補完する。補完した内容はユーザーに明示する。
- **書き直し**（入力が既存システムプロンプト）: 元プロンプトの意図と機能を維持し、ターゲットモデルの体裁に合わせて再構成する。元プロンプトにない要素を追加しない。

### 共通

- 一般論を増やしすぎないこと。入力にない仕様は推測で確定しない。
- 出力の言語はユーザーの指定に従う。指定がない場合は入力ドキュメントの言語に合わせる。新規作成で入力がユーザーの口頭説明のみの場合は、ターゲットの用途を考慮してユーザーに確認する。

## 出力する

- 出力形式の指定があればそれに従う。
- 保存先の指定があればそれに従う。
- 保存先未指定でファイル生成が求められている場合は、カレントディレクトリに `./system-prompt-<target>.md` を生成する。ターゲット不明なら `./system-prompt.md` を使う。
- ファイル生成が明示されていなければ、最終プロンプト本文をそのまま返す。
- 併せて、使った reference とターゲットを短く示す。

## references

`references/` には `works/system_prompts_leaks` からコピーした公式システムプロンプト実例だけを置く。ベンダー別に `anthropic-*`, `openai-*`, `google-*`, `xai-*` を確認する。内容は以下のカテゴリに分かれる。

- **コーディングエージェント**: `anthropic-claude-code.md`, `openai-codex-gpt-5.4.md`, `google-gemini-cli.md`, `google-jules.md` — ツール使用規則、安全制約、自律性指針の参考
- **チャットモデル**: `anthropic-claude-opus-*.md`, `anthropic-claude-sonnet-*.md`, `openai-chatgpt-*.md`, `google-gemini-3*.md`, `xai-grok-4*.md` — 役割定義、応答スタイル、制約の参考
- **ツール固有指示**: `openai-tool-*.md` — 検索、コード実行、ファイル操作などツール別の指示パターンの参考
- **スタイル・個性**: `anthropic-default-styles.md`, `openai-codex-personality-*.md`, `xai-grok-personas.md` — 語調・個性定義の参考
- **ポリシー・安全**: `openai-policy-automation-context.md`, `xai-grok-safety-instructions.md`, `anthropic-claude-ai-injections.md` — 安全指針の参考

