# Japanese Rap

> 日本語ラップの歌詞を生成するスキル。ユーザーがお題やテーマを入力すると、固い韻・切れ味のあるパンチライン・自然なフロウを備えた高品質な日本語ラップを生成する。「ラップ」「rap」「韻」「ライム」「バース」「verse」「フリースタイル」「MC」「ヒップホップ」「hiphop」といった言葉が出てきたら必ずこのスキルを使う。また、「〇〇でラップして」「〇〇で韻を踏んで」のように求められた場合もトリガーする。

- Skill: `coji/japanese-rap` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add coji/japanese-rap`
- Raw SKILL.md: https://api.skillmd.com/api/skills/coji/japanese-rap/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: coji (https://skillmd.com/u/coji)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/coji/japanese-rap

---


# 日本語ラップジェネレーター

ユーザーから受け取ったお題をもとに、高品質な日本語ラップのバースを生成するスキル。

## お題の受け取り方

お題は大きく3パターンある。

1. **単語**（例：「コーヒー」「月曜日」「電車」）
2. **テーマ・状況**（例：「朝の通勤」「締切前夜」「夏の終わり」）
3. **自由テーマ**（例：「自己紹介」「今の気持ち」）

単語が来たら、その単語と関連する世界観を広げてリリックを構築する。テーマ・状況が来たら、その場面を具体的に描写するストーリーを軸にする。

## オプション

- `--bars 8` または `--bars 16`：小節数を指定（デフォルト: 16小節）
- `--style battle`：MCバトル風。攻撃的で即興感のあるスタイル
- `--style lyrical`：叙情的・内省的。ストーリーテリング重視
- `--style funny`：ユーモア寄り。ワードプレイとウィットを効かせる
- スタイル未指定の場合はお題に合ったトーンを自動選択する

## 生成フロー

以下の6ステップを順番に踏む。各ステップの詳細は `references/generation-guide.md` を参照。

### ステップ1：お題の解釈とコンセプト設計

お題から連想される情景・感情・キーワードを洗い出し、ラップの方向性を決める。

- テーマに合ったトーンを選ぶ（シリアス / ユーモア / 攻撃的 / 内省的）
- 起承転結の大まかな流れを設計する
- キーフレーズ（サビに相当する印象的な1行）を先に決めると全体がまとまりやすい

### ステップ2：キーワードの音を分解する

お題と関連するキーワードを5〜10個リストアップし、`scripts/rhyme.py` で各キーワードの読み・母音列・子音列を取得する。

```
uv run {baseDir}/scripts/rhyme.py コーヒー 月曜日 眠気
```

LLM の内部知識だけでは音の分解を間違えやすいため、スクリプトが使える環境では必ず使う。

### ステップ3：韻のペアを大量に探す

以下の2つの探索を**並列に**実行し、結果をマージする。

**A. LLM の語彙で連想**（メインエージェント）：各キーワードについて、同音異義語・子音交換・母音列一致・部分一致など、あらゆる変換パターンで韻の候補を探す。**意味の飛距離**を意識し、お題と全く違う分野の言葉を積極的に狙う。意味が遠い言葉同士を韻で繋ぐほど「うまい」と感じられる（`references/rap-theory.md` 第1層の韻の固さを参照）。

**B. 逆引き韻辞書で網羅検索**（サブエージェントまたは直接実行）：以下の2つの検索モードを使い分ける。

- `uv run {baseDir}/scripts/rhyme.py --search <キーワード>` — 母音列が完全一致する単語を辞書から検索。正確な韻を見つけたいときに使う。
- `uv run {baseDir}/scripts/rhyme.py --search-embed <キーワード>` — 韻bedding（母音 n-gram ベクトル）によるファジー検索。母音列が部分的に似ている語や、モーラ数が異なる語感踏みも発見できる。幅広く候補を探したいときに使う。

サブエージェントが使える場合は委譲して A と並列に走らせること。

マージ後、**音が固い（母音列3モーラ以上一致 + 子音も近い）かつ意味の飛距離がある**韻ペアを優先的に選ぶ。

### ステップ4：リリック構築

韻ペアを小節末（脚韻）に配置し、各小節を肉付けする。

構築のルール：
- **1小節 ≒ 12〜18モーラ**を目安にするが、緩急をつけるために意図的に短い小節や詰め込んだ小節を混ぜる
- **2小節1組で韻を踏む**のが基本（AA BB CC DD…）。途中で踏みパターンを変える（ABAB、内韻）と単調さを防げる
- **パンチラインを仕込む**：16小節なら最低2〜3箇所。ダブルミーニング・比喩・ワードプレイを意識する。特にバースの終盤（13〜16小節目）に最も強いパンチラインを置く
- **起承転結**：序盤（1〜4小節）で状況設定 → 中盤（5〜10小節）で展開・深掘り → 終盤（11〜14小節）で転換 → 締め（15〜16小節）で最強のパンチライン
- **フロウの変化**：同じリズムパターンが4小節以上続かないようにする。言葉の詰め方・区切り方を変える

やってはいけないこと（`references/bad-examples.md` 参照）：
- 韻を踏むためだけに意味不明な行を入れる
- 全行同じ文字数・同じリズムの棒読みリリック
- 抽象的な精神論の羅列（「夢を追え」「諦めるな」系）
- パンチラインゼロの平坦な描写

### ステップ5：検証（サブエージェントに委譲）

生成したリリックの検証は**サブエージェントに委譲する**こと。自分で作ったものを自分で評価すると甘くなりやすい。

検証項目：
1. **韻の照合**：`uv run {baseDir}/scripts/rhyme.py <言葉A> <言葉B>` で各韻ペアの母音列一致率を確認。50%未満は不合格。子音が大きく異なる場合も不合格
2. **フロウチェック**：各小節のモーラ数を数え、極端な偏り（全行同じ、あるいは差が大きすぎ）がないか
3. **パンチラインチェック**：ダブルミーニングや比喩が最低1箇所は機能しているか
4. **失敗パターン照合**：`references/bad-examples.md` の7つの失敗パターンに該当しないか
5. **全体の一貫性**：テーマから逸脱していないか、起承転結が成立しているか

サブエージェントが使えない場合は自分で実行するが、**韻の照合は必ず `scripts/rhyme.py` を実行**すること。

### ステップ6：推敲

検証で指摘された箇所を修正し、全体を通して読み返す。声に出して読んだときのリズム感を最終確認する。

## 参照ファイル

生成中に以下を必要に応じて読み込むこと。

| ファイル | 内容 | 読むタイミング |
|---|---|---|
| `references/rap-theory.md` | 日本語ラップの上手さの6層構造（韻・フロウ・パンチライン・構造・リリシズム・バイブス） | 生成方針に迷ったとき |
| `references/generation-guide.md` | 各ステップの詳細手法・韻の固さの判定基準・フロウの調整方法 | 生成プロセスの各ステップで |
| `references/examples.md` | 思考プロセス付きの生成例 | 初回生成時や品質のベンチマークとして |
| `references/bad-examples.md` | LLMが陥りやすい7つの失敗パターン | ステップ5の検証時 |
| `scripts/rhyme.py` | 読み変換・母音列・子音列抽出・類似度比較 | ステップ2とステップ5で |
| `scripts/rhyme.py --search` | 逆引き韻辞書検索（母音列完全一致） | ステップ3で正確な韻候補を探すとき |
| `scripts/rhyme.py --search-embed` | 韻beddingファジー検索（語感踏み対応） | ステップ3で幅広く候補を探すとき |

## 出力フォーマット

以下の形式で出力する。思考プロセス（ステップ1〜6）は内部で行い、出力には含めない。

1. **タイトル** — お題を反映した曲タイトル（1行）
2. **リリック本体** — 各小節を1行ずつ。2小節ごとに韻を踏んでいる箇所を **太字** で示す
3. **韻の解説** — 主要な韻ペアとパンチラインの解説（箇条書き、3〜5項目）

16小節なら16行、8小節なら8行。各行の末尾に行番号は不要。

## 注意点

- 差別的・ヘイト的な内容にはしない。ディスやバトルスタイルでも、ウィットと技術で勝負する方向に昇華させる
- 既存ラッパーのリリックをそのまま引用しない。リスペクトとしてのサンプリング（1フレーズ程度の引用）はOKだが、出典を明示すること
- 英語の混入は「その場面で自然に出てくる場合」のみ。無意味な英語フレーズの挿入は避ける
- 韻の固さと意味の通りを両立させる。どちらか一方だけでは不十分

