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(还需下载约 55MB 的字体);定价和提审清单需要 ruby;应用内本地化需要 Xcode 命令行工具,因为它会重新构建你的应用来验证翻译。
需要注册某个服务,或把 API 密钥交给某个 SaaS 吗?不需要 — 无需注册,也没有 SaaS。你使用自己的 App Store Connect API 密钥,翻译默认由 Claude 子代理完成,也可以按你的偏好换成自己的 DeepSeek 或兼容 OpenAI 的密钥。
它能在任何操作系统上运行,还是仅限 macOS?它默认在 macOS 上运行,因为 iOS 应用本来就要在 macOS 上构建 — 截图渲染、定价/提审和应用内本地化都依赖 Xcode 等 macOS 侧工具。只有关键词调研和元数据生成对操作系统没有特殊要求。
我的 App Store Connect API 密钥是如何存储的?密钥保存在本地 ~/.vibe-aso/ 目录下,权限为 chmod 600 — 绝不会提交到仓库,也绝不会打印到输出中。
关键词调研是怎么做的?它以热度/难度为驱动,并按市场匹配搜索意图,决定应用名称、副标题和关键词字段应该写什么 — 理想情况下由 Astro 的 MCP 这类 ASO 数据源支撑,没有数据源时则采用坦诚的降级模式。
本地化截图究竟是怎么生成的?你提供背景样机(项目附带一套免费的 Figma 模板,含 iPhone/iPad/Watch 边框),导出为 PNG 后,由内置的 Playwright 渲染器使用按文字系统配置的 Noto 字体把翻译后的标题烧录进去,并自动处理 RTL 和自适应排版。
它能跨 App Store 地区设置哪些定价模型?你可以选择统一定价、GNI 收入区间、巨无霸指数或 Netflix 指数,它会通过 App Store Connect API 逐个地区应用结果,并且每次写入都会读回校验。
在应用内本地化中它如何发现糟糕的翻译?它会重新构建你的应用,对最多 40 种语言、约 400 条字符串运行一整套检测器,标记出格式说明符错位、领域词义错误、文字体系混入和语域漂移等问题 — 这些问题往往被读起来流利的译文所掩盖。
Creator
Kronop
Size
<0.1 MB
Stars
451
Updated
CommitAug 12
Age
2mo
Commits · 90 Days