Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

senior-mobile

シニア向けのモバイルデバイスやサービスを指します。高齢者が使いやすいよう大きな文字、シンプルなインターフェース、基本的な機能に特化した設計が特徴です。通話、メール、緊急連絡など日常生活に必要な機能を備えており、複雑な操作を最小限に抑えています。

description の原文を見る

senior-mobile

SKILL.md 本文

シニアモバイルデベロッパー

iOS、Android、React Native、Flutter にわたるエキスパートレベルのモバイルアプリケーション開発。

キーワード

mobile, ios, android, react-native, flutter, swift, kotlin, swiftui, jetpack-compose, expo-router, zustand, app-store, performance, offline-first


クイックスタート

# React Native プロジェクトをスカフォード
python scripts/mobile_scaffold.py --platform react-native --name MyApp

# 本番環境向けにビルド
python scripts/build.py --platform ios --env production

# App Store メタデータを生成
python scripts/store_metadata.py --screenshots ./screenshots

# レンダリング性能をプロファイリング
python scripts/profile.py --platform android --output report.html

ツール

スクリプト目的
scripts/mobile_scaffold.pyreact-native、ios、android、flutter 用のプロジェクトをスカフォード
scripts/build.py環境およびプラットフォームフラグを備えたビルド自動化
scripts/store_metadata.pyApp Store / Play Store リスティングメタデータを生成
scripts/profile.pyレンダリング、メモリ、起動性能をプロファイリング

プラットフォーム選定マトリックス

項目ネイティブiOSネイティブAndroidReact NativeFlutter
言語SwiftKotlinTypeScriptDart
UI フレームワークSwiftUI/UIKitCompose/XMLReactWidgets
性能最高最高良好非常に良好
コード共有率なしなし約80%約95%
最適な用途iOS のみ、ハードウェア負荷が高いAndroid のみ、ハードウェア負荷が高いWeb チーム、共有ロジック最大のコード共有

ワークフロー1: React Native アプリをスカフォード(Expo Router)

  1. プロジェクトを生成 -- python scripts/mobile_scaffold.py --platform react-native --name MyApp
  2. ディレクトリ構造が以下のレイアウトと一致することを確認:
    src/
    ├── app/              # Expo Router ファイルベースルート
    │   ├── (tabs)/       # タブナビゲーショングループ
    │   ├── auth/         # 認証画面
    │   └── _layout.tsx   # ルートレイアウト
    ├── components/
    │   ├── ui/           # 再利用可能なプリミティブ(Button、Input、Card)
    │   └── features/     # ドメインコンポーネント(ProductCard、UserAvatar)
    ├── hooks/            # カスタムフック(useAuth、useApi)
    ├── services/         # API クライアントとストレージ
    ├── stores/           # Zustand ステートストア
    └── utils/            # ヘルパー関数
    
  3. ナビゲーションを設定 -- app/_layout.tsx で Stack と Tabs を構成。
  4. ステート管理をセットアップ -- Zustand + AsyncStorage 永続化を使用。
  5. 検証 -- iOS シミュレータと Android エミュレータの両方でアプリを実行。ナビゲーションとステート永続化が機能することを確認。

ワークフロー2: SwiftUI フィーチャーを構築(iOS)

  1. View を作成 -- NavigationStack、ViewModel バインディング用の @StateObject、非同期データ読み込み用の .task を使用。
  2. ViewModel を作成 -- @MainActor class として、@Published プロパティを持つ。テスト性のためプロトコル経由でサービスを注入。
  3. データフローを接続: View が ViewModel を観察 -> ViewModel がサービスを呼び出し -> サービスがデータを返す -> ViewModel が @Published を更新 -> View が再レンダリング。
  4. 検索/リフレッシュを追加 -- フィルタリング用に .searchable(text:)、プルトゥリフレッシュ用に .refreshable
  5. 検証 -- まず Xcode プレビューで実行、その後シミュレータで実行。非同期読み込み、エラー状態、空状態がすべて正しくレンダリングされることを確認。

例: SwiftUI ViewModel パターン

@MainActor
class ProductListViewModel: ObservableObject {
    @Published private(set) var products: [Product] = []
    @Published private(set) var isLoading = false
    @Published private(set) var error: Error?

    private let service: ProductServiceProtocol

    init(service: ProductServiceProtocol = ProductService()) {
        self.service = service
    }

    func loadProducts() async {
        isLoading = true
        error = nil
        do {
            products = try await service.fetchProducts()
        } catch {
            self.error = error
        }
        isLoading = false
    }
}

