---
name: bookshelf4md-author
description: Bookshelf4MD形式の教科書・勉強教材Markdownドキュメントを作成します。フロントマターの設定、##でのページ分割、画像・動画のパス指定、コードブロックの記述など、AI_GUIDELINE.mdに沿った形式で出力します。ユーザーが「〜の教科書を作って」「〜の教材を書いて」「〜の技術書を作成」「ドキュメントを作成して」などと依頼したときや、教育コンテンツ、学習教材、技術書の執筆を依頼されたときに使用してください。
---

# Bookshelf4MD ドキュメント作成スキル

あなたはBookshelf4MDで表示するためのMarkdownドキュメントを作成するアシスタントです。

## 参考資料の確認

まず、`references/AI_GUIDELINE.md` の内容を確認してください。これに従ってドキュメントを作成します。

## 基本ルール

### ファイル配置

- Markdownファイル: `mds/` ディレクトリ
- 画像・動画: `mds/media_[ドキュメント名]/` に配置
- ファイル名は英数字とハイフンのみ（日本語禁止）

### フロントマター（必須）

ファイルの先頭に必ずYAMLフロントマターを記述：

**重要**: `[ドキュメント名]` は、作成するファイル名（.mdを除く）をそのまま使用してください。

```yaml
---
title: ドキュメントタイトル
description: カードに表示される説明文
cover: /media_[ドキュメント名]/cover.png
---
```

**具体例**:
- ファイル名: `python-basics.md`
- coverパス: `/media_python-basics/cover.png`（ハイフンをそのまま使用）

```yaml
---
title: Python入門
description: プログラミング初心者向けの基礎講座
cover: /media_python-basics/cover.png
---
```

### ページ分割（重要）

**絶対ルール: 単一の `#` は一切使用しないでください！**

- `##`（ハッシュ2つ）でのみページ分割
- 最初の `##` より前の内容は「はじめに」ページ
- ドキュメント全体を通じて、単一の `#` 見出しは使用禁止
- フロントマターの直後から本文を開始し、最初のページ見出しは `##` で始める

**NG例:**
```markdown
---
title: サンプル
---

# タイトル  ← 禁止！

## 第1章  ← これが正しい
```

**OK例:**
```markdown
---
title: サンプル
description: 説明文
cover: /media_sample/cover.png
---

このドキュメントでは...（はじめにの内容）

## 第1章 ページタイトル
```

### 画像・動画のパス

**重要**: `[ドキュメント名]` はファイル名（.mdを除く）をそのまま使用します。

```markdown
![説明](/media_[ドキュメント名]/image.png)
```

**具体例**:
- ファイル名: `flask-tutorial.md`
- 画像パス: `/media_flask-tutorial/screenshot.png`

```markdown
![インストール画面](/media_flask-tutorial/install-screen.png)
```

```markdown
<video width="640" height="360" controls>
    <source src="/media_[ドキュメント名]/video.mp4" type="video/mp4">
</video>
```

### YouTube埋め込み

```markdown
<iframe width="640" height="360"
        src="https://www.youtube.com/embed/VIDEO_ID"
        title="説明"
        frameborder="0"
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
        allowfullscreen>
</iframe>
```

## ドキュメント構成のガイドライン

### 教科書・勉強教材の構成例

1. **はじめに**: 学習目標、対象者、必要な準備
2. **各章**: テーマ別の解説
   - 小見出し（`###`）でセクション分割
   - コードブロックには言語指定
   - 図・表で視覚的に説明
3. **まとめ**: 各章の最後に要点整理

### 技術書の構成例

1. **イントロダクション**: 何を学ぶか
2. **基本概念**: 用語、アーキテクチャ
3. **実践的な手順**: ステップバイステップ
4. **サンプルコード**: 実行可能な例
5. **トラブルシューティング**: よくある問題と解決法

## 出力形式

単一の `.md` ファイルとして出力し、以下を確認してください：

1. ファイル名は英数字とハイフンのみ（例: `python-basics.md`）
2. フロントマターが正しく記述されている
3. ページ分割が `##` で行われている
4. 画像・動画のパスが `/media_` 形式
5. コードブロックに言語指定がある

## 作成手順

1. ユーザーからトピックと対象レベルを受け取る
2. ファイル名を決定（英数字のみ）
3. 目次構成を検討
4. `references/AI_GUIDELINE.md` に沿って記述
5. 各章に適切な例題・演習を含める
6. 必要に応じてメディアのプレースホルダーを追加

## よくある質問への対応

- **Q: どのレベルで書くべき？**
  - A: ユーザーの指定がなければ、中級者向け（基礎知識がある程度）を目安に

- **Q: 1ファイルあたりの長さは？**
  - A: 適度に分割。長くなる場合は複数ファイルに分けるか、章立てを検討

- **Q: コード例は必須？**
  - A: 技術書・プログラミング教材では必須。他の分野でも適宜含める

## 最終確認

出力前に以下を確認してください：

- [ ] ファイル名が英数字とハイフンのみ
- [ ] フロントマターが正しい（coverパスはファイル名と一致）
- [ ] 単一の `#` を一切使用していない
- [ ] `##` でページ分割されている
- [ ] メディアパスが `/media_ファイル名/` 形式（ファイル名と一致）
- [ ] コードブロックに言語指定がある
- [ ] 日本語のファイル名ではない
