Vibe ASO: a Claude Code skill that takes an iOS app from built to discoverable
You vibe-coded the app — now vibe the ASO. A Claude Code skill: keyword research, 50-locale App Store metadata, localized screenshots, worldwide pricing, in-app localization.
At a glance
- What is it?
- One skill that runs the App Store grind end to end: keyword research, 50-locale metadata, localized screenshots, worldwide pricing and in-app localization, verified by checks rather than eyeballs.
- Who is it for?
- Vibe ASO fits solo iOS developers and small teams who have an app ready to submit, run Claude Code on macOS, and will connect a real keyword data source rather than settling for degraded mode. Skip it if you ship Android only, if you need a human-owned ASO strategy, or if your translation bar requires native review in every locale.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 56 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 7, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The gap after vibe coding: the store listing
An app that took a weekend to build still faces the weeks nobody budgets for: keyword research per market, a name and subtitle that carry those keywords, screenshots translated for every storefront, prices per territory, and a submission checklist. Vibe ASO, a Claude Code skill by Kronop, exists to collapse that grind, and its pitch is one line: you vibe-coded the app, now vibe the ASO.
The skill covers six phases end to end. Keyword research driven by popularity and difficulty data decides what your name, subtitle and keyword field say. Store metadata is generated in up to 50 locales. Screenshots get localized headings burned in by a bundled renderer. Worldwide pricing is applied per territory through the App Store Connect API. In-app UI strings get translated with bug detectors watching, and a submission checklist verifies every field the API can set while turning everything it cannot into an explicit manual-steps list.
Installing the skill
Installation is two commands inside Claude Code, and the README insists they run one at a time, waiting for the first to succeed:
/plugin marketplace add Kronop/vibe-asothen:
/plugin install vibe-aso@vibe-aso-marketplaceIf the summary says the plugin is now active, you are done; if it asks for a reload, run /reload-plugins or restart Claude Code. The plugin-manager-averse path is a direct clone into the skills directory:
git clone https://github.com/Kronop/vibe-aso /tmp/vibe-aso
cp -R /tmp/vibe-aso/skills/vibe-aso ~/.claude/skills/vibe-asoAfter that, usage is conversational: open Claude Code in the app's repository and say do the ASO for my app, or name a slice such as keyword research or screenshot localization. Claude loads the skill from its description on its own.
First run: the setup wizard
The first invocation walks a short wizard with three decisions. The App Store Connect API key, created in ASC under Users and Access and Integrations, is stored in ~/.vibe-aso/ with chmod 600 permissions, and the README promises it never lands in a repo and never gets printed. The translation engine defaults to Claude subagents with zero setup, with DeepSeek or any OpenAI-compatible endpoint as alternatives.
The third choice is the honest one: keyword research needs a data source with popularity and difficulty figures, and the README names Astro's MCP integration as the best-supported option while explicitly offering a degraded mode without one. That degraded mode is worth pausing on, because it is the difference between skill-generated keywords that reflect search behavior and keywords that merely sound plausible. Everything else in the skill works either way, which makes the wizard's second and third questions the whole onboarding.
Six phases with verification built in
The phase structure is where the skill earns trust. Metadata generation is keyword-led but constrained: keyword fields are adapted, never invented, per the README's phrasing, and descriptions translate by meaning rather than literally. Every localization pass fans out across all chosen locales at once and is then reviewed by automated checks, operating on the stated principle that a human cannot review forty languages, so the checks had better be real.
Pricing runs one of four models, uniform, GNI bands, Big Mac index or Netflix index, and applies per territory through the ASC API with read-back verification. The submission phase closes the loop: every field the API can set gets set and verified, and everything the API cannot reach becomes an explicit manual checklist rather than a silent gap. The design principle the README calls fan out, then verify is visible in every one of these steps.
Screenshots without a designer
Localized screenshots are usually the phase that kills solo developers, and the skill attacks the actual bottleneck. You bring background mockups; a free Figma template provides the frames, iPhone, iPad and Apple Watch, with placeholders and an empty top band. The skill's renderer burns translated headings into that band using Playwright with per-script Noto fonts, handling right-to-left scripts and auto-fitting text.
The workflow is concrete: paste screenshots into the placeholders, pick background colors, export each frame as a named PNG into the project folder, and the screenshots phase takes over. Rendering has its own one-time setup, an npm install plus a Playwright Chromium download and roughly 55 megabytes of fonts, which the requirements table prices honestly instead of pretending it is free.
Requirements and cost, stated plainly
The README assumes macOS, reasonable for iOS development, and structures requirements per phase rather than up front: keyword research and metadata generation need nothing extra; uploads need fastlane 2.234.0 or newer; screenshot rendering needs Node with the Playwright download; pricing and the submission checklist need Ruby, which ships with macOS; in-app localization rebuilds your app to verify translations and therefore wants the Xcode command-line tools.
Cost gets the same treatment. Beyond your existing Claude usage, the only quoted figure is for the optional DeepSeek engine: roughly half a dollar per app for a full cascade of about 400 strings across 40 locales. Uploads go through fastlane because it is the community standard, but the skill writes plain fastlane metadata layout files, so teams delivering another way keep everything up to the upload step. The project is MIT licensed, with no releases yet and a last push on 2026-08-12.
Against agencies, ASO platforms and hand-rolled prompts
The incumbent options bracket this skill. ASO platforms sell the keyword data and the dashboards; agencies sell the judgment and the labor. Vibe ASO buys neither: it consumes an ASO tool's data through MCP if you have one, applies templates of judgment encoded as checks, and supplies the labor through Claude subagents. What it cannot conjure is the data itself, hence the degraded-mode warning.
Against hand-rolled prompts, the advantage is the verification layer: format-specifier drift, wrong-sense domain words, script contamination and register drift are exactly the failure modes of fluent machine translation, and this skill ships detectors for them rather than hoping. For an indie developer shipping an iOS app alone, the checklist alone, every field set and verified, manual steps made explicit, justifies the install. For a studio with an ASO specialist, it is a force multiplier for the same person rather than a replacement.
Editorial conclusion
Vibe ASO fits solo iOS developers and small teams who have an app ready to submit, run Claude Code on macOS, and will connect a real keyword data source rather than settling for degraded mode. Skip it if you ship Android only, if you need a human-owned ASO strategy, or if your translation bar requires native review in every locale. Verify the weakest link first: run the keyword phase against your app with and without an ASO data source connected, compare the two keyword sets, and let that difference decide how much of the pipeline you trust.
Frequently asked questions
How do I install the Vibe ASO skill?
In Claude Code, run /plugin marketplace add Kronop/vibe-aso, then /plugin install vibe-aso@vibe-aso-marketplace, one at a time. Without the plugin manager, clone the repository and copy skills/vibe-aso into ~/.claude/skills/.
What does Vibe ASO need to run?
macOS is assumed. Keyword research and metadata need nothing extra, uploads need fastlane 2.234.0 or newer, screenshot rendering needs Node plus Playwright's Chromium, pricing needs Ruby, and in-app localization needs the Xcode command-line tools. Your App Store Connect API key is stored in ~/.vibe-aso/ with restrictive permissions.
What does Vibe ASO cost?
Nothing beyond your Claude usage by default, since translations run on Claude subagents. Choosing the DeepSeek engine costs roughly half a dollar per app for about 400 strings across 40 locales, and the App Store Connect API itself is free.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/kronop-vibe-aso)