Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions _template/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# `_template/` — レクチャー作成テンプレート

新しいレクチャーは、このディレクトリを複製して作る。「コピーして埋める」だけで、構成・レイアウト・CI 要件を満たした状態から始められる。

このディレクトリ自体はレクチャーではない(`_` 始まりなのは、章の連番と区別するため)。

---

## 1 回 = 1 機能

Lectures は **機能別** に作る。1 回で扱うのは「AI を道具にする機能」を 1 つ。

用途・目的そのものを 1 回にはしない。用途は、機能を説明するための **具体例** として回の中に置く。「何の機能の話か」が毎回はっきりしている方が、読者は探しやすく、再利用しやすい。

---

## 具体例サンドイッチ

機能の解説(本体)を、具体例で挟む。

| パート | 枚数 | 役割 |
|---|---|---|
| **Cover** | 1 | 表紙。扱う機能と、読者が手にするものを書く |
| **① つかみ** | 1 | 軽い具体例 1 枚。「この機能はこんな場面で効く」と先に見せる。解説はしない |
| **② 本体** | 3〜5 | 機能そのものの解説。1 枚 1 メッセージ。落とし穴は別スライドにせず本体に畳む |
| **③ 応用** | 2〜3 | バリエーションに富んだ具体例。つかみより踏み込み、複数の使いどころを見せる |
| **伴走ブロック** | 1 | 受講者の伴走者向け。実務への接続を促す。必ず `.ai-buddy` で可視化 |
| **まとめ** | 1 | 本体の主張を 1 枚で回収し、つかみ・応用とつなげて締める |

なぜこの形か:

- **つかみ**が先にあると、読者は「自分に関係ある」と思って本体を読める
- **本体**は機能に集中。具体例を混ぜないので、後から参照しやすい
- **応用**で「他の場面にも効く」と分かると、読者は自分の文脈に翻訳できる

`index.html` の各 `<section>` は、この順に並んだ雛形になっている。本体・応用は枚数が目安なので、論点に合わせてスライドを複製・削除してよい。

---

## 使い方

```bash
# 1. テンプレートを複製し、章番号 + slug にリネーム
cp -r _template NN-your-lecture-slug

# 2. index.html の {{ ... }} プレースホルダをすべて埋める
# - <title> / <meta description> / og:* (検索・GEO 用)
# - 各 <section> の data-label(プログレスストリップに出る)
# - 本文

# 3. ブラウザで NN-your-lecture-slug/index.html を開いて確認
# R で先頭へ → → で全枚通読。各スライドが 1080 に収まるか見る
```

仕上げに、新しい回をサイトの導線に追加する:

| ファイル | 追記する内容 |
|---|---|
| `sitemap.xml` | 新しい回の `<url>` エントリ |
| `llms.txt` | 「講義」セクションに 1 行 |
| ルート `index.html` | 一覧に新しい回へのリンク |
| ルート `README.md` | 「何が読めるか」の表に 1 行 |

---

## レイアウトの必須ルール

各スライドの「チャプター(左上)/ ページ番号(右上)/ プログレスストリップ(下部)/ brand(下端)」は、リポジトリ直下の `CLAUDE.md` の「スライド構造(必須レイアウトルール)」が正典。ここでは重複させない。要点だけ:

- 各 `<section>` に `data-label="<タイトル> — <サブ>"` を必ず書く(プログレスの短縮ラベル元)
- ページ番号は `shared/page-number.js` が自動採番する。`meta-line` のベタ書き番号は fallback
- 「この章の焦点」は cover の `data-label` から `shared/ai-focus.js` が自動注入する。手で書かない

---

## やってはいけないこと

このリポジトリは「**AI に伝わる内容は人間にも見える**」を不変条件にしている。受講者の伴走者に伝えたいことは、必ず `.ai-buddy` などの可視ブロックに書く。

次のものは PR で禁止され、CI(`.github/workflows/prompt-injection-check.yml`)が検出すると fail する:

- `data-ai-*` 属性
- `<template>` タグ
- `display:none` / `visibility:hidden` で隠した文字
- HTML コメント内に隠した、伴走者向けの指示
- JSON-LD(`<script type="application/ld+json">`)
- Zero-width Unicode による隠し文字

このテンプレートの `index.html` は、これらを一切使わずに書いてある。複製した後も同じルールを守ること。詳細は `CLAUDE.md` の「プロンプトインジェクション対策」。
Loading
Loading