Claude Code で誰でも作れる「オンラインマニュアル」
30分手順書 v1

業界団体・社外団体・社内行事の運営担当者向け 再現性重視のメタ手順書
作成: 2026-05-18 / 小松ウォールアイティ株式会社 鍛治 渉
📱 スマホ最適化 ⚡ Cloudflare Pages 🔁 当日まで rev 反映 💰 公開無料

📥本書をダウンロード

この手順書は HTML・Markdown どちらでも持ち帰れます。配布・印刷・他団体への横展開にお使いください。
印刷したい場合:このページ右クリック → 印刷 → 「PDF として保存」を選ぶと A4 16ページ程度のハンドアウトが作れます(@page CSS 適用済)。

0これで何が作れるか

ひとことで: HTML/CSS/JS は触らず、データを差し替えるだけで自分の案件用のマニュアルが作れる。デプロイは1コマンド。当日まで何度でも更新できる。

完成イメージ(実例 3件)

A. 会議アーカイブ型

役員会議の議事録置き場

議事録・アジェンダの保管庫。月例の会議で版が増えていく運用。
hokuriku-kaneki-yakuin.pages.dev
B. 式典マニュアル型

当日マニュアル+座席表

タイムライン・担当割・座席表検索つき。周年式典・懇親会に。
hokuriku-kaneki.pages.dev
C. スライド型大型

計画書pptx をそのままWeb化

数十〜数百ページ。ロール絞り込み・タイムライン同期。
zenkoku-kankikai-2026.pages.dev

1想定読者

「これは私には無理かも」と思ってしまう人へ
HTML が書けなくても大丈夫。あなたは「中身の文章を整理する人」、Claude Code は「形にする人」、という分担です。
コマンドが分からなくても大丈夫。本書のコピペで動きます。失敗しても元に戻せます。
既存案件をベースに差し替えるので、ゼロから書く必要はありません。

2必要な準備(全部無料・15分)

2-1. 用意するもの

項目入手先費用
Windows PC(Mac可)
Claude Code(CLI)claude.com/claude-code月20$〜
Cloudflare アカウントdash.cloudflare.com無料
Git(バージョン管理)git-scm.com無料
Node.js(wrangler 用)nodejs.org無料
元になる資料pptx / Word / Excel / 議事録

2-2. インストール手順(初回のみ・10分)

PowerShell を開いて以下を上から順に貼り付け:

# Node.js が入っているか確認
node --version
# v18 以上が出ればOK。出なければ nodejs.org からインストール

# Cloudflare CLI(wrangler)をインストール
npm install -g wrangler

# Cloudflareにログイン(ブラウザが開く→承認)
wrangler login

これで準備完了。あとは Claude Code に話しかけるだけ。

3まず「どのタイプ」か決める(3分)

下の3タイプから自分の案件に近いものを1つ選ぶ。後から変更も可。

A. 会議アーカイブ型

役員会議・例会の議事録置き場。定期的に議事録が増えていく運用。

B. 式典マニュアル型

周年式典・懇親会・全国大会など、当日数時間で進行する行事の当日マニュアル。

C. スライド型大型

数十〜数百ページの計画書pptx を、各担当者がスマホで参照したいケース。

4Claude Code への「最初の一言」テンプレ

Claude Code を起動して、下のテンプレをコピペして自分の案件に置き換えるだけ。

A. 会議アーカイブ型 を作りたい場合

これから「○○の役員会議 議事録アーカイブ」のオンラインマニュアルを作りたい。
既存案件 hokuriku-kaneki-yakuin.pages.dev と同じ構成で。

— 団体名:○○○○
— 会議名:○○役員会議
— 公開URL希望:○○-yakuin(Cloudflare Pages のサブドメイン)
— カラー:(例)コーポレートブルー+ゴールド
— 配布対象:役員 約○名

これで dev/○○-yakuin/ にプロジェクト一式を作ってください。
README.md にデプロイ手順も書いて、Cloudflare Pages に初回デプロイまで進めて。