ワークフロー3: Jetpack Compose フィーチャーを構築(Android)

  1. Composable 画面を作成 -- ScaffoldTopAppBarcollectAsStateWithLifecycle() によるステート収集を使用。
  2. UI ステートを処理 -- sealed interface で処理: LoadingSuccess<T>Error
  3. ViewModel を作成 -- @HiltViewModelMutableStateFlow、リポジトリ注入を使用。
  4. リスト UI を構築 -- LazyColumn を使用、安定した識別用に key パラメータ、スペーシング用に Arrangement.spacedBy()
  5. 検証 -- エミュレータで実行。ステート遷移(loading -> success、loading -> error -> retry)が正しく機能することを確認。

例: Compose UiState パターン

sealed interface UiState<out T> {
    data object Loading : UiState<Nothing>
    data class Success<T>(val data: T) : UiState<T>
    data class Error(val message: String) : UiState<Nothing>
}

@HiltViewModel
class ProductListViewModel @Inject constructor(
    private val repository: ProductRepository
) : ViewModel() {
    private val _uiState = MutableStateFlow<UiState<List<Product>>>(UiState.Loading)
    val uiState: StateFlow<UiState<List<Product>>> = _uiState.asStateFlow()

    fun loadProducts() {
        viewModelScope.launch {
            _uiState.value = UiState.Loading
            repository.getProducts()
                .catch { e -> _uiState.value = UiState.Error(e.message ?: "Unknown error") }
                .collect { products -> _uiState.value = UiState.Success(products) }
        }
    }
}

ワークフロー4: モバイル性能を最適化

  1. プロファイリング -- python scripts/profile.py --platform <ios|android> --output report.html
  2. React Native の最適化を適用:
    • FlatListkeyExtractorinitialNumToRender=10windowSize=5removeClippedSubviews=true を使用
    • React.memo でコンポーネント、useCallback でハンドラをメモ化
    • 固定高さの行に getItemLayout を提供して測定をスキップ
  3. ネイティブ iOS の最適化を適用:
    • コレクションビューでの画像プリロード用に prefetchItemsAt を実装
  4. ネイティブ Android の最適化を適用:
    • RecyclerView で setHasFixedSize(true)setItemViewCacheSize(20) を設定
  5. 検証 -- プロファイラを再実行、フレーム低下が削減され起動時間が改善されたことを確認。

ワークフロー5: App Store / Play Store に提出

  1. メタデータを生成 -- python scripts/store_metadata.py --screenshots ./screenshots
  2. リリースをビルド -- python scripts/build.py --platform ios --env production
  3. 生成されたリスティングをレビュー -- タイトル、説明、キーワード、スクリーンショット。
  4. アップロード -- Xcode(iOS)または Play Console(Android)経由。
  5. 検証 -- レビューステータスを監視、拒否フィードバックに対応。

リファレンスマテリアル

ドキュメントパス
React Native ガイドreferences/react_native_guide.md
iOS パターンreferences/ios_patterns.md
Android パターンreferences/android_patterns.md
App Store ガイドreferences/app_store_guide.md
完全なコード例REFERENCE.md

トラブルシューティング

問題原因解決策
新しい依存関係を追加後にアプリがロード時にクラッシュ互換性のないネイティブモジュールバージョンまたは pod install / gradle sync の漏れnpx pod-install(iOS)または cd android && ./gradlew clean(Android)を実行。依存関係バージョンの互換性をチェンジログで確認。
FlatList が空白またはちらつきを表示keyExtractor がない、キーが不安定、またはインラインの renderItem で完全な再レンダリングが発生安定した keyExtractor を追加、renderItemuseCallback でラップ、固定高さの行に getItemLayout を提供。
iOS ビルドが「署名」エラーで失敗プロビジョニングプロファイルの不一致または期限切れの証明書Xcode > Signing & Capabilities を開き、正しいチームとプロファイルを選択。security find-identity -v -p codesigning を実行して証明書を確認。
Android ビルド中の dex 作成時に OOM 発生大規模プロジェクトの JVM ヒープ不足gradle.propertiesorg.gradle.jvmargs=-Xmx4096m を追加。build.gradledexOptions { javaMaxHeapSize "4g" } を有効化。
プライバシーマニフェスト漏れで App Store から拒否Apple が必要理由 API(UserDefaults、ファイルタイムスタンプなど)を使用するアプリに対して PrivacyInfo.xcprivacy を要求PrivacyInfo.xcprivacy ファイルを追加して各必要理由 API を宣言。store_metadata_generator.py を実行してプライバシーラベルガイダンスを確認。
起動時間が遅い(3秒以上)起動時にメインスレッドで同期操作が多すぎる、バンドルサイズが大きい、または画像が最適化されていない非要件の初期化を遅延、モジュールを遅延読み込み、画像を圧縮、app_performance_analyzer.py でボトルネックを特定。
ホットリロード / Fast Refresh が機能しなくなったモジュール境界内の構文エラー、無名デフォルトエクスポート、またはクラスコンポーネントステートターミナルでエラーメッセージを確認、名前付きエクスポートを確認、Metro バンドラーまたは Flutter デーモンをキャッシュクリアして再起動。

