--- name: creating-visual-explainers description: Generates an illustrated HTML page about any topic and deploys it to surge.sh. Triggered by requests like "図解を作って", "図解を生成して", "このトピックを図解して", or "図解してデプロイして". --- # Creating Visual Explainers 任意のトピックについて、前提知識がなくても理解できる図解HTMLを生成し、surge.shに公開する。品質基準は「入社したての新卒社会人が読んでも腹落ちする明快さ」だが、この基準は出力には表示しない。 ## 依存 - `references/base.html` — 図解テンプレート(Tailwind CSS CDN・Lucide Icons CDN・ADS配色を含む「額縁」) - `references/model-answer.html` — 模範回答(品質基準・デザインパターンの実例)。base.htmlと同一の額縁を含む完全なHTMLファイル ## ワークフロー ### Step 0: 前提確認 `references/base.html` が存在するか確認する。 存在しない場合、以下を伝えて終了: > テンプレートファイルが見つかりません。スキルのフォルダ構成が壊れている可能性があります。運営に連絡してください。 ### Step 1: 模範回答の読み込み `references/model-answer.html` を読み、以下を把握する: - 完成品の品質水準 - デザインパターン(色使い・余白・カード・フロー図などの視覚表現) - Tailwind CSSクラスの使い方 - Lucide Iconsの使い方 - コンテンツの構成・情報量・説明の深さ 模範回答がデザインガイドラインの代わりになる。パーツ一覧やルールではなく、実物から読み取る。 ### Step 2: テンプレートの読み込み `references/base.html` を読み、額縁の構造を把握する: - `` 〜 `` のプレースホルダー位置 - ``, `` のプレースホルダー - ADS配色のTailwind設定 - 読み込み済みのCDN(Tailwind CSS・Lucide Icons) ### Step 3: ウェブで情報収集 トピックについてウェブ検索を行い、正確かつ最新の情報を収集する。 検索は **2〜3回** に絞る。以下の観点でクエリを組み立てる: 1. **正確な定義**: トピックの公式な定義、公式ドキュメントの説明 2. **最新動向**: 直近の変更点、アップデート、現在のベストプラクティス 3. **具体例**: 実際の使われ方、初心者に伝わるたとえに使える事例 検索結果から以下を整理し、Step 4 の参考情報とする: - トピックの正確な定義(検索結果を優先。AIの学習データだけに頼らない) - 最近変わった点があれば、それを明記する - たとえ話に使えそうな事例や数字 - **出典URL**: 図解に採用した情報のソースURLを控えておく(Step 4 でインライン出典に使う) ### Step 4: コンテンツ生成 Step 3 で収集した情報をもとに、図解HTMLを生成する。検索結果で得た定義・事実・具体例を優先的に採用する。 模範回答のデザインを参考にしつつ、Tailwindの語彙で自由にレイアウトを組む。模範回答のパターンに合うものはそのまま使い、合わないものはTailwindクラスでその場で作る。テンプレートの定義済みパーツに縛られない。 ### Step 5: ファイル作成 1. `output/` ディレクトリがなければ作成する 2. トピックに関連する短い英単語のスラッグを決める(例: `api-basics`, `git-rebase`) 3. `references/base.html` を `output/{スラッグ}.html` にコピーする 4. コピーしたファイル内のプレースホルダーをすべて置換する: - `` → 図解のタイトル - `` → 内容を要約した1文 - `` 〜 `` → Step 4で生成したコンテンツ 5. ファイルを保存する(ブラウザで開くのは Step 6 のデプロイ後に行う。ローカルでは開かない) ### Step 6: 公開 ファイル保存後、公開する前にまず Node.js の有無を確認する。 ```bash node --version ``` バージョン番号が表示された → そのまま「公開の実行」に進む。 `command not found` と表示された → `references/node-install-guide.md` の手順に従ってNode.jsのインストールを案内する。 #### 公開の実行 以下のスクリプトを**実行する**(中身を読む必要はない)。 **macOS / Git Bash(Windows)の場合:** ```bash bash .claude/skills/creating-visual-explainers/scripts/deploy-diagram.sh output/{スラッグ}.html [スラッグ] ``` **Windows(PowerShell)で bash が使えない場合:** ```powershell npx --yes surge output/{スラッグ}.html --domain diagram-[スラッグ].surge.sh ``` スラッグにはトピックに関連する短い英単語を指定する(例: `git-rebase`, `api-basics`)。 #### 初回の場合(Surge未登録) ターミナルにメールアドレスとパスワードの入力を求められる。以下を伝える: > 初回のみアカウント登録が必要です。 > メールアドレスを入力して Enter → パスワードを決めて入力して Enter。 > 確認メールが届いたらリンクをクリックすれば登録完了です。 > 次回以降はこの手順は不要です。 #### エラーが出た場合 エラーメッセージをそのまま見せず、**何が起きていて何をすれば解決するか**を、専門用語を避けて平易に説明する。 よくあるエラーと対応: - **`npx: command not found`** — Node.js がまだ入っていない。`references/node-install-guide.md` の手順を案内する - **`surge: not found` / surge関連エラー** — `npm install -g surge` を実行してから再度試す - **認証エラー / `Login required`** — `npx surge login` を実行してメールアドレスとパスワードを入力する - **その他** — エラーの内容を読み、「何が問題で」「次に何をすればいいか」を平易に説明する ### 図解の削除 ユーザーが「この図解を削除して」と依頼した場合: 1. `deploy-history.log` を読み、直近のデプロイURLを特定する - ログが存在しない場合 → ユーザーに削除したいURLを聞く 2. `npx surge teardown [ドメイン]` を実行する 3. 削除完了をユーザーに伝える ### Step 7: 完了報告 #### 公開に成功した場合 ``` 完成・公開完了: 【図解のタイトル】 (図解の内容を1〜2文で要約) 公開URL: https://diagram-スラッグ.surge.sh 図解の主なポイント: - (主要トピックを3〜5個) この図解を削除したいとき: チャット欄で「この図解を削除して」と伝えてください。 ``` #### 公開できなかった場合 ``` 完成: 【図解のタイトル】 (図解の内容を1〜2文で要約) ファイルの保存先: output/{スラッグ}.html(ブラウザにドラッグ&ドロップすると表示できます) 図解の主なポイント: - (主要トピックを3〜5個) URLで共有したいとき: チャット欄で「この図解を公開して」と伝えてください。 ``` ## 守ること(禁止事項) - **React・shadcn/ui を使わない** — 静的な図解にJSフレームワークは不要。AIの出力を制限し、モデルによる品質差も限定的にしてしまう - **絵文字を使わない** — OS依存で表示が変わる。アイコンはLucide Iconsを使う - **インタラクティブ要素を入れない** — トグル、フェードイン、アニメーション、フォーム、クリックで開閉する要素は一切禁止 - **`