B. 式典マニュアル型 を作りたい場合

これから「○○の○○式典 当日オンラインマニュアル」を作りたい。
既存案件 hokuriku-kaneki.pages.dev と同じ構成で。タブUIで、座席表の名前検索つき。

— 団体名:○○○○
— 行事名:第○回 ○○式典
— 開催日:YYYY-MM-DD(X)
— 会場:○○ホテル ○○の間
— 規模:参加者 約○名
— 主要タブ:式次第/タイムライン/服装ルール/担当割/座席表
— カラー:○○ブルー(HEX指定があれば)
— 配布対象:当日スタッフ・来賓誘導役・役員 約○名

座席表データは別途 Excel で渡します。これで dev/○○-manual/ にプロジェクト一式を作ってください。

C. スライド型大型 を作りたい場合

これから「○○の計画書」を当日マニュアルとしてWeb化したい。
既存案件 zenkoku-kankikai-2026.pages.dev と同じ構成で。

— 元データ:計画書pptx(○○ページ)— PowerPoint で PNG エクスポート済み、後でフォルダごと渡す
— 団体名:○○○○
— 行事名:第○回 ○○大会
— 開催日:YYYY-MM-DD(X)
— ロール(担当区分):司会(紺)/総務(金)/来賓誘導(赤)/開催支部(緑)/全員(灰)
— 座席表:あり(○卓・約○名、xlsx)/なし
— 配布対象:役員・スタッフ・SC来賓誘導者 約○名

これで dev/○○-manual/ にプロジェクト一式を作ってください。
データは assets/data.js(章立て・ロール・スライド注釈)と assets/seating.json(座席表)の
2ファイルに集約してください。
コツ: ○○の箇所を自分の案件で埋めてから貼り付ける。Claude Code は文脈を多く渡すほど精度が上がる。資料の現物(pptx/Word/xlsx)を dev/○○-manual/_source/ に置いてから話しかけると確実。

5データだけ差し替える(HTML本体は触らない原則)

Claude Code が最初の骨格を作ったら、あなたの仕事はデータの差し替えだけ。HTML/CSS/JS のコードは触らない。

5-1. データを「1ファイルに集める」が鉄則

タイプ触るファイル
A. 会議アーカイブ型index.html のカード一覧部分 + meetings/YYYYMMDD/ フォルダ追加
B. 式典マニュアル型index.html 上部の const SEATS = [...] データ部
C. スライド型大型assets/data.js + assets/seating.json + assets/slides/slide-NN.png
超重要: 最初に Claude Code に「データとレイアウトを分離した構造にして」とお願いしておくこと。これで後の差し替えが圧倒的に楽になる。

5-2. pptx → PNG 変換(スライド型の場合)

PowerPoint で:

  1. ファイル → エクスポート → ファイルの種類の変更 → PNG
  2. すべてのスライドを選択 → 出力フォルダ指定
  3. 出力は スライド1.PNG, スライド2.PNG... になるので連番リネーム

リネームは PowerShell で1行:

# 出力フォルダで実行
Get-ChildItem -Filter "スライド*.PNG" | ForEach-Object {
  $num = [int]($_.BaseName -replace 'スライド','')
  $newName = "slide-{0:D2}.png" -f $num
  Rename-Item -Path $_.FullName -NewName $newName
}

これで slide-01.pngslide-NN.png に揃う。assets/slides/ に放り込めばOK。

5-3. xlsx → JSON 変換(座席表の場合)

座席表の Excel を Claude Code に投げて:

このxlsxを seating.json に変換してください。
1卓ごとに { table, title, seats:[{seat, org, role, name, side}] } 構造で。
振り仮名は kana フィールドに別途入れて。

Excel の項目名(卓番号/所属/氏名/役職)を Claude Code に説明すれば、変換コードを書いて実行してくれる。

5-4. 議事録 PDF / Word の取り込み(会議アーカイブ型)

PDF/Word はそのまま meetings/YYYYMMDD/ フォルダに置いてリンクを張るのが一番速い。文章として取り込みたければ:

