Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

mobile-toolchain移动工具链

Agent Skill

mobile-toolchain 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

606

周安装

25

GitHub Stars

8

下载量

198
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:mobile-toolchain(移动工具链)
来源仓库:https://github.com/phrazzld/claude-config
仓库路径:skills/mobile-toolchain
安装命令:
npx skills add https://github.com/phrazzld/claude-config --skill mobile-toolchain
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/phrazzld/claude-config --skill mobile-toolchain

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合围绕仓库状态、代码变更或协作事项进行整理。

  • 适用于代码审查、协作流程管理和仓库状态跟踪等开发协作场景。
  • 通过 GitHub 仓库安装,使用 npx skills add 命令添加技能,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围和维护状态,注意可能触发联网、命令执行或文件读写操作。
  • mobile-toolchain 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Mobile Toolchain

Modern cross-platform mobile development with TypeScript, focusing on React Native ecosystem and emerging alternatives.

Recommended Stack: Expo (Default)

Why Expo (2025):

  • Fastest setup to production (minutes, not days)
  • Managed workflow (no Xcode/Android Studio for most use cases)
  • OTA updates (deploy fixes without app store approval)
  • EAS Build (cloud builds for iOS/Android)
  • Excellent DX with hot reload and debugging
  • Large ecosystem of quality libraries
# Create new Expo app
npx create-expo-app my-app --template

# Start development
cd my-app
npm run ios     # iOS simulator
npm run android # Android emulator
npm run web     # Web (bonus!)

When to Use Expo

✅ MVPs and startups (fastest time-to-market) ✅ Standard mobile features (camera, GPS, notifications) ✅ Teams without native development experience ✅ Projects needing OTA updates ✅ Cross-platform web+mobile

Expo Limitations

⚠️ Can't use arbitrary native modules (must use Expo SDK or create custom dev client) ⚠️ Reliant on Expo services for builds (EAS) ⚠️ Slightly larger app bundles than pure native

Alternative: React Native (Bare Workflow)

When to use:

  • Need custom native modules not in Expo SDK
  • Require deep platform-specific customization
  • Have native development expertise in-house
  • Very large apps where bundle size critical
# Create React Native app
npx @react-native-community/cli init MyApp --template react-native-template-typescript

# Requires Xcode (Mac) and Android Studio setup

React Native Setup Requirements

  • iOS: Xcode 16+, CocoaPods, macOS only
  • Android: Android Studio, Java JDK, Android SDK

Emerging: Tauri for Mobile

Experimental (2025) - Very lightweight alternative:

  • Uses OS WebView (extremely small bundles)
  • Rust backend (security + performance)
  • Web technologies for UI (React, Vue, Svelte, etc.)
  • Still maturing for mobile (Tauri 2.0+)
# Create Tauri mobile app
npm create tauri-app@latest

When to Consider Tauri

✅ Extremely small app size critical (<5MB) ✅ Team has Rust expertise ✅ Web-first app with mobile version ⚠️ Smaller ecosystem than React Native ⚠️ Less battle-tested on mobile

Toolchain Comparison

ExpoReact NativeTauri Mobile
Setup TimeMinutesHoursHours
Native AccessExpo SDKFullWebView APIs
Bundle Size~50MB~40MB~3-5MB
OTA UpdatesBuilt-inManualLimited
EcosystemLargeLargestGrowing
Learning CurveLowMediumHigh (Rust)
Native Skills RequiredNoneSomeSome

Project Structure (Expo)

my-app/
├── app/                  # App Router (file-based routing)
│   ├── (tabs)/          # Tab navigator
│   │   ├── index.tsx    # Home screen
│   │   └── settings.tsx # Settings screen
│   ├── _layout.tsx      # Root layout
│   └── +not-found.tsx   # 404 screen
├── components/          # Reusable components
├── hooks/              # Custom hooks
├── constants/          # Colors, sizes, etc.
├── assets/             # Images, fonts
├── app.json            # Expo configuration
└── package.json

Essential Libraries

# Navigation (built-in with Expo Router)
# Already included

