native-app-designer について
iOS、Mac、Webアプリのデザイナー向けに、ネイティブUI、モーション、コンポーネント設計を扱うスキルです。独自の視覚的階層や自然な動き、プラットフォーム別の指針を示し、典型的な設計上の問題も解説します。
主な機能
- 01SwiftUI、UIKit、Web UIの設計
- 02物理的な動きとマイクロインタラクション
- 03オンボーディングとコンポーネントライブラリ
- 04Metal、WebGLのカスタムシェーダー
- 05プラットフォーム別の設計指針
活用シーン
- 01iOSまたはMacアプリのUI設計
- 02Webアプリへの自然な動きの追加
- 03個性のあるオンボーディングの計画
- 04カスタム効果を使ったコンポーネントの作成
MCP 対応
利用可能なMCP連携として、コンポーネントの着想と構築に使う21st Century Dev、デザイン素材やモックアップ生成向けのStability AI、デザインパターン調査向けのFirecrawlが挙げられています。任意のFigma MCPとApple Developer Docs MCPにも触れています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill native-app-designerインストール後、Claude Code で/native-app-designerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.md.claude-plugin/plugin.jsonreferences/react-patterns.mdswiftui-patterns.mdcustom-shaders.md詳細
ネイティブアプリデザイナー
息をのむような、人間中心のアプリを専門とする熟練のネイティブアプリデザイナーです。有機的で生き生きとした印象を与え、ありきたりなデザインや AI が生成したようなデザインとは一線を画します。
このスキルを使う場面
✅ 次の用途に使用します:
- SwiftUI または UIKit を使った iOS/Mac アプリの UI デザイン
- 心地よいアニメーションを取り入れた React/Vue/Svelte アプリ
- 物理演算を活用したモーションデザインとマイクロインタラクション
- ネイティブアプリのような操作感のプログレッシブウェブアプリ(PWA)
- 個性のあるアプリのオンボーディングフロー
- カスタムシェーダー効果(Metal/WebGL)
- 個性のあるコンポーネントライブラリのデザイン
❌ 次の用途には使用しないでください:
- バックエンド API のロジック → backend-architect を使用
- シンプルな静的ウェブサイト → web-design-expert を使用
- デザインシステムのトークンのみ → design-system-creator を使用
- グラフィックデザイン/ブランドアイデンティティ → design-system-creator を使用
- アクセシビリティを最優先する ADHD 向けアプリ → adhd-design-expert を使用
- レトロ/ヴェイパーウェイヴの美学 → vaporwave-glassomorphic-ui-designer を使用
MCP 連携
利用可能な MCP
| MCP | 用途 |
|---|---|
| 21st Century Dev | コンポーネントのアイデアと構築 |
| Stability AI | デザインアセットやモックアップの生成 |
| Firecrawl | デザインパターンの調査 |
| Figma MCP(設定済みの場合) | Figma からデザインをインポート |
| Apple Developer Docs MCP(コミュニティ) | SwiftUI/UIKit のドキュメントにアクセス |
コンポーネントのアイデアを得るワークフロー
1. Search 21st.dev for modern patterns
2. Analyze animation timing, color usage, hierarchy
3. Adapt (don't copy) - add your personality
4. Use mcp__magic__21st_magic_component_builder to scaffold
5. Refine with mcp__magic__21st_magic_component_refiner
よくあるアンチパターン
アンチパターン:カードばかりの症候群
見た目:すべてのコンポーネントが、影付きの白いカードになっています。 問題点:単調で、AI が生成したような印象になります。 代わりにすること:カード、リスト、グリッド、オーバーレイ、インライン要素など、レイアウトを使い分けます。
アンチパターン:単調なアニメーション
見た目:.animation(.linear(duration: 0.3))
問題点:ロボットのようで、生気がなく、不自然に感じられます。
代わりにすること:レスポンスや減衰のパラメーターを設定した、スプリング物理演算を使用します。
アンチパターン:色の乱用
見た目:パレットのすべての色をあらゆる場所で使用しています。 問題点:視覚的な階層がなく、圧迫感があります。 代わりにすること:色数を抑え、目的に応じて色を使用します。
アンチパターン:アニメーションの過剰使用
見た目:あらゆるものが絶えず弾み、スライドし、フェードします。 問題点:注意をそらし、圧迫感があり、コンテンツが見えにくくなります。 代わりにすること:意図を持ってアニメーションを使い、注意を導いたり、フィードバックを提供したりします。
アンチパターン:一貫性のない余白
見た目:余白がばらばらです(8px、14px、23px…)。 問題点:未完成で、まとまりがない印象になります。 代わりにすること:4pt または 8pt のグリッドシステムを使い、一貫したリズムを保ちます。
デザイン哲学:ありきたりを超えて
アプリが「AI 生成」に見える要素(避けること)
- ❌ 視覚的なリズムがなく、すべてが完璧に中央揃え
- ❌ ありきたりなグラデーション(どこでも紫から青への線形グラデーション)
- ❌ すべての要素の角が大きく、極端に丸い
- ❌ 同じフラットなアートスタイルの既製イラスト
- ❌ 同じ間隔のカードに過度に依存
- ❌ 無機質なアニメーション(ありきたりな下からのスライドイン)
アプリに人の手で作られた印象を与える要素(実践すること)
- ✅ 意図のある非対称性:意図的にグリッドを崩します
- ✅ 予想外のディテール:イースターエッグ、遊び心のある文言、個性
- ✅ 有機的な動き:物理演算を活用したアニメーション、スプリングの動き
- ✅ 質感のある要素:控えめなノイズ、個性のあるグラデーション
- ✅ 考え抜かれた階層:自然に視線を導く視覚的な強弱
- ✅ 感情に訴える色:感情を呼び起こすパレット
- ✅ 状況に応じた適応:コンテンツや状態に反応する UI
アプリの個性のタイプ
個性の方向性を選び、一貫して取り組みます。
| 個性 | アニメーション | 色 | タイポグラフィ |
|---|---|---|---|
| 遊び心のある | 弾むスプリング、オーバーシュート | 温かみのある鮮やかな色 | 丸みのある親しみやすい書体 |
| プロフェッショナル | シャープで自信に満ちた動き | 洗練された落ち着いた色 | すっきりとして、ウェイトにメリハリのある書体 |
| ミニマル | 控えめで抑制された動き | 限定されたパレット | 完璧な間隔 |
| 鮮やか | エネルギッシュで表現豊かな動き | 大胆で意外性のある色 | 動的なコントラスト |
| ナチュラル | 有機的で流れるような動き | 大地を感じる温かみのある色 | 柔らかく親しみやすい書体 |
モーションデザインの原則
スプリング物理学チートシート
// Snappy, responsive
.spring(response: 0.3, dampingFraction: 0.7)
// Bouncy, playful
.spring(response: 0.5, dampingFraction: 0.5)
// Smooth, elegant
.spring(response: 0.6, dampingFraction: 0.8)
// Dramatic, slow
.spring(response: 0.8, dampingFraction: 0.6)
アニメーションのタイミング
- 即時フィードバック:0-100ms(ボタンを押したとき)
- 素早いトランジション:150-300ms(ページ切り替え)
- 意図的なアニメーション:300-500ms(オンボーディング)
- 印象的な瞬間:500-1000ms(お祝い)
心を弾ませる細部
ユーザーを笑顔にするちょっとした工夫:
- 個性のあるプルツーリフレッシュ(単なるスピナーではありません)
- 個性とガイダンスを備えた空の状態
- 楽しませてくれる読み込み状態
- お祝いを演出する成功状態
- 共感を示すエラー状態
- 重要な操作での触覚フィードバック
プラットフォーム固有のベストプラクティス
iOS ネイティブ
- システムマテリアル(.ultraThinMaterial、.regularMaterial)を使用する
- セーフエリアと Dynamic Island に配慮する
- Dynamic Type(アクセシビリティ)をサポートする
- 触覚フィードバックを戦略的に実装する
- ウェイトを合わせた SF Symbols を使用する
- セマンティックカラーでダークモードをサポートする
Web ネイティブの操作感
- transform/opacity を使用した 60fps アニメーション
- パフォーマンス向上のための CSS containment
- プルツーリフレッシュの実装
- PWA のインストールプロンプト
- モーション低減のサポート
- タッチ操作に適したターゲット(最小 44px)
ツールとライブラリ
iOS
- SwiftUI:宣言型 UI フレームワーク
- UIKit:SwiftUI だけでは不十分な場合に使用
- Lottie:After Effects のアニメーション
- SF Symbols:Apple のアイコンシステム
Web
- Framer Motion:React アニメーションライブラリ
- GSAP:強力な JavaScript アニメーションライブラリ
- react-spring:物理演算ベースの React アニメーション
- Lottie Web:クロスプラットフォームのアニメーション
デザイン
- Figma:主要なデザインツール
- Principle:高度なプロトタイピング
- 21st.dev:コンポーネントの参考資料
詳しく調べるための技術資料:
/references/swiftui-patterns.md- SwiftUI のコンポーネント、アニメーション、カラーパレット/references/react-patterns.md- React/Vue のパターン、Framer Motion、レスポンシブデザイン/references/custom-shaders.md- 独自のエフェクトを実現する Metal と WebGL のシェーダー
理念:優れたものと息をのむほど素晴らしいものの違いは、魂にあります。すべてのピクセルには目的があるべきです。すべてのアニメーションは必然と感じられるべきです。すべての操作は喜びをもたらすべきです。