成功基準

  • アプリ起動時間が 2 秒以下 でのコールドスタート(中程度のデバイスで測定、iOS と Android 両方)。
  • すべてのサポート対象 OS バージョンで 99.5% 以上のクラッシュフリー率 -- Crashlytics または Sentry で追跡。
  • スクロールリストとアニメーションで 60 fps でのフレームレンダリング(フレームあたり 16ms)、典型的なユーザーフロー中のジャンクフレームゼロ。
  • 初期ダウンロードで 50 MB 以下のバンドルサイズ(オンデマンドリソース除外)、各リリース前に検証。
  • app_performance_analyzer.py 実行時に 75 以上のパフォーマンス解析スコア(Grade B 以上)。
  • ストアに提出前にパフォーマンス解析で重大問題ゼロ、警告が 5 件未満
  • App Store / Play Store が初回提出で承認 -- 完全なメタデータ、正しいプライバシーラベル、適切な年齢レーティング、store_metadata_generator.py で検証。

スコープと制限事項

このスキルでカバーする範囲:

  • React Native(Expo Router)、Flutter、iOS ネイティブ(SwiftUI)、Android ネイティブ(Jetpack Compose)向けの本番対応モバイルプロジェクトのスカフォーディング。
  • 画像アセットサイジング、再レンダリング検出、メモリリークパターン、バンドルサイズ推定を含む静的パフォーマンス解析。
  • タイトル、キーワード、プライバシーラベル、年齢レーティング、提出チェックリストを含む App Store および Play Store メタデータ生成。
  • プラットフォーム固有のアーキテクチャパターン(MVVM、ステート管理、ナビゲーション)。

このスキルでカバーしない範囲:

  • バックエンド API 開発またはサーバー側ロジック(senior-backend および senior-fullstack スキルを参照)。
  • モバイルビルドの CI/CD パイプライン構成と自動配布(senior-devops および release-orchestrator スキルを参照)。
  • UI/UX デザインシステム、アクセシビリティ監査、デザイントークン管理(senior-frontend および design-auditor スキルを参照)。
  • ネイティブツールでのランタイムプロファイリング(Xcode Instruments、Android Studio Profiler) -- アナライザーは静的コード解析のみを実行、ライブデバイスプロファイリングは非対応。

統合ポイント

スキル統合データフロー
senior-frontend共有コンポーネントパターン、スタイリング規約、React Native Web ターゲットのレスポンシブデザイン原則フロントエンドデザイントークンとコンポーネント API がモバイル UI コンポーネントに流れ込む
senior-backendAPI コントラクト定義、認証フロー、モバイルクライアントが消費するデータモデルバックエンド OpenAPI スペックがモバイルサービスレイヤーのインターフェースを定義
senior-devopsビルドパイプライン、コード署名自動化、モバイルリリースのデプロイメントワークフローモバイルビルド成果物が TestFlight / Play Console 配布用 CI/CD パイプラインに流れ込む
senior-qaテスト戦略の調整、デバイスマトリックスカバレッジ、モバイル画面の E2E テストパターンQA テスト計画がデバイスカバレッジを駆動;モバイルスカフォードにテストディレクトリ構造を含む
senior-securityセキュアストレージパターン(Keychain/Keystore)、証明書ピンニング、モバイルアプリのデータ暗号化セキュリティ要件が Keychain ヘルパー実装とネットワーククライアント構成に通知
release-orchestratorバージョンバンプ、チェンジログ生成、iOS と Android 間の調整リリースオーケストレータからのリリースメタデータとバージョン情報がストア提出ワークフローに流れ込む

ツールリファレンス

mobile_scaffold.py

目的: 適切なディレクトリ構造、ナビゲーションセットアップ、ステート管理、基本構成ファイルを備えた本番対応モバイルプロジェクトをスカフォード。

使用法:

python scripts/mobile_scaffold.py <name> --platform <platform> [options]

パラメータ:

パラメータタイプ必須デフォルト説明
name位置引数はい--プロジェクト名、ディレクトリ名として使用
--platform, -p選択肢はい--ターゲットプラットフォーム: android-nativeflutterios-nativereact-native
--typescript, -tフラグいいえFalse(react-native で自動有効化)TypeScript を使用(React Native のみ)
--state, -s文字列いいえnoneステート管理ライブラリ。React Native: zustandreduxjotainone。Flutter: riverpodblocprovidernone。ネイティブプラットフォームには適用不可。
--output-dir, -oパスいいえ.(現在のディレクトリ)生成されたプロジェクトの親ディレクトリ
--jsonフラグいいえFalse人間が読める概要ではなく JSON として結果を出力

