vibe-aso README

The project's README from github.com/Kronop/vibe-aso. As one markdown file: README.md.

Vibe ASO — a Claude Code skill

You vibe-coded the app. Now vibe the ASO.

One skill that takes an iOS app from "ready to submit" to a fully-optimized, fully-localized App Store presence — driven from Claude Code, end to end:

  1. Keyword research — popularity/difficulty-driven, intent-matched, per market. Decides what your name, subtitle, and keyword field say.
  2. Store metadata in up to 50 locales — keyword-led name and subtitle, adapted (never invented) keyword fields, descriptions that translate by meaning. Reviewed by automated checks, not vibes.
  3. Localized screenshots — your background mockups + translated headings burned in by a bundled renderer (Playwright + per-script Noto fonts, RTL handled, auto-fit). No mockups yet? Start from the free Figma template.
  4. Worldwide pricing — pick a model (uniform, GNI bands, Big Mac index, Netflix index) and it's applied per territory via the App Store Connect API, with read-back verification.
  5. In-app localization — your actual UI strings, translated with a detector suite that catches the bugs fluent output hides (format-specifier drift, wrong-sense domain words, script contamination, register drift).
  6. Submission checklist — every field the ASC API can set gets set and verified; everything it can't becomes an explicit manual-steps list instead of a silent gap.

No signup, no SaaS — you bring your own App Store Connect API key, and translations run on Claude subagents by default (or your own DeepSeek / OpenAI-compatible key if you prefer).

Install

Run these two commands in Claude Code one at a time — wait for the first to succeed before pasting the second.

Step 1 — register the marketplace:

/plugin marketplace add Kronop/vibe-aso

Step 2 — install the plugin:

/plugin install vibe-aso@vibe-aso-marketplace

If the install summary says Plugin is now active. you're done; if it says Run /reload-plugins to activate., run that (or restart Claude Code).

Or clone directly (no plugin manager):

git clone https://github.com/Kronop/vibe-aso /tmp/vibe-aso
cp -R /tmp/vibe-aso/skills/vibe-aso ~/.claude/skills/vibe-aso

Use

Open Claude Code in your app's repo and say what you want:

do the ASO for my app

…or any slice of it: "find keywords for my calorie tracker", "localize my App Store page", "localize my screenshots", "set worldwide prices", "localize the app itself", "get my listing ready for submission". Claude loads the skill on its own from the description.

First run walks you through a short setup wizard:

Screenshot mockups — free Figma template

Don't have App Store screenshot designs? Duplicate the vibe-ASO mockups template (free Figma account is enough):

  1. Paste your app screenshots over the "Your screenshot here" placeholders (iPhone, iPad, Apple Watch frames included).
  2. Pick your background colors; leave the top band empty — the renderer burns the localized heading there.
  3. Export each frame as PNG named iphone_1..N.png / ipad_1..N.png into your project folder, and the screenshots phase takes it from there.

Requirements

Nothing up front — each phase checks its own prerequisites (scripts/check_setup.sh prints exactly what's missing and the fix command), and you only need the tools for the phases you actually use:

You want You need
Keyword research nothing (an ASO data tool with popularity/difficulty makes it much stronger)
Metadata generation nothing
Metadata / screenshot upload fastlane ≥ 2.234.0 (brew install fastlane)
Screenshot rendering node — one-time npm install, npx playwright install chromium, ~55 MB font download
Pricing + submission checklist ruby (ships with macOS)
In-app localization Xcode command-line tools — it rebuilds your app to verify translations

Assumes macOS, which is where iOS apps get built anyway. Upload goes through fastlane because it's the community standard — but the skill writes plain fastlane/metadata/<locale>/ layout files, so if you deliver with something else, everything up to the upload step still works as-is.

What it costs

Nothing beyond what you already pay: your Claude usage, and — only if you choose the DeepSeek engine — roughly $0.50 per app for a full ~400-string × 40-locale in-app cascade. The App Store Connect API is free.

Design principles

License

MIT. The renderer downloads Google Fonts (DM Sans, Noto Sans family) at setup time; those are OFL-licensed and not redistributed here.

vibe-aso (Kronop/vibe-aso)

Searching Database…

Что это?Vibe ASO — навык Claude Code, который доводит iOS-приложение от состояния «готово к отправке» до полностью локализованного присутствия в App Store: исследование ключевых слов, метаданные до 50 локалей, локализованные скриншоты, цены по всему миру и локализация строк внутри приложения — всё изнутри Claude Code.
Это отдельное приложение или оно работает внутри Claude Code?Это навык/плагин Claude Code, а не отдельное приложение. Вы устанавливаете его как плагин и просто говорите Claude Code, что нужно, в репозитории своего приложения; Claude сам подгружает навык исходя из запроса.
Какие инструменты реально нужны для работы с ним?Ничего заранее — scripts/checksetup.sh проверяет предпосылки каждого этапа по ходу дела. Понадобятся fastlane для загрузки метаданных/скриншотов, node плюс Playwright (со скачиванием шрифтов ~55 МБ) для рендеринга скриншотов, ruby для цен и чек-листа отправки, а также инструменты командной строки Xcode для локализации в приложении, поскольку она пересобирает ваше приложение, чтобы проверить переводы.
Нужно ли регистрироваться в сервисе или отдавать API-ключи какому-то SaaS?Нет — никакой регистрации и никакого SaaS. Вы используете собственный ключ App Store Connect API, а переводы по умолчанию выполняются на сабагентах Claude либо на вашем собственном DeepSeek/OpenAI-совместимом ключе, если так предпочитаете.
Он работает на любой ОС или именно на macOS?Он рассчитан на macOS, поскольку iOS-приложения всё равно собираются там — рендеринг скриншотов, цены/отправка и локализация в приложении опираются на инструменты на стороне macOS вроде Xcode. Только исследование ключевых слов и генерация метаданных не требуют конкретной ОС.
Как хранится мой ключ App Store Connect API?Он хранится локально в ~/.vibe-aso/ с правами chmod 600 — никогда не попадает в репозиторий и не печатается в вывод.
Как работает исследование ключевых слов?Оно ведётся по популярности/сложности и соответствию интенту для каждого рынка и решает, что должно быть в имени приложения, подзаголовке и поле ключевых слов — в идеале с опорой на источник ASO-данных вроде MCP от Astro, а без него — в честном деградировавшем режиме.
Как именно создаются локализованные скриншоты?Вы подаёте фоновые мокапы (бесплатный шаблон Figma для рамок iPhone/iPad/Watch прилагается), экспортируете их в PNG, и входящий в комплект рендерер Playwright впечатывает переведённые заголовки, используя шрифты Noto для каждой письменности и автоматически обрабатывая RTL и подгонку под размер.
Какие модели цен можно задать по территориям App Store?Вы выбираете единую цену, доходные группы GNI, индекс Биг-Мака или индекс Netflix, и он применяет результат по каждой территории через App Store Connect API, проверяя каждую запись обратным чтением.
Как он ловит плохие переводы при локализации в приложении?Он пересобирает ваше приложение и прогоняет набор детекторов примерно по 400 строкам вплоть до 40 локалей, отмечая проблемы вроде расхождений в спецификаторах формата, слов предметной области с неверным смыслом, загрязнения письменности и дрейфа стиля, которые бегло звучащий перевод обычно скрывает.
Creator
Kronop
Size
<0.1 MB
Stars
454
Updated
CommitAug 12
Age
2mo
Commits · 90 Days