Claude Code は、アプリ開発やフォームシステムだけでなく、Webサイトのフロントエンドコーディングにも十分活用できます。

ただし、何も準備なしに「このデザインをHTMLにしてください」と投げても、期待通りのコードが返ってくることはほぼない。独自のCSSシステムを使っている場合はなおさらだ。

この記事では、実際にページ(content_001.html / content_001.css)を Claude Code で実装した経験をベースに、「何をどう伝えれば、Claude Code が自走してくれるか」を体系化して紹介します。


    ディレクトリ構成

    Design System/
    ├─ .claude/
    │    ├─ CLAUDE.md                       # プロジェクト統括設定
    │    └─ skills/
    │         └─ layout-system/
    │              ├─ SKILL.md              # レイアウト選択スキル
    │              └─ patterns/             # レイアウトパターン
    │                   ├─ bleed.md
    │                   ├─ board.md
    │                   ├─ fluid.md
    │                   └─ ...
    ├─ CONTENT/
    │    ├─ img/
    │    ├─ content_001.css                # 既存CSSの確認
    │    ├─ content_001.html               # 既存HTMLの確認
    │    ├─ page-CONTENT.md                # 設計書(構成・カラー・テキスト・画像一覧)
    │    └─ CONTENT_XD.jpg                 # デザインカンプ
    └─ docs/
         ├─ utility-classes.md              # 使用可能なユーティリティクラス
         └─ component-classes.md            # 使用可能なコンポーネントクラス
    

    SKILL.md は .claude/skills/ 配下に置くこと。
    Claude Code はこのパスをスキルとして自動認識するため、「レイアウト」「Bleed」「Board」などのキーワードが出た瞬間に自動でロードされる。


    CLAUDE.md には何を書くか

    CLAUDE.md はセッション開始時に Claude Code が最初に読むファイルだ。ここに書くべきことは大きく4つ。

    1. 命名規則

    「どのクラス名をどこに使うか」が曖昧だと、Claude Code は毎回推測する。明示しておく。

    ## 命名規則
    
    ページクラス   : pg-{ページクラス(小文字)}
    識別コード     : {PascalCase}(section/dept クラス名・画像名に使用)
    
    セクション: sect-{識別コード}-{セクション名}
    画像      : {識別コード}-{セクション名}_{画像種}{連番}.{拡張子}
    
    画像種: pht(写真)/ bg(背景) / pic(それ以外の画像) / ttl(タイトル)/ txt(テキスト)
    

    2. 絶対ルール

    ## 絶対ルール
    
    - 画像は必ず遅延ロード(class="lazy" + data-src0="...")を使う
    - セクション固有CSSはセクションスコープ内に閉じる
    - 指示されたセクション以外のコードは変えない
    

    「触っていないファイルは変えない」は特に重要だ。指示していないセクションを「最適化」と称して書き換えられると、デバッグが困難になる。

    3. レイアウトシステムへの参照

    ## レイアウトシステム
    
    `.claude/skills/layout-system/SKILL.md` を参照。
    Tailwind / Bootstrap は使わない。
    

    4. lang属性などの意図的な非標準実装

    ## 意図的な非標準実装
    
    lang="ja-MP", lang="ja-GP" は非標準BCP47タグだが意図的。
    CSSの :lang() セレクタでフォントを切り替えるためのマーカー。
    「invalid BCP 47」の警告は無視してよい。
    

    知らないと Claude Code が「修正」しようとするものは、必ず事前に伝える。


    SKILL.md の設計

    SKILL.md はレイアウトパターンの「選択基準」と「実装詳細」の橋渡しをする。

    重要なのは使用判断フローです。

    画像を画面端まで広げたい?
      ├─ Yes → Bleed
      │         ↓
      │         その画像の上に要素を重ねたい?
      │           ├─ Yes → Bleed + Board 複合
      │           └─ No → Bleed のみ
      └─ No → ...
    

    このフローがあると、Claude Code は「このセクションには Bleed + Board を使うべき」と自律的に判断できる。なければ毎回こちらが指定する必要がある。

    実装詳細は patterns/ ディレクトリに分割して管理する。

    patterns/
    ├─ bleed.md   — float で全幅はみ出し
    ├─ board.md   — 絶対位置で自由配置
    ├─ fluid.md   — float で画像とテキスト
    ├─ shelf.md   — flex で横並び複数行
    └─ ...
    

    各ファイルにはクラス一覧・HTML構造・CSS・図解を書く。
    特に図解(ASCII アート)は Claude Code の理解精度を上げるのに効果的です。


    Step 1. デザインカンプを基に、設計書を作成

    レイアウト設計書ルール「layout-design-spec.md」から、設計書を作成してもらう

    Claude Codeにレイアウトを正確に再現させる「中間設計書」記法 デザインカンプとAIだけでコーディングさせると、横並びや表示順がうまく再現できない。そこで「カンプ→中間設計書→コーディング」の3段階に分け、人間もAIも読める独自のレイアウト記法を作りました。記号設計の試行錯誤と、設計書ルールの全体像を解説します。  続きを読む

    📍 レイアウト設計指示文のテンプレート

    # 新しいセッション開始
    claude --enable-auto-mode
    
    プロジェクト名:my_site.jp
    ページ:my_site.jp/content
    Task X.X: CONTENTページ レイアウト設計書の作成 を開始します。
    
    --------
    
    **Task X.X.1: Explore(探索・理解)**
    以下のドキュメントを読んで、実装内容を深く理解してください:
    
    - @CLAUDE.md                      # プロジェクト統括設定(最初に読む)
    - @CONTENT/page-CONTENT.md        # 設計書(構成・カラー・テキスト・画像一覧)
    - @CONTENT/CONTENT_XD_sp.pdf      # デザインカンプ(モバイル)
    - @CONTENT/CONTENT_XD_pc.pdf      # デザインカンプ(PC)
    - @CONTENT/content_001.css        # 既存CSSの確認
    - @CONTENT/content_001.html       # 既存HTMLの確認
    - @CONTENT/img                    # 画像フォルダ
    - @.claude/skills/layout-system/SKILL.md  # レイアウト選択(使用判断フローを確認)
    - @docs/utility-classes.md                # 使用可能なユーティリティクラス
    - @docs/component-classes.md              # 使用可能なコンポーネントクラス
    - @docs/layout-design-spec.md             # レイアウト設計書ルール
    
    **重要**: この段階ではコードは書かないでください。
    完了後、Task X.X.2 に進んでください。
    
    --------
    
    **Task X.X.2: Plan(計画)**
    設計前に以下を確認・整理してください:
    
    - `page-CONTENT.md` のセクション定義から、セクション名・識別コードを確認する
    - SP/PC のレイアウト差異を整理する
    - SKILL.md の「使用判断フロー」で使用するレイアウトパターンを決定する
    - 使用するパターンの詳細を `@.claude/skills/layout-system/patterns/{パターン名}.md` で確認する
    - 画像ファイル名を `page-CONTENT.md` の命名規則に従って確定する
    
    以下の形式で実装計画をまとめてください:
    
    ```
    セクション:sect-{識別コード}-{セクション名}
    レイアウト:{パターン名}(理由:{選択理由})
    SP:{SP時のレイアウト概要}
    PC:{PC時のレイアウト概要}
    使用画像:
      - {識別コード}-{セクション名}_pht1.jpg
      - {識別コード}-{セクション名}_ttl2.svg
      - ...
    ```
    
    完了後、Task X.X.3 に進んでください。
    
    --------
    
    **Task X.X.3: Code(実装)**
    
    layout-design-spec.md(レイアウト設計書ルール)に従って、
    
    - レイアウト設計書 `page-CONTENT.md`
    
    を作成(更新)してください。
    
    **共通ルール**
    - レイアウトは `SKILL.md` と `patterns/` を参照すること
    - クラス命名は既存ファイルの規則に従うこと(`pg-{ページクラス(小文字)}` / `sect-{識別コード}-{セクション名}`)
    - セクション固有のCSSはセクションスコープ(`.sect-{識別コード}-{セクション名}`)に閉じること
    
    完了後、Task X.X.4 に進んでください。
    
    --------
    
    **Task X.X.4: Record(記録)**
    
    実装完了後、以下を記録してください:
    
    **開発日誌**:
    - /devlog Task X.X: CONTENTページ レイアウト設計書の作成  # Slash Command
    
    - 実装内容・変更点 → `logs/CHANGELOG.md`
    - 発生したエラー・解決策 → `logs/ERRORLOG.md`
    - 新しいパターン・知見 → `logs/PATTERNS.md`
    
    **Self-Improvement**:
    ユーザーから修正・指摘を受けた場合は、必ず以下を記録してください:
    - 同じミスを繰り返さないためのルールを `logs/PATTERNS.md` に追記
    - CLAUDE.md への追記が必要な場合は提案する
    
    「Task X.X: CONTENTページ レイアウト設計書の作成 → ✅完了」と報告してください。
    
    開始してください。
    
    

    Step 2. テキスト照合・チェックフェイズ

    ページ全体のテキストを、デザインカンプ(.jpg)と照合する。修正点があれば、修正する。

    📍 チェックフェイズのテンプレート

    # 新しいセッション開始
    claude --enable-auto-mode
    
    プロジェクト名:my_site.jp
    ページ:my_site.jp/content
    **Task X.X: CONTENTページ テキスト照合・チェックフェイズ を開始します。**
    
    --------
    
    **Task X.X.1: テキスト照合**
    
    以下を読み込んで、テキストを照合してください:
    
    - @CONTENT/page-CONTENT.md       # 設計書(照合元)
    - @CONTENT/CONTENT_XD_pc.jpg     # デザインカンプ(照合先)
    
    **確認項目**
    - [ ] 設計書のテキストとカンプの文言が一致しているか(誤字・脱字・省略がないか)
    - [ ] テキストが `〔省略〕` `...` 等で省略されていないか(省略箇所はカンプから全文拾う)
    - [ ] 画像 alt テキストがカンプの内容と一致しているか
    
    修正があれば `page-CONTENT.md` を直接更新してください。
    
    --------
    
    **Task X.X.2: 未確定事項の確認**
    
    `page-CONTENT.md` の `未確定事項・要確認` のチェックボックスを確認してください。
    
    - 解消できるものはカンプを見て解消し、設計書を更新する
    - 判断できないものは残し、コメントを追記する
    
    --------
    
    **Task X.X.3: 記録**
    
    - 修正箇所・解消した未確定事項 → `logs/CHANGELOG.md`
    
    「Task X.X: CONTENTページ テキスト照合・チェックフェイズ → ✅完了」と報告してください。
    
    開始してください。
    
    

    Step 3. 設計書を基に、コーディング

    設計書を確認・修正、設計書からコーディングしてもらう

    📍 コーディング指示文のテンプレート

    # 新しいセッション開始
    claude --enable-auto-mode
    
    プロジェクト名:my_site.jp
    ページ:my_site.jp/content
    Task X.X: CONTENTページのコーディング を開始します。
    
    --------
    
    **Task X.X.1: Explore(探索・理解)**
    以下のドキュメントを読んで、実装内容を深く理解してください:
    
    - @CLAUDE.md                              # プロジェクト統括設定(最初に読む)
    - @CONTENT/page-CONTENT.md                # 設計書(構成・カラー・テキスト・画像一覧)
    - @CONTENT/CONTENT_XD_sp.jpg              # デザインカンプ(モバイル)
    - @CONTENT/CONTENT_XD_pc.jpg              # デザインカンプ(PC)
    - @CONTENT/content_001.css                # 既存CSSの確認
    - @CONTENT/content_001.html               # 既存HTMLの確認
    - @CONTENT/img                            # 画像フォルダ
    - @.claude/skills/layout-system/SKILL.md  # レイアウト選択(使用判断フローを確認)
    - @docs/utility-classes.md                # 使用可能なユーティリティクラス
    - @docs/component-classes.md              # 使用可能なコンポーネントクラス
    - @docs/layout-design-spec.md             # レイアウト設計書ルール
    
    **重要**: この段階ではコードは書かないでください。
    完了後、Task X.X.2 に進んでください。
    
    --------
    
    **Task X.X.2: Plan(計画)**
    実装前に以下を確認・整理してください:
    
    - `page-CONTENT.md` のセクション定義から、セクション名・識別コードを確認する
    - SP/PC のレイアウト差異を整理する
    - SKILL.md の「使用判断フロー」で使用するレイアウトパターンを決定する
    - 使用するパターンの詳細を `@.claude/skills/layout-system/patterns/{パターン名}.md` で確認する
    - 画像ファイル名を `page-CONTENT.md` の命名規則に従って確定する
    
    以下の形式で実装計画をまとめてください:
    
    ```
    セクション:sect-{識別コード}-{セクション名}
    レイアウト:{パターン名}(理由:{選択理由})
    SP:{SP時のレイアウト概要}
    PC:{PC時のレイアウト概要}
    使用画像:
      - {識別コード}-{セクション名}_pht1.jpg
      - {識別コード}-{セクション名}_ttl2.svg
      - ...
    ```
    
    完了後、Task X.X.3 に進んでください。
    
    --------
    
    **Task X.X.3: Code(実装)**
    
    以下のルールに従って、HTMLとCSSを実装:
    
    - @CONTENT/content_002.css  
    - @CONTENT/content_002.html
    
    を作成してください。
    
    **共通ルール**
    - レイアウトは `SKILL.md` と `patterns/` を参照すること
    - クラス命名は既存ファイルの規則に従うこと(`pg-{ページクラス(小文字)}` / `sect-{識別コード}-{セクション名}`)
    - 画像はすべて lazy load(`class="lazy"` + `data-src0="..."`)を使うこと
    - Tailwind / Bootstrap は使わないこと
    - セクション固有のCSSはセクションスコープ(`.sect-{識別コード}-{セクション名}`)に閉じること
    - 触っていないセクションのコードは変えないこと
    
    **CSSの記述順序**
    ```css
    /* .section
    -------------------------------------- */
    .pg-{ページクラス(小文字)} .sect-{識別コード}-{セクション名} {
      /* padding: 上  横  下 */
      padding: calc(var(--⅝fem) * 2) 0px calc(var(--⅝fem) * 2);
    }
    
    /* SP */
    @media screen and (max-width: 743.9px) { ... }
    
    /* PC */
    @media print, screen and (min-width: 744px) { ... }
    ```
    
    **セクション基本HTML**
    ```html
    
    
      
        
      
    
    ```
    
    実装を始める前に、より良いコーディングのために必要な情報があれば質問してください。
    
    --------
    
    **Task X.X.4: Record(記録)**
    
    実装完了後、以下を記録してください:
    
    **開発日誌**:
    - /devlog Task X.X: CONTENTページのコーディング  # Slash Command
    
    - 実装内容・変更点 → `logs/CHANGELOG.md`
    - 発生したエラー・解決策 → `logs/ERRORLOG.md`
    - 新しいパターン・知見 → `logs/PATTERNS.md`
    
    **Self-Improvement**:
    ユーザーから修正・指摘を受けた場合は、必ず以下を記録してください:
    - 同じミスを繰り返さないためのルールを `logs/PATTERNS.md` に追記
    - CLAUDE.md への追記が必要な場合は提案する
    
    「Task X.X: CONTENTページのコーディング → ✅完了」と報告してください。
    
    開始してください。
    
    

    Task 2(Plan)を独立させることが最も重要。「まず計画を言語化させる」ステップを挟むことで、Claude Code が どのパターンを選ぶべきかどうかを自分で整理できます。


    Step 4. コーディング後にレビュー・振り返り

    レビュー・振り返りを行なって、次回のためにアップデートする

    📍 レビュー・振り返り文のテンプレート

    # 新しいセッション開始
    claude --enable-auto-mode
    
    プロジェクト名:my_site.jp
    ページ:my_site.jp/content
    Task X.X: CONTENTページのレビュー・振り返り を開始します。
    
    --------
    
    **Task X.X.1: Explore(探索・理解)**
    以下のドキュメントを読んで、実装内容を深く理解してください:
    
    - @CLAUDE.md                              # プロジェクト統括設定(最初に読む)
    - @CONTENT/content_002_修正前.css         # 修正前のCSS
    - @CONTENT/content_002_修正前.html        # 修正前のHTML
    - @CONTENT/SS-content_002_修正前_sp.png   # 修正前のスクリーンショット(SP)
    - @CONTENT/SS-content_002_修正前_pc.png   # 修正前のスクリーンショット(PC)
    - @CONTENT/content_003_修正後.css         # 修正後のCSS
    - @CONTENT/content_003_修正後.html        # 修正後のHTML
    - @CONTENT/SS-content_003_修正後_sp.png   # 修正後のスクリーンショット(SP)
    - @CONTENT/SS-content_003_修正後_pc.png   # 修正後のスクリーンショット(PC)
    - @CONTENT/page-CONTENT_レビュー・修正点.md    # レビュー・修正点
    
    次回より良いコーディングをするために必要な情報があれば質問してください。  
    
    --------
    
    **Task X.X.2: Plan(計画)**
    以下のドキュメントを確認し、アップデートする計画を立ててください:
    
    - @.claude/skills/layout-system/SKILL.md  # レイアウト選択
    - @docs/utility-classes.md                # 使用可能なユーティリティクラス
    - @docs/component-classes.md              # 使用可能なコンポーネントクラス
    - @docs/layout-design-spec.md             # レイアウト設計書ルール
    
    完了後、Task X.X.3 に進んでください。
    
    --------
    
    **Task X.X.3: Code(実装)**
    
    Task X.X.2の計画に従って、
    アップデートが必要なドキュメントをアップデートしてください。
    
    完了後、Task X.X.4 に進んでください。
    
    --------
    
    **Task X.X.4: Record(記録)**
    
    実装完了後、以下を記録してください:
    
    **開発日誌**:
    - /devlog Task X.X: CONTENTページのレビュー・振り返り  # Slash Command
    
    - 実装内容・変更点 → `logs/CHANGELOG.md`
    - 発生したエラー・解決策 → `logs/ERRORLOG.md`
    - 新しいパターン・知見 → `logs/PATTERNS.md`
    
    **Self-Improvement**:
    ユーザーから修正・指摘を受けた場合は、必ず以下を記録してください:
    - 同じミスを繰り返さないためのルールを `logs/PATTERNS.md` に追記
    - CLAUDE.md への追記が必要な場合は提案する
    
    「Task X.X: CONTENTページのレビュー・振り返り → ✅完了」と報告してください。
    
    開始してください。
    
    

    まとめ

    Claude Code にWebサイトのコーディングを任せるには、「Claude Code が知らないことを事前に教える」ことに尽きる。

    • 命名規則が曖昧 → 毎回推測する → ミスが増える
    • レイアウトパターンが未定義 → 汎用的な実装になる → 修正が増える
    • SP/PC差異の設計がない → どちらかが崩れる

    ドキュメントへの投資は1回すれば使い回せる。最初は手間がかかるが、2ページ目・3ページ目から一気に楽になります。


    関連記事

    IllustratorのデザインカンプからCSSを抽出する方法 IllustratorのCSSプロパティパネルを使ってCSSを書き出す手順を解説。グラデーションや角丸の抽出に実用的な反面、ドロップシャドウや点線は取れないなど、コーダー目線での正直な評価をまとめました。  続きを読む