例:

# Zustand ステート管理を備えた React Native アプリをスカフォード
python scripts/mobile_scaffold.py MyApp --platform react-native --state zustand

# Riverpod を備えた Flutter アプリをスカフォード、JSON として出力
python scripts/mobile_scaffold.py my-flutter-app --platform flutter --state riverpod --json

# 特定のディレクトリに iOS ネイティブアプリをスカフォード
python scripts/mobile_scaffold.py HealthTracker --platform ios-native --output-dir ~/Projects

出力形式:

  • 人間が読める形式(デフォルト): プロジェクト名、プラットフォーム、ステート管理の選択、作成されたディレクトリパス、生成されたすべてのファイルのリストを出力。
  • JSON(--json): project_nameplatformtypescriptstate_managementoutput_directoryfiles_createdgenerated_at フィールドを含む JSON オブジェクトを返す。

store_metadata_generator.py

目的: App Store(iOS)および Google Play Store(Android)提出用の構造化メタデータを生成 -- タイトルバリエーション、キーワード、カテゴリ推奨事項、プライバシーラベル、年齢レーティングガイダンス、提出チェックリストを含む。

使用法:

python scripts/store_metadata_generator.py --app-name <name> --category <category> --features <features> [options]

パラメータ:

パラメータタイプ必須デフォルト説明
--app-name文字列はい--ストアリスティング用のアプリ名
--category選択肢はい--プライマリアプリカテゴリ。選択肢: businesseducationentertainmentfinancefoodgameshealthlifestylemusicnavigationnewsphotoproductivityshoppingsocialsportstravelutilitiesweather
--features文字列はい--カンマ区切りのフィーチャーリスト(例: "offline,sync,biometric")。認識されたフィーチャーはキーワードに展開され、プライバシー/年齢レーティングガイダンスをトリガー。
--description文字列いいえ""生成されたストアコピーで使用される短いアプリ説明
--jsonフラグいいえFalse結果を JSON として出力

例:

# ヘルスケアアプリ用メタデータを生成
python scripts/store_metadata_generator.py --app-name "FitTrack" --category health --features "workout,tracking,social" --description "Track your workouts"

# CI 統合用 JSON 出力
python scripts/store_metadata_generator.py --app-name "BudgetPal" --category finance --features "payment,offline,biometric,push" --json

出力形式:

  • 人間が読める形式(デフォルト): Title Variants、Keywords(iOS 100 文字フィールド付き)、Store Categories、Privacy Labels / Data Safety、Age Rating Guidance、Submission Checklist セクションを含む形式化されたレポート。
  • JSON(--json): titleskeywordscategoriesdescriptionsprivacy_labelsage_ratingscreenshot_specssubmission_checklist を含む完全なメタデータオブジェクト。

app_performance_analyzer.py

目的: モバイルプロジェクトディレクトリを解析して一般的なパフォーマンス問題を検出 -- 過度なサイズの画像アセット、再レンダリングパターン、メモリリークパターン、バンドルサイズ推定、プラットフォーム固有のアンチパターンを含む。

使用法:

python scripts/app_performance_analyzer.py <project_dir> [options]

パラメータ:

パラメータタイプ必須デフォルト説明
project_dir位置引数はい--解析対象のモバイルプロジェクトディレクトリパス
--platform, -p選択肢いいえ自動検出ターゲットプラットフォーム: react-nativeflutterios-nativeandroid-native。省略時はプロジェクトファイルから自動検出。
--jsonフラグいいえFalse結果を JSON として出力

例:

# 自動検出されたプラットフォームで解析
python scripts/app_performance_analyzer.py ./my-app

# React Native プロジェクトを明示的に解析
python scripts/app_performance_analyzer.py ./my-app --platform react-native

# CI パイプライン統合用 JSON 出力
python scripts/app_performance_analyzer.py ./my-app --platform flutter --json

出力形式:

  • 人間が読める形式(デフォルト): パフォーマンススコア(0-100 と文字グレード)、問題概要(critical/warning/info カウント)、バンドルサイズ推定、カテゴリ別グループ化された詳細問題、プラットフォーム固有推奨事項。
  • JSON(--json): performance_scoresummarybundle_estimate(ソースコードサイズ、アセットサイズ、ファイルカウント)、issues_by_category を含む完全なレポートオブジェクト、および issue ごとに categoryseverityfilelinemessage を含むフラット issues 配列。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
borghei
リポジトリ
borghei/claude-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/borghei/claude-skills / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: borghei · borghei/claude-skills · ライセンス: MIT