Communitygithub.com

hifebriansyah/mockup-html

Web またはアプリ画面を動作する HTML/CSS モックアップとして、ロゴ・アイコン・イラストを SVG としてデザインし、サンドボックス化されたプレビューパネル(スマホ・タブレット・デスクトップ幅、ライト・ダーク・チェッカー背景)に描画します。ユーザーがモックアップ、ワイヤーフレーム、プロトタイプ、ランディングページ、画面レイアウト、ロゴ、アイコン、SVG を求めたときに使用します。

mockup-html とは?

このスキルは、チャット画面上で直接 HTML モックアップや SVG としてデザインを描画するための強力なツールです。ユーザーが「モックアップ」「ワイヤーフレーム」「ロゴ」などを依頼した際に、`<mockup>` タグ内に完全な HTML 文書または SVG を記述することで、チャット横のプレビューパネルに即座に表示されます。 主に Claude Code、Cursor、Codex などの AI エージェントが、あらゆる UI デザインのリクエストに応えるために使用します。プレビューはサンドボックス化された実際のブラウザフレームで動作し、JavaScript(CDN ライブラリ含む)、CSS、フォント、埋め込み動画、`fetch`、`localStorage` などをフルサポートします。 このスキルの価値は、「描けない」「表示できない」と答えるのではなく、実際に動作するコードを提供できる点にあります。モバイルファースト、トークン駆動のスタイリング、アクセシビリティ、リアルなコンテンツ、そしてすべてのボタンやトグルが実際に動作する完全なページを生成します。1 つのレスポンスに 1 つのモックアップを、`<mockup>` タグ内に配置し、コードはチャットにペーストせず、自然言語でデザインの要点を説明します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hifebriansyah/pro/tree/HEAD/skills/mockup-html

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

モックアップのデザイン(HTML)またはロゴのデザイン(SVG)

ユーザーが画面、ページ、ロゴ、アイコンを見たいと言ったときに使用してください。説明文を読ませるのではありません。

あなたがチャットしているページが、それをユーザーのために描画します。 <mockup> タグ内に書かれた HTML と SVG は、チャット横のプレビューパネルに表示されます。そのため、「レンダリングできません」「表示できません」とは決して答えず、タグの中にコードを書いてください。ただし、あなた自身は結果を見ることができないので、そのことを伝え、何を確認すべきかを伝えてください。

提供方法

  1. 通常のチャットの口調で、1~3 文の短い返信をします。モックアップが何を示しているか、最も重要なデザイン上の決定事項を 2~3 つ、そして何を確認すべきかを伝えてください。コードをチャットにペーストしないでください。
  2. モックアップ全体を、短いタイトルとともに 1 組のタグ内に収めてください。

1 つの返信につき 1 つのモックアップ(1 画面、または 1 ページ全体)。タグの中には HTML だけを入れてください。タグをコードブロックの中に入れないでください。ページは右側に「プレビュー」タブと「コード」タブを表示します。

ユーザーが文章(PRD、メモなど)も同時に要求した場合は、同じ返信内に <document> を <mockup> の隣に配置できます。モックアップのリクエストに対しては、返信には <mockup> が含まれ、ドキュメントだけが含まれることはありません。

ロゴ、アイコン、イラスト(SVG)

<mockup> タグの中に <svg> 1 つだけを配置します。ページはそれを中央に描画し、ライト、ダーク、チェッカー背景の切り替えスイッチを提供します。ユーザーはコードをコピーするか、.svg ファイルとしてダウンロードできます。

  • <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 W H"> で始めてください(ロゴやアイコンには 0 0 200 200 のような正方形)。path、circle、rect などのフラットな図形で描画します。グラデーションは linearGradient、切り抜きは mask または形状を使用します。テキストはワードマークにのみ使用し、システムフォントスタックを使用するか、図形として描画する方が適切です。
  • スクリプトや外部参照(ファイルやアドレスへの href)は使用しないでください。インラインの図形、グラデーション、data: 画像のみに留めてください。
  • あなたは自分で描いた SVG を見ることができないため、頭の中でジオメトリを確認し、確認した内容を伝えてください。半径やストローク幅が重なったり隙間ができないか、ライト/ダーク背景に対するコントラスト、16 ピクセルや 32 ピクセルでも判読できるか(細いストロークは消えます)、1 つのアイデアと 2~3 色に抑えているか、などです。
  • ユーザーが SVG コードをペーストした場合、ページはすでにそのプレビューを表示しています。コードからデザインをレビューし(ジオメトリ、コントラスト、小さなサイズ、無駄な形状など)、修正版を提案してください。
  • デザインに必要なだけ詳細を追加してください。長さの制限はありません。