この議事録Wordから決定事項と次回アジェンダを抽出して、
meetings/20260512/index.html に整形してください。

6ローカル動作確認(デプロイ前に手元で見る)

デプロイ前に必ず手元で見る。PowerShell で:

# プロジェクトルート(index.html がある場所)で
python -m http.server 8000

# ブラウザで http://localhost:8000 を開く
Python が入ってなければ npx serve . でも同等。file:/// で直接開くと一部のブラウザで JSON 読み込みがブロックされるので、必ずローカルサーバ経由で。

7Cloudflare Pages にデプロイ(初回 10分・以降 1分)

7-1. プロジェクト初回作成

# プロジェクト名は世界で一意。例:hokuriku-kaneki-2027
wrangler pages project create hokuriku-kaneki-2027 --production-branch main

7-2. デプロイ

# プロジェクトルートで(index.html がある場所)
wrangler pages deploy . `
  --project-name=hokuriku-kaneki-2027 `
  --branch=main `
  --commit-dirty=true `
  --commit-message="rev1 initial"

出力に https://hokuriku-kaneki-2027.pages.dev のような URL が出る。これが本番URL。

7-3. 落とし穴 3つ(必ず読む)

① Production branch は何で作ったか確認

wrangler pages project create 時に --production-branch main で作ったなら deploy 時も --branch=main
ローカル git が master のままなのに --branch main で deploy すると Preview 止まりで本番反映されないことがある(実例:hokuriku-kaneki.pages.devmaster で運用)。

確認方法:

# 最新デプロイに "Production" バッジが付いているか確認
wrangler pages deployment list --project-name=hokuriku-kaneki-2027 | grep Production

Cloudflare ダッシュボード → 該当プロジェクト → Deployments で見るのが一番確実。

--commit-message は ASCII のみ

日本語を入れると Invalid commit message, it must be a valid UTF-8 string で 8000111 エラーになる。

file:/// で直接開かない

ローカル確認時は必ず python -m http.server 経由。index.html をダブルクリックで開くと JSON が読めないなど挙動が変わる。

8関係者へURL配布

8-1. QRコード生成

無料サービスで一発:

8-2. 配布文(LINE / メール)テンプレ

○○役員の皆様

○月○日の○○○○ オンラインマニュアルが完成しました。
当日はお手元のスマホで以下URLを開いてご活用ください。
(QRコードは画像でお送りします)

URL: https://○○○○.pages.dev

【主な機能】
・上部タブで「式次第/服装/担当割/座席表」を切替
・座席表は名前検索可能(振り仮名でも可)
・当日まで内容を更新しますので、ブックマーク推奨

ご不明点は○○までお知らせください。

8-3. 印刷物にQRを載せる場合

紙のプログラム・名札裏・封筒同封など、「迷ったらここを見て」の入口をアナログ側にも残しておく(高齢の役員・SC側来賓配慮)。

9当日まで rev を重ねる運用

オンラインマニュアルの最大の強みは 「直前変更を即反映できる」

9-1. 直前変更を追記するときのお作法

データファイル(data.js 等)の該当項目の notes 等に:

"★【2026-05-12 青年部役員会決定】二次会を3会場から1会場(リエ)に統合"

の形で 日付+決定機関名+内容 を追記。誰がいつ何を変えたか、後から追える。

9-2. rev の上げ方

サイトのフッターやヘッダに「最終更新: 2026-05-13 rev3」と出しておくと、関係者が「自分が見ているのは最新か」を確認できる。

9-3. 再デプロイは1分

wrangler pages deploy . `
  --project-name=○○○○ `
  --branch=main `
  --commit-dirty=true `
  --commit-message="rev3 final updates"

これだけ。2分以内に本番反映

10公開前 動作確認チェックリスト

スマホ(iPhone Safari / Android Chrome)で必ず確認:

最後の項目が一番大事。作った人がスマホで使えるのと、初見の人が使えるのは別物

11つまずきポイントとリカバリ

