mcpField
M
mobile-design

mobile-design

github.com/aiskillstoreデザイン・UI44662 回インストール今日更新
リポジトリ

mobile-design について

Mobile Design System は、モバイルアプリの設計・開発向けのスキルです。実現可能性の評価、プラットフォーム別の指針、性能とセキュリティの確認により、デスクトップ前提をモバイルに持ち込むリスクを抑えます。

主な機能

  1. 01モバイル機能の実現可能性とリスク評価
  2. 02設計前のプラットフォーム・技術制約の確認
  3. 03タッチ操作とアクセシビリティの指針
  4. 04性能、バッテリー、オフラインの考慮
  5. 05セキュリティとリリース準備の確認

活用シーン

  1. 01モバイル機能の実装リスクを評価
  2. 02iOS、Android、クロスプラットフォームの設計を計画
  3. 03タッチ操作、アクセシビリティ、各 OS の規約を確認
  4. 04リリース前に性能、オフライン動作、セキュリティを点検

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aiskillstore/marketplace --skill mobile-design

インストール後、Claude Code で/mobile-designを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

decision-trees.md
mobile-backend.md
mobile-color-system.md
mobile-debugging.md
mobile-design-thinking.md
mobile-navigation.md
mobile-performance.md
mobile-testing.md
mobile-typography.md
platform-android.md
platform-ios.md
skill-report.json
touch-psychology.md
scripts/
mobile_audit.py

詳細

モバイルデザインシステム

(モバイルファースト · タッチファースト · プラットフォーム尊重)

哲学: タッチファースト。バッテリーに配慮。プラットフォームを尊重。オフライン対応。 核心原則: モバイルは小さなデスクトップではない。 運用ルール: まず制約を考え、美しさは二の次に。

このスキルは、モバイルアプリケーションを設計・構築する際にデスクトップ的な思考、AI のデフォルト、安全でない前提を防ぐために存在します。


1. モバイル実現可能性・リスク指数 (MFRI)

あらゆるモバイル機能や画面を設計または実装する前に、実現可能性を評価してください。

MFRI の評価軸 (1〜5)
評価軸問い
プラットフォームの明確さ対象プラットフォーム (iOS / Android / 両方) は明示的に定義されていますか?
インタラクションの複雑さジェスチャー、フロー、ナビゲーションはどれほど複雑ですか?
パフォーマンスリスクリスト、アニメーション、重い状態、メディアを含みますか?
オフライン依存ネットワークがないとこの機能は壊れたり劣化したりしますか?
アクセシビリティリスク運動、視覚、認知のアクセシビリティに影響しますか?
スコア計算式
MFRI = (Platform Clarity + Accessibility Readiness)
       − (Interaction Complexity + Performance Risk + Offline Dependence)

範囲: -10 → +10

解釈
MFRI意味必要な対応
6〜10安全通常どおり進める
3〜5中程度パフォーマンス + UX の検証を追加する
0〜2リスクありインタラクションまたはアーキテクチャを簡素化する
< 0危険実装前に再設計する

2. 作業前に必須の思考

⛔ STOP: 前提を置く前に質問する (必須)

以下のいずれかが明示されていない場合、進める前に必ず質問しなければなりません:

項目問い理由
プラットフォームiOS、Android、それとも両方?ナビゲーション、ジェスチャー、タイポグラフィに影響
フレームワークReact Native、Flutter、それともネイティブ?パフォーマンスとパターンを決定する
ナビゲーションタブ、スタック、ドロワー?中核となる UX アーキテクチャ
オフラインオフラインで動作する必要がありますか?データと同期の戦略
デバイススマートフォンのみ、タブレットも?レイアウトと密度のルール
対象ユーザーコンシューマー、エンタープライズ、アクセシビリティ要件?タッチと可読性

🚫 好みのスタックやパターンをデフォルトにしないでください。


3. 必須の参照文献 (強制)

共通 (常に最初に読む)
ファイル目的ステータス
mobile-design-thinking.md丸暗記の防止、コンテキストの強制🔴 最初に必須
touch-psychology.mdフィッツの法則、親指ゾーン、ジェスチャー🔴 必須
mobile-performance.md60fps、メモリ、バッテリー🔴 必須
mobile-backend.mdオフライン同期、プッシュ、API🔴 必須
mobile-testing.mdデバイス & E2E テスト🔴 必須
mobile-debugging.mdネイティブ vs JS のデバッグ🔴 必須
プラットフォーム固有 (条件付き)
プラットフォームファイル
iOSplatform-ios.md
Androidplatform-android.md
クロスプラットフォーム上記の両方

❌ プラットフォームのファイルを読んでいない場合、UI を設計する資格はありません。


4. AI モバイルアンチパターン (厳格な禁止事項)