プレビューの仕様(ページはサンドボックス内で実行します)

あなたが構築したものはすべて実行されます。 プレビューは実際のブラウザフレームです。画像ではなく、動作するページ を書いてください。

  • JavaScript(インラインの <script>、onclick などのハンドラ)、バージョンを固定した CDN のライブラリ(例: <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>: three.js、Chart.js、Alpine、GSAP、Leaflet など。ライブラリはそれを使用するスクリプトの前に配置)、アドレス指定による Web フォントとスタイルシート(Google Fonts)、アドレス指定による 画像、公開 API への fetch、埋め込みフレーム(YouTube、マップ)、フォーム、ポップアップ、ダイアログ、ダウンロード、全画面表示、WebGL、キャンバス。
  • localStorage と sessionStorage は動作します。 モックアップが localStorage に保存したものは、そのモックアップに対してユーザーのブラウザに保持されるため、ToDo リストやテーマの保存はリロード後も持続します。
  • 利用できないもの: Cookie、IndexedDB、カメラ、マイク、位置情報、および周囲のチャットページにアクセスするもの(フレームはチャットページから分離されています)。独自のサーバーが必要なページ(ログイン、データベースなど)は、サンプルデータのみを表示できます。
  • ロゴやアイコン(<svg> 単体)はスクリプトなしで描画されます。

良いモックアップを構築する方法

  • モバイルファースト。 390px 幅のスマートフォン向けにデザインし、1 つまたは 2 つの @media (min-width: 768px) ルールで拡大します。max-width コンテナと <meta name="viewport" content="width=device-width, initial-scale=1"> を使用してください。
  • トークンファースト。 <style> を :root 変数(primary、surface、text、muted、border、radius、spacing)で始め、それらのみを使用してください。1 つのプライマリカラー、ニュートラルグレー、4 / 8 / 12 / 16 / 24px のスペーシングスケール、14 / 16 / 20 / 28 のようなタイプスケール、font-family: system-ui, sans-serif。
  • セマンティックでアクセシブル。 header、nav、main、section、button、label と input。表示ラベル、44px 以上のタッチターゲット、4.5:1 以上のテキストコントラスト、可視フォーカススタイル。
  • 信頼できるコンテンツ。 ユーザーの言語で実際の単語、実際の名前、価格、日付を使用してください。Lorem ipsum、「ボタン」、「ここにタイトル」などは使用しないでください。
  • 重要な状態。 ハッピーパス以外に最も重要な状態を表示してください。エラーメッセージ付きのフォーム、空のリスト、ローディングスケルトンなど。
  • 画像。 CSS グラデーションブロックまたはシンプルなインライン SVG を使用してください。アバターはイニシャル入りの円で。
  • サイズ制限なし。完全でリッチにしてください。 ウェブサイトやアプリ画面の場合、HTML と CSS を合わせて少なくとも 250 行(8,000 文字をはるかに超える)を目標にしてください。また、ページが必要とする場合はさらに多くしてください。ユーザーが要求したページ全体を構築してください。スケッチではありません。そのページが持つすべてのセクション(ウェブサイトの場合: ナビゲーション付きヘッダー、ヒーロー、CSS で表現できる範囲で動作するメイン機能、複数のコンテンツセクション、フッター)、各リストにいくつかの現実的なアイテム、洗練されたスタイリング(スペーシング、色、ホバー状態とフォーカス状態、レスポンシブルール)を備えてください。「lengkap」「complete」「full」、またはウェブサイトやアプリ全体の名前を含むリクエストは、数行ではなく完全なページを意味します。省略、要約、または「...」を使用してスペースを節約しないでください。回答が途中で切れた場合は、最後の文字から続けるように求められます。最初に <style> を書き、続け、決して最初からやり直さず、</html> と </mockup> で終了してください。
  • 実際に動作するコントロール。 ユーザーが要求したすべてのボタン、トグル、セレクト、タブを、短いインラインスクリプト(または、よりシンプルな場合は :has() を使用した非表示チェックボックスなどの CSS)で配線してください。テーマトグルは色を反転し、スイッチボタンは 2 つの選択肢を入れ替え、時計は選択されたタイムゾーンの実際の時刻を表示します。何もしないコントロールを表示しないでください。
  • 言語。 チャットの返信とページ上のすべてのテキストは、ユーザーの最新メッセージの言語で記述してください。
  • ページを完成させること。 HTML は完全でなければなりません。<!doctype html> で始まり、すべてのタグが閉じられ、</html> で終了します。最初に <style> を書き、短く保つことで、本文全体のためのスペースを確保してください。

関連スキル