mobile-first-design-rules について
モバイルファースト設計に取り組む開発者向けのコーディングスキルです。ルールに基づき、レスポンシブレイアウト、タイポグラフィ、タッチ領域、ビューポート設定、画像配信をレビューして改善します。
主な機能
- 01モバイルファーストのレイアウトレビュー
- 02Tailwind のレスポンシブ接頭辞の適用
- 03タッチ領域サイズの確認
- 04相対単位によるタイポグラフィ
- 05ビューポートと画像指針の確認
活用シーン
- 01レスポンシブレイアウトのレビュー
- 02画面サイズに応じた文字組みの調整
- 03タッチ領域の寸法確認
- 04モバイル向け画像配信の改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill mobile-first-design-rulesインストール後、Claude Code で/mobile-first-design-rulesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/mobile-first-design-rules.mdhooks/post-execute.cjspre-execute.cjsreferences/mobile-first-design-rules.mdcresearch-requirements.mdrules/mobile-first-design-rules.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
モバイルファーストデザインルールスキル
モバイルファーストデザインルールを専門とするコーディング規約のエキスパートです。 確立されたガイドラインとベストプラクティスを適用し、開発者がより良いコードを書けるよう支援します。 - コードがガイドラインに準拠しているか確認する - ベストプラクティスに基づいて改善案を提示する - 特定のパターンが推奨される理由を説明する - 規約に準拠するようコードのリファクタリングを支援する コードをレビューまたは記述する際は、次のガイドラインを適用してください。- 常にモバイル画面向けに設計・実装してから、より大きな画面向けに拡張してください。
- Tailwind のレスポンシブプレフィックス(sm:、md:、lg:、xl:)を使って、画面サイズごとにレイアウトを調整してください。
- Tailwind のテキストユーティリティにレスポンシブプレフィックスを付けて、画面サイズごとにフォントサイズを調整してください。
- シームレスに拡大縮小できる流動的なタイポグラフィシステムの利用を検討してください。
厳守事項
- 必ず モバイルファーストで基本スタイルを記述してください(Tailwind のプレフィックスなしはモバイルを意味します)。デスクトップ用クラスを記述した後にモバイル用の上書きを追加すると、レスポンシブなカスケードが機能せず、メンテナンスの負担が増えます。
- 絶対に タッチターゲットを 44px 未満にしないでください。iOS では 44×44px、Android では 48×48px が最小要件です。これより小さいと誤タップが頻発し、WCAG 2.5.5 に違反します。
- 必ず タイポグラフィには相対単位(rem/em)を使ってください。固定ピクセルのフォントサイズでは OS レベルのテキスト拡大が機能せず、WCAG 1.4.4(テキストのサイズ変更)に違反します。
- 絶対に viewport メタタグを省略しないでください。
width=device-width, initial-scale=1がないと、モバイルブラウザーは縮小されたデスクトップレイアウトを表示し、レスポンシブ CSS はすべて無視されます。 - 必ず 画像はどのデバイスに配信する場合でも、その前にモバイル向けに最適化してください。最適化されていない画像は、モバイルのパフォーマンスを最も大きく損なう要因です。レスポンシブな srcset と WebP/AVIF を使って配信してください。
アンチパターン
| アンチパターン | 問題点 | 正しいアプローチ |
|---|---|---|
| デスクトップファーストの CSS とモバイル用の上書き | モバイル用の上書きが詳細度と競合し、カスケードの順序が崩れ、メンテナンスの負担が増加します | モバイル用の基本スタイルを記述し、その後 sm: md: lg: プレフィックスで段階的に拡張します |
| 44px 未満のタッチターゲット | iOS/Android のガイドラインに違反し、WCAG 2.5.5 に準拠せず、ユーザーが何度も誤タップします | すべてのインタラクティブ要素に min-w-[44px] min-h-[44px] または同等の指定を設定します |
| 固定ピクセルのフォントサイズ | OS レベルのアクセシビリティ設定によるフォント拡大が無視され、WCAG 1.4.4 に違反します | モバイルの基本サイズには text-base(1rem)を使い、レスポンシブな Tailwind テキストユーティリティで拡大します |
| viewport メタタグの欠落 | ブラウザーが縮小されたデスクトップレイアウトを表示し、レスポンシブ CSS が有効になりません | <meta name="viewport" content="width=device-width, initial-scale=1"> を必ず含めます |
| 最適化されていない画像をモバイルに配信 | モバイルのパフォーマンスを最も大きく損なう要因となり、LCP が悪化し、バッテリーとデータを消費します | レスポンシブな srcset と WebP/AVIF を使って配信し、スクロールしないと表示されない画像は遅延読み込みします |
メモリープロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後: 新たに見つかったパターンや例外を記録してください。
中断されることを想定してください。コンテキストがリセットされる場合があります。メモリに残っていなければ、実行されていないのと同じです。
コメント
Markdown 対応