症状原因対処
wrangler login でブラウザが開かないコーポレートPCのプロキシ個人PCで認証 → wrangler.toml に API トークン直書きで運用
Deploy したのに本番URLが古いままProduction branch 不一致§7-3 ①参照。ダッシュボードで Production バッジ確認
Invalid commit message エラー--commit-message に日本語ASCII に直す
画像が表示されないパス間違い/拡張子大文字slide-01.pngslide-01.PNG は別物。小文字統一
「私の担当だけ表示」が動かないroles 配列のID 不一致ROLESidSLIDESroles:[...] 内の文字列が完全一致しているか
関係者から「URLが開けない」URL の typoLINEで送ると URL がリンク化される。直URL でなく QR で展開
Claude Code が「コード全部書き直し」を提案プロンプトに「○○を変えて」だけだと過剰反応「データ部分のみ変更、HTML/CSS/JSは触らないで」 を冒頭で念押し
データ差し替えしたら表示が崩れたデータの形式不一致直前の git commit まで git restore . で巻き戻し可。Claude に元データと差分を見せて修正依頼

12もっと凝りたい人へ(応用編)

12-1. カラーを団体カラーに

index.html 冒頭の :root { --navy: #...; --gold: #...; } を差し替え。Claude Code に 「このサイトを当団体のコーポレートカラー(HEX: #003580 / #c4002a)に変えて」 と言えば、CSS を読んで一括置換してくれる。

12-2. ロゴを入れる

ロゴ PNG を assets/logo.png に置いて、Claude Code に 「ヘッダ左上にロゴを表示して」 と頼む。スマホで縦長になりすぎないよう 最大高さ 40〜60px に抑えるのがコツ。

12-3. 「▶今」ボタン(タイムライン同期)

スライド型の場合、各スライドに time: "16:37" を入れておけば、開催当日に「現在時刻に最も近いスライド」へ自動ジャンプするボタンが付けられる。Claude Code に 「タイムスタンプの近いスライドへジャンプする ▶今 ボタンを付けて」 で実装可能。

12-4. アクセス制御(社内限定)

Cloudflare Pages の Access 機能で「特定メールドメインのみ閲覧可」に絞れる。来賓に見せたくない場合は Cloudflare ダッシュボード → Access → Application を追加。

12-5. 独自ドメイン

○○.example.jp のような独自ドメインを当てたい場合、Cloudflare Pages ダッシュボード → Custom domains で設定。DNS が Cloudflare 管理に乗っていれば数分で反映。

13困ったときの相談先

マニュアルは育てるもの。 あなたの現場で改善点が見つかったら、本書の末尾「§14 改善案」セクションに追記して、次の方へ渡してください。

付録A作業所要時間の目安

タイプデータ準備Claude Code への依頼動作確認・rev反映合計
A. 会議アーカイブ型30分30分30分1.5時間
B. 式典マニュアル型2時間(座席表整形含む)1時間1時間4時間
C. スライド型大型半日(pptx→PNG+章立て整理)2時間半日(rev3まで)2日

※「データを集める」工程が一番時間を食う。Claude Code に書かせる時間は1〜2時間でほぼ終わる

付録B必須コマンド早見表

# === 初回セットアップ(1回だけ) ===
npm install -g wrangler
wrangler login
wrangler pages project create プロジェクト名 --production-branch main

# === ローカル動作確認 ===
python -m http.server 8000
# → http://localhost:8000

# === デプロイ ===
wrangler pages deploy . `
  --project-name=プロジェクト名 `
  --branch=main `
  --commit-dirty=true `
  --commit-message="rev1 initial"

# === デプロイ状況確認 ===
wrangler pages deployment list --project-name=プロジェクト名

# === pptx → PNG リネーム ===
Get-ChildItem -Filter "スライド*.PNG" | ForEach-Object {
  $num = [int]($_.BaseName -replace 'スライド','')
  $newName = "slide-{0:D2}.png" -f $num
  Rename-Item -Path $_.FullName -NewName $newName
}