macos-design について
macOS アプリを開発する人向けのデザインスキルです。ネイティブなレイアウトや操作、ビジュアル設計に加え、Web とネイティブフレームワークでの実装方法を案内します。
主な機能
- 01ネイティブなレイアウトと操作の指針
- 02ライト・ダークモード設計
- 03キーボードショートカットと検索の指針
- 04Web アーティファクトのスタイル設定
- 05ネイティブフレームワークでの実装指針
活用シーン
- 01macOS アプリの画面設計
- 02キーボード中心の操作設計
- 03Web 版 macOS UI のスタイル設計
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill macos-designインストール後、Claude Code で/macos-designを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/interaction-patterns.mdlayout-and-composition.mdvisual-design.md詳細
macOS ネイティブアプリのデザインスキル
ウィンドウに押し込んだウェブサイトではなく、ユーザーのコンピューターに自然になじむインターフェイスを構築します。
基本理念
ネイティブアプリは、ユーザーが訪れる場所ではありません。ユーザーが必要とする場所に存在するシステムツールです。あらゆる操作をこの原則に沿って設計します。必要なときに現れ、用が済んだらすぐに邪魔にならないようにします。
コーディングを始める前に
構築するものに応じて、次のリファレンスを確認します。
- すべての macOS アプリ →
references/layout-and-composition.mdを読む(必須) - キーボードショートカット、パネル、トースト、ポップオーバーを備えたアプリ →
references/interaction-patterns.mdを読む - ライト/ダークモード、カラー、タイポグラフィ →
references/visual-design.mdを読む
クイックスタートチェックリスト
コードを書く前の確認に使用します。
- レイアウト:グローバル操作にはトップバー、ナビゲーションにはサイドバー(ナビゲーションが最小限の場合は省略)、コンテンツには中央領域を使います
- 信号機ボタン:UI に統合します。トップバーまたはサイドバーに配置し、不自然に浮かせません
- ウィンドウのドラッグ領域:上部約 50px はドラッグ可能にし、雑然とさせません
- 空の状態:表示します。段階的開示を取り入れ、役立つ場合にのみ UI を表示します
- キーボードショートカット:主要なアクションすべてにショートカットを用意します。ショートカットには必ず視覚的なフィードバックを付けます
- ライトモードとダークモード:両方をデザインします。色をそのまま反転させないでください(visual-design リファレンスを参照)
- 検索:常に目立つ位置に配置し、アクセスしやすくします。フローティング検索バーやコマンドパレットを検討します
- ドラッグ&ドロップ:アプリへのコンテンツの取り込みと、アプリからのコンテンツの取り出しの両方に対応します。ネイティブらしい操作感のために必須です
- マイクロアニメーション:状態が変わるたびにトランジションを付けます。フィードバックのない操作はありません
- オンボーディング:簡潔なモーダル形式にし、読むのではなく操作を通じてショートカットを学べるようにします
実装メモ
ウェブアーティファクト(React/HTML)として構築する場合:
- macOS のウィンドウの外観(タイトルバー、信号機ボタン、角丸)を再現します
-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text"のフォントスタックを使用します- ネイティブのビブランシー/半透明効果には
backdrop-filter: blur()を使用します - 角丸:ウィンドウは 10px、カードは 8px、ボタンは 6px、入力欄は 4px にします
- 自動的なライト/ダークモードの切り替えには
prefers-color-schemeメディアクエリを尊重します - シャドウは控えめに重ね、強いドロップシャドウを単独で使わないようにします
Electron、Tauri、またはネイティブフレームワークで構築する場合:
- 可能な場合はシステムのタイトルバーと統合します
- システムのアクセントカラーと外観設定を尊重します
- ポリフィルではなく、ネイティブのドラッグ&ドロップ API を使用します
コメント
Markdown 対応