🚫 パフォーマンス上の罪(譲歩不可)
❌ 決してしないこと理由✅ 常にすること
長いリストに ScrollViewメモリ爆発FlatList / FlashList / ListView.builder
インラインの renderItemすべての行が再レンダリングuseCallback + memo
キーにインデックスを使用並べ替えのバグ安定した ID
JS スレッドのアニメーションカクつきネイティブドライバー / GPU
本番環境での console.logJS スレッドのブロックログの除去
メモ化なしバッテリーとパフォーマンスの消耗React.memo / const ウィジェット

🚫 タッチと UX の罪
❌ 決してしないこと理由✅ 常にすること
タッチ領域 <44–48pxタップの失敗最小タッチターゲット
ジェスチャーのみの操作ユーザーを排除ボタンのフォールバック
ローディング状態なし壊れているように感じる明示的なフィードバック
エラーからの復帰なし行き止まり再試行 + メッセージ
プラットフォームの慣習を無視筋肉記憶が壊れるiOS ≠ Android

🚫 セキュリティ上の罪
❌ 決してしないこと理由✅ 常にすること
AsyncStorage にトークン簡単に盗まれるSecureStore / Keychain
ハードコードされたシークレットリバースエンジニアリングされる環境変数 + 安全なストレージ
SSL ピンニングなしMITM リスク証明書ピンニング
機密データのログ出力個人情報の漏洩シークレットを決してログに残さない

5. プラットフォームの統一と分岐のマトリックス

UNIFY                          DIVERGE
──────────────────────────     ─────────────────────────
Business logic                Navigation behavior
Data models                    Gestures
API contracts                  Icons
Validation                     Typography
Error semantics                Pickers / dialogs
プラットフォームのデフォルト
要素iOSAndroid
フォントSF ProRoboto
最小タッチ44pt48dp
戻るエッジスワイプシステムの戻る
シートボトムシートダイアログ / シート
アイコンSF SymbolsMaterial Icons

6. モバイル UX 心理学(任意ではない)

フィッツの法則(タッチの現実)
  • 指 ≠ カーソル
  • 精度は低い
  • 正確さよりも到達性が重要

ルール:

  • 主要な CTA は親指ゾーンに配置する
  • 破壊的な操作は遠ざける
  • ホバーを前提としない

7. パフォーマンスの原則

React Native(必須パターン)
const Row = React.memo(({ item }) => (
  <View><Text>{item.title}</Text></View>
));

const renderItem = useCallback(
  ({ item }) => <Row item={item} />,
  []
);

<FlatList
  data={items}
  renderItem={renderItem}
  keyExtractor={(i) => i.id}
  getItemLayout={(_, i) => ({
    length: ITEM_HEIGHT,
    offset: ITEM_HEIGHT * i,
    index: i,
  })}
/>
Flutter(必須パターン)
class Item extends StatelessWidget {
  const Item({super.key});

  @override
  Widget build(BuildContext context) {
    return const Text('Static');
  }
}
  • 可能な限りすべてに const を使用する
  • 対象を絞った再ビルドのみ

8. 必須のモバイルチェックポイント

コードを書く前に、必ずこれを完了する必要があります:

🧠 MOBILE CHECKPOINT

Platform:     ___________
Framework:    ___________
Files Read:   ___________

3 Principles I Will Apply:
1.
2.
3.

Anti-Patterns I Will Avoid:
1.
2.

❌ 完了できない → 戻って読み直してください。


9. フレームワークの決定木(正規)

Need OTA + web team → React Native + Expo
High-perf UI → Flutter
iOS only → SwiftUI
Android only → Compose

正当な根拠なく議論しないこと。


10. リリース準備チェックリスト

出荷前
  • タッチターゲット ≥ 44–48px
  • オフライン対応済み
  • 安全なストレージを使用
  • リストを最適化済み
  • ログを除去済み
  • 低スペック端末でテスト済み
  • アクセシビリティラベルあり
  • MFRI ≥ 3

11. 関連スキル

  • frontend-design – ビジュアルシステムとコンポーネント
  • frontend-dev-guidelines – RN/TS アーキテクチャ
  • backend-dev-guidelines – モバイルセーフな API
  • error-tracking – クラッシュとパフォーマンスのテレメトリー

最終法則: モバイルユーザーは気が散り、中断され、せっかちです—しばしば片手で、悪いネットワークと少ないバッテリーの中で操作しています。 その現実に合わせて設計しなければ、あなたのアプリは静かに失敗します。


使用するタイミング

このスキルは、概要に記載されたワークフローまたはアクションを実行する場合に適用できます。

制限事項

  • タスクが上記の範囲に明確に一致する場合にのみ、このスキルを使用してください。
  • 出力を環境固有の検証、テスト、または専門家によるレビューの代替として扱わないでください。
  • 必要な入力、権限、安全境界、または成功基準が欠けている場合は、停止して確認を求めてください。

コメント