Expo Mobile App Skill
Скилл для Claude Code создает мобильные приложения на Expo: онбординг, платная подписка, реклама AdMob, аналитика и локализация.
- 114 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Скилл создает код приложения с платежами, рекламой и аналитикой, и ключи сервисов подставляет пользователь.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/expo-mobile-app-skillОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скилл создает код приложения с платежами, рекламой и аналитикой, и ключи сервисов подставляет пользователь.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл задает порядок работы над приложением на Expo React Native: обязательные экраны онбординга, пейволла и настроек и поток от онбординга к пейволлу и к основному приложению. Монетизация собирается из StoreKit 2 через expo-iap с недельной и годовой подписками и разовой покупкой, RevenueCat в режиме наблюдателя для записей покупок и атрибуции Apple Ads, а также баннеров AdMob с согласием UMP и ATT. В набор входят аналитика PostHog с типизированными событиями и флагами функций, мультиязычность с RTL для турецкого, английского и арабского, онбординг с видеофоном, запрос оценки в важные моменты и тема со светлым, темным и системным режимами. Из правил: не использовать AsyncStorage и lineHeight, навигацию строить на NativeTabs. Для необязательных частей есть фоновые задачи, виджеты и Live Activities.
Для кого. Мобильным разработчикам и соло-основателям, которые делают приложения на Expo с подписками и рекламой и хотят единый шаблон решений.
Подходит, если
- Нужно создать приложение-напоминание о воде с онбордингом и пейволлом.
- Подписки с пробным периодом и покупкой навсегда надо собрать через StoreKit 2.
- Перед релизом нужен баннер AdMob с согласием GDPR и запросом ATT.
- Интерфейс переводится на несколько языков, включая арабский с RTL.
Не подходит, если
- Приложение нативное, на Swift или Kotlin.
- Монетизация не нужна: скилл требует пейволл и рекламу.
- Разработка идет под Android без App Store: часть правил про StoreKit тогда лишняя.
Пример запроса к агенту
/zafer-skills Создай приложение-напоминание о воде с онбордингом, пейволлом и экраном настроек.Ограничения
Скилл жестко задает стек и правила: Expo SDK 57, React Native 0.86, StoreKit 2, RevenueCat и AdMob, поэтому отступать от него приходится вручную. Часть решений, например пейволл, соответствует правилу 3.1.2 App Store и требует свежей проверки перед релизом. В тексте предупреждается, что это файл скилла, а не проект: в его папке нельзя ставить зависимости или создавать код. Лицензия MIT указана в README, а файла LICENSE в репозитории нет.
Как отключить. Удалите скилл zafer-skills из каталога скиллов агента командой удаления того же инструмента npx skills или удалите папку вручную.
Частые вопросы
Как установить скилл?
Выполните `npx skills add zaferayan/skills`.
Как вызвать скилл?
Введите `/zafer-skills` и опишите приложение, например напоминание о воде. Скилл сам настроит структуру проекта и подключит покупки.
Какие экраны скилл считает обязательными?
Онбординг, пейволл и настройки, а поток идет от онбординга к пейволлу и к основному приложению.
Какие запреты есть в правилах?
Не использовать `AsyncStorage` и `lineHeight`, навигацию строить только на `NativeTabs`.
Какие языки поддерживаются?
Многоязычность с RTL для турецкого, английского и арабского.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыОфициальные скиллы Expo для агентов: сборка, деплой, обновление и отладка приложений на Expo и EAS
Два скилла для сборки мобильных экранов уровня топовых приложений: разбор чужих экранов через Appllama MCP и строгая планка нативной верстки на Expo и React Nat
Скилл Эвана Бэкона учит агента добавлять в Expo-приложение виджеты, App Clip, расширения Safari и другие нативные цели Apple
Анимации, жесты, ИИ на устройстве, аудио и потоковое видео: 10 скиллов Software Mansion подсказывают агенту приемы React Native.
Скилл Claude Code, который проектирует и собирает онбординг-опросник для приложения по схемам подписочных сервисов
Скилл учит агента писать код на @appeeky/expo-healthkit: один API для Apple HealthKit и Android Health Connect в Expo.
Коротко о README
Репозиторий состоит из SKILL.md и README. В README перечислены возможности, стек и порядок использования. Скилл предназначен для Claude Code и создает приложение по шагам: структура, покупки, реклама, аналитика, онбординг и настройки.
Бейдж для README
Исходный SKILL.md
---
name: zafer-skills
description: Expo React Native mobile app development with StoreKit 2 subscriptions (expo-iap) plus RevenueCat observer mode, AdMob ads with UMP/ATT consent, PostHog analytics, i18n with RTL, onboarding flow, paywall, and NativeTabs navigation
---
# Expo Mobile Application Development Guide
> **IMPORTANT**: This is a SKILL file, NOT a project. NEVER run npm/bun install in this folder. NEVER create code files here. When creating a new project, ALWAYS ask the user for the project path first or create it in a separate directory (e.g., `~/Projects/app-name`).
This guide is created to provide context when working with Expo projects using Claude Code.
## MANDATORY REQUIREMENTS
When creating a new Expo project, you MUST include ALL of the following:
### Required Screens (ALWAYS CREATE)
- [ ] `src/app/onboarding.tsx` - Swipe-based onboarding with fullscreen background video and gradient overlay
- [ ] `src/app/notification-permission.tsx` - Pre-permission screen that explains notifications before the system prompt (add `location-permission.tsx` too if the app uses location)
- [ ] `src/app/paywall.tsx` - Paywall screen (shown after the permission screens)
- [ ] `src/app/settings.tsx` - Settings screen with language, theme, notifications, and reset onboarding options
### Onboarding Video Implementation (REQUIRED)
The onboarding screen MUST have a fullscreen background video. Use a URL, not a local file:
```tsx
import { useVideoPlayer, VideoView } from "expo-video";
const VIDEO_URL =
"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4";
const player = useVideoPlayer(VIDEO_URL, (player) => {
player.loop = true;
player.muted = true;
player.play();
});
// In render:
<VideoView
player={player}
style={StyleSheet.absoluteFill}
contentFit="cover"
nativeControls={false}
/>;