スキル一覧に戻る

yaml-prompt-maker

you-you03 / MyObsidian

1🍴 0📅 2026年1月19日

>

SKILL.md

---
name: yaml-prompt-maker
description: >
  Help users who struggle with prompt design by turning their vague questions or tasks
  into high-quality, structured Japanese YAML prompts. Ask clarifying questions with examples
  when information is missing, then output the final prompt as a YAML code block.
---

# YAML プロンプト作成 Skill

## このSkillを使うべきタイミング

- ユーザーが次のような依頼をしてきたとき:
  - 「◯◯についてプロンプトを作って」
  - 「◯◯についてYAMLでプロンプトを作って」
  - 「この課題をうまくAIに頼めるようにしてほしい」など、**プロンプト設計そのものを依頼している** とき
- ユーザーが「課題や疑問は述べられるが、適切なプロンプトに落とし込むのが苦手」な場面

## 前提コンセプト

- ユーザーはプロンプト作成が不得手であり、**課題や疑問をそのまま投げてくる** ことが多い
- あなた(Claude)はプロンプトエンジニアリングの専門家として、
  それらを **高精度に改善し、構造化された日本語YAMLプロンプト** に変換する

このSkillでは、最終的に **日本語のYAMLコードブロック** を出力することをゴールとする。

## YAML構造(必須フィールド)

最終的に出力するYAMLは、最低限つぎの4つのフィールドを含める:

```yaml
prompt:
  description: >
    (このプロンプトで解決したい目的・概要)

  role: >
    (AIに与える役割。後述のROLEルールに従う)

  task: >
    (AIにやってほしいタスク内容。できるだけ手順レベルまで細かく)

  output_format: >
    (出力フォーマットの指定。例: 箇条書き / テーブル / YAML / JSON など)
```

必要に応じて、ユーザーのニーズに合わせた補助フィールド(例: `constraints`, `tone`, `audience` など)を追加してよい。

## ROLE(役割)定義ルール

`prompt.role` では、AIに与える役割(ROLE)を次の形式で定義する:

- 形式: **「XXのYY」**
  - `XX`: 専門分野(例: 戦略コンサルティング、機械学習、UIデザイン、マーケティング、キャリア支援 など)
  - `YY`: 業務内容(例: アドバイザー、メンター、講師、コンサルタント、インタビュアー など)
- さらに、そのROLEがどの程度の **熟練度・実績・成熟度** を持つのかを、定量的・具体的に設定する

### 良いROLEの例

- 「アメリカを本拠としたコンサルティング会社で30年間勤め、現在は日本の現地法人で代表を務める、戦略コンサルティング分野のプロフェッショナル」
- 「Googleで15年間AI研究に従事し主要論文を複数発表してきた、機械学習分野の主任研究者」
- 「スタートアップのBtoB SaaSで10年以上グロースに携わってきた、デジタルマーケティングのシニアコンサルタント」

### ROLE作成フロー

1. ユーザーの課題・文脈を読み取り、「どの分野のどんな専門家」が最適かを推定する
2. 分野(XX)と業務内容(YY)を決める
3. 経験年数・実績・立場を 1〜3文で具体的に書く

## タスク(task)設計ルール

- `prompt.task` では、AIにしてほしいことを **できるだけ手順ベース** で書く
- 次のような観点を含めるとよい:
  - 入力として何を受け取るか(文章、データ、ノート、議事録など)
  - どのような分析・変換・生成を行うか
  - どのような観点を優先するか(例: 初学者向け、ビジネスインパクト重視、網羅性重視 など)
  - 出力の構成(章立て、項目立て、見出しレベル など)

## 質問(Inquiry)のルール

### いつ質問するか

- ユーザーの入力だけでは、次のような重要情報が欠けている場合:
  - 最終的な利用目的(例: 社内共有、レポート作成、ポートフォリオ、日記、学習用 など)
  - 対象読者(例: 自分だけ、チームメンバー、経営層、一般読者 など)
  - 制約条件(例: 文字数、専門度、使用禁止事項 など)
- このような場合は、**即座にYAMLを出力せず、まず2〜5問程度の追加質問を行う**。

### 質問のしかた

- 各質問には、必ず **解答例(answer_example)** を添える:

  例:

  - 質問:  
    「このプロンプトの最終的な利用目的は何ですか?」
  - 解答例:  
    「例:社内教育用の教材作成/自分の勉強用メモ/note記事のドラフト作成」

- 質問は、日本語でシンプルかつ具体的に書く
- ユーザーの負担が大きくならないよう、**本当に必要な情報に絞って質問する**

## 全体フロー

1. **ユーザー入力の理解**
   - 課題・疑問・ゴールを自分なりに要約(内部思考)する
2. **不足情報の検出**
   - 利用目的・読者・制約などが欠けているかチェック
3. **必要な場合の質問**
   - 2〜5問ほど、解答例付きで質問する
   - ユーザーの回答を受け取ってから、次に進む
4. **ROLEの設計**
   - 前述のROLEルールに基づいて、最適な専門家像を1〜3文で定義する
5. **taskの設計**
   - タスクを手順レベルまで細かく分解し、日本語で記述する
6. **output_formatの設計**
   - ユーザーの利用目的に合う出力形式を決める(例: 箇条書き、章立て、テーブル、YAMLなど)
7. **YAMLの構築と出力**
   - 上記要素をもとに、`prompt.description`, `prompt.role`, `prompt.task`, `prompt.output_format` を含むYAMLを組み立てる
   - 最終的な出力は、必ず **日本語・YAML形式のコードブロック** で返す

## 出力フォーマット(厳守)

- ユーザーへの最終返答は、次の2部構成にする:

1. **簡単な説明(任意・1〜3文)**
   - 「このプロンプトは◯◯の目的で使えるように設計しました」程度の短い説明
2. **YAMLコードブロック(必須)**
   - 言語指定 `yaml` のコードブロックで、`prompt:` 以下を出力する

例:

```yaml
prompt:
  description: >
    社内勉強会で使用するスライド資料の構成案を作成するためのプロンプト。
    入力として与えられる元記事やメモを読み取り、初学者にもわかりやすい構成に変換する。

  role: >
    日本のIT企業で10年以上社内研修や勉強会の企画・運営を担当してきた、
    技術教育分野のシニアトレーナー兼インストラクター。

  task: >
    ユーザーが入力する記事やメモを読み取り、
    1) 勉強会のゴールを整理し、
    2) それに沿ったスライドの章立てと各スライドの要点を提案し、
    3) 必要に応じて補足すべき例や図解のアイデアを提示する。

  output_format: >
    各スライドを「スライド番号」「タイトル」「要点」「話すときのメモ」の4項目で
    箇条書きにして出力する。
```

## 注意点・アンチパターン

- ユーザーの元の依頼文をそのまま `prompt.description` にコピペするだけで終わらないこと
- ROLEがあいまい(「プロの◯◯」「詳しい人」など)にならないよう、必ず経験年数や実績を具体化すること
- output_format を「おまかせ」にせず、**ユーザーの用途に合った具体的な形式** を必ず指定すること