# State Management
npm install zustand

# Forms
npm install react-hook-form zod

# API Calls
npm install @tanstack/react-query

# Icons
npm install @expo/vector-icons

# Styling
npm install nativewind  # Tailwind for React Native
npx expo install tailwindcss

Testing Strategy

# Unit Testing
npm install --save-dev jest @testing-library/react-native

# E2E Testing
npm install --save-dev detox

Jest configuration:

// jest.config.js
module.exports = {
  preset: 'jest-expo',
  transformIgnorePatterns: [
    'node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|react-native-svg)'
  ],
}

Quality Gates Integration

# .github/workflows/mobile-ci.yml
name: Mobile CI

on: [pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm run lint
      - run: npm run typecheck
      - run: npm test

  build-ios:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci
      - run: npx expo prebuild --platform ios
      - run: npx expo run:ios --configuration Release

  build-android:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci
      - run: npx expo prebuild --platform android
      - run: npx expo run:android --variant release

EAS Build & Deploy

# Install EAS CLI
npm install -g eas-cli

# Login to Expo
eas login

# Configure project
eas build:configure

# Build for both platforms
eas build --platform all

# Submit to app stores
eas submit --platform ios
eas submit --platform android

eas.json:

{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal",
      "android": { "buildType": "apk" }
    },
    "production": {
      "distribution": "store"
    }
  }
}

Monorepo Integration

Use monorepo when mobile must share code with web (design system, types, API clients, business logic). Prefer single repo over copy-paste.

Setup + migration:

  • For greenfield monorepo setup, use /monorepo-scaffold
  • For existing app migration, use /mobile-migrate
  • See /mobile-migrate skill for complete migration workflow

Key monorepo considerations:

  • Metro needs workspace visibility:

- Configure metro.config.js watchFolders to include repo root and shared packages - Ensure Metro resolves workspace symlinks (Expo docs patterns)

  • Workspace references must be explicit:

- Use package manager workspaces (workspace:* or equivalent) - Avoid relative ../shared imports between apps

  • Standard shared packages layout:

- packages/shared for types, utils, API clients - packages/ui for cross-platform components/tokens - Keep mobile-only modules out of shared packages

  • TypeScript must agree with bundler:

- Add path aliases for shared packages in root tsconfig - Mirror aliases in Babel/Metro resolver settings - Export stable entrypoints from shared packages

OTA Updates

# Publish update (no app store review needed for JS/assets)
eas update --branch production --message "Fix login bug"

# Users get update on next app launch

Performance Best Practices

  • Use React.memo() for expensive components
  • Implement FlatList with getItemLayout for known sizes
  • Avoid inline functions in render
  • Use Hermes JS engine (default in Expo 50+)
  • Lazy load screens with React.lazy() + Suspense
  • Optimize images with expo-image

Native Module Integration

// Using Expo Modules API
import * as Camera from 'expo-camera'
import * as Location from 'expo-location'
import * as Notifications from 'expo-notifications'

// Request permissions
const { status } = await Camera.requestCameraPermissionsAsync()
const location = await Location.getCurrentPositionAsync()
await Notifications.scheduleNotificationAsync({
  content: { title: 'Hello!' },
  trigger: { seconds: 60 },
})

Recommendation Flow

New mobile project:
├─ Standard features, fast launch → Expo ✅
├─ Need custom native code → React Native (bare)
└─ Tiny bundle size critical → Tauri (experimental)

Existing React Native project:
└─ Consider migrating to Expo (easier than you think!)

When agents design mobile apps, they should:

  • Default to Expo for new projects (fastest, best DX)
  • Use Expo Router for navigation (file-based routing)
  • Apply quality-gates skill for testing/CI setup
  • Use React Native Paper or NativeBase for UI components
  • Integrate structured-logging skill for error tracking
  • Plan OTA update strategy from the start
  • Support both iOS and Android unless explicitly single-platform

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude

32.74%
按下载量换算65

Codex

32.35%
按下载量换算64

Cursor

17.68%
按下载量换算35

Gemini CLI

8.97%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills