{
  "markdown": "# ShipASO\n\n**The reason → execute ASO loop for App Store *and* Google Play.**\n\n> The product is **ShipASO**; the codebase, this repo, and the Cloudflare\n> services are named `store-ops`.\n\nEvery other AI ASO tool does one half. Advisory tools (and most \"AI ASO agents\")\n*reason* about your listing then stop at the copy-paste boundary — and they\ndepend on a paid data API. Deploy CLIs (Fastlane, raw APIs) *execute* but have no\nASO brain. **ShipASO does both, on both stores, with no paid data dependency.**\n\n> **The open lane: Google Play.** There is no public tool that operationally\n> optimizes a Google Play Console listing end-to-end. ShipASO does iOS *and*\n> Android.\n\n## Install — any coding agent\n\nThe loop runs in your editor, on your machine, with your credentials. The 33\nskills are plain Markdown runbooks over plain CLI tools, and the engine is\nstandard-library Python — so nothing here is tied to one vendor.\n\n**Any agent (Codex, Cursor, Copilot, Gemini, Amp, Aider…):**\n\n```bash\ngit clone https://github.com/airowe/store-ops && cd store-ops\n```\n\nThen point your agent at **`AGENTS.md`** — most read it automatically. That file\nis the front door: the skills index, the credential rules, and how to run the\nengine. Cursor, Copilot, and Gemini also get a pointer file that redirects there.\n\n**Claude Code** additionally has a plugin installer:\n\n```\n/plugin marketplace add airowe/store-ops\n/plugin install store-ops@store-ops\n```\n\nEither way, audit any listing — read-only, no credentials, no keys:\n\n```bash\npython3 lib/aso_rank_check.py --bundle com.burbn.instagram \"photo,stories,reels\"\n```\n\nYou get a per-field ASO score of your live listing and the exact next skill to\nrun for each gap. → Full walkthrough + what you'll see: **https://shipaso.com/install**\n\n### Zero install: point your agent at the hosted MCP\n\nNo clone, no key, no account:\n\n```\nclaude mcp add shipaso --transport http https://api.shipaso.com/mcp\n```\n\nYour agent immediately gets `preview_app` — a real, measured teaser of any App\nStore app (audit grade, lead organic rank, how many keywords crack the top 10)\n— and `proof`, the aggregate rank-win record. The other ten tools (listing\naudit, keyword gaps, rank check, screenshot scoring, competitor watch, war room,\nlocalization gaps, draft copy, and the two Google Play audits) unlock with a\nfree `shipaso_` key from app.shipaso.com → Settings → Agent access; re-add the\nserver with `--header \"Authorization: Bearer <key>\"`. MCP is vendor-neutral, so\nCursor and any other MCP client work the same way. Every tool is read or draft;\nnothing pushes to a live store. Details: `skills/shipaso-mcp/SKILL.md`.\n\n## What's in this repo\n\nShipASO comes in two forms — run it yourself, or let the hosted agent run it\nfor you:\n\n| Path | What |\n|------|------|\n| **`skills/` + `lib/`** | The **free OSS agent plugin** — 33 skills + the engine (Python, 200 tests). Runs in any coding agent; Claude Code also has a one-command installer. |\n| **`cloud/`** | The **hosted autonomous agent** — a Cloudflare app (Workers + D1 + Cron + Pages) that runs the loop on a schedule and surfaces decisions for approval. Engine ported to TypeScript (2,160 tests). See `cloud/README.md` + `cloud/DEPLOY.md`. |\n| **`commercial/`, `docs/`** | The offer, the launch posts, the landing page. |\n\nThe plugin is the **funnel** (discover the agent by running it); the hosted app\nis the product (it keeps working while you build). Same engine, two surfaces.\n\n**Run it yourself, or let it run itself:**\n\n- **Free, in your editor** — install the plugin and run the loop yourself in\n  whichever agent you already use. Your credentials, your machine, no cost.\n  Start here ↓ (Install).\n- **Hosted + autonomous** — connect an app by bundle id and an agent runs the\n  loop on a weekly schedule: re-checking ranks, watching competitors, drafting\n  the next optimization, surfacing each decision for you to approve. It's live:\n  **https://app.shipaso.com**\n\n## What it does\n\n```\naudit  →  research keywords  →  optimize to char limits  →  push  →  verify rank\n(asc/gplay) (no paid API)        (ready copy + commands)   (you approve) (free, over time)\n```\n\n**The full loop, not half of it.** The data tools (Astro, AppTweak, Sensor Tower)\nstop at \"here's what to do\" and leave you in the App Store Connect form. ShipASO\n*picks the keywords, writes the metadata, hands you the push, and then verifies the\nrank actually moved* — the only piece that closes the loop and the one nobody else\nships.\n\n```\n/store-ops myapp                     # full chain, both stores\n/store-ops myapp --store playstore   # Google Play only\n/store-ops myapp --audit-only        # just score the live listing\n```\n\n## Try it in 30 seconds (no credentials, no setup)\n\nThe verify/watch half runs on the free public iTunes API — try it on any live\napp right now:\n\n```bash\n# organic App Store rank for some keywords (any app's bundle id)\npython3 lib/aso_rank_check.py \\\n    --bundle com.burbn.instagram \"photo,stories,reels\"\n\n# score an app's screenshots against ASO best practice\npython3 lib/aso_screenshot_score.py \\\n    --app instagram --bundle com.burbn.instagram\n\n# resolve a non-US market's keyword-volume + rank constants\npython3 lib/aso_locale.py --locale de-DE\n```\n\nRun the test suites (standard-library only — no network, no keys):\n\n```bash\npython3 lib/run_tests.py\n```\n\n## Skills\n\n**Reasoning (the IP):**\n| Skill | Does |\n|-------|------|\n| `aso-audit` | Score a live iOS/Android listing field-by-field vs ASO best practice. Read-only. |\n| `issue-verify` | Check open issues against the source before working them — catches stale \"this is missing\" claims. |\n| `aso-teardown` | Write a publishable long-form teardown of any app from public measured data. Never estimates revenue. |\n| `aso-keyword-research` | Rank keywords from store autocomplete + competitor scrape + synonyms. **No paid data API.** |\n| `aso-metadata-optimization` | Generate final copy at exact char limits + emit the push commands. Never auto-ships. |\n| `aso-rank-check` | Read your organic App Store rank per keyword and log it over time — did the change land? **Free public iTunes API, no key.** |\n| `store-ops` | Router for the full chain. |\n\n**More reasoning — audit, risk, and research:**\n| Skill | Does |\n|-------|------|\n| `aso-context` | Scaffold the per-app `context.md` every other ASO skill reads. Start here. |\n| `aso-review-mine` | Mine your own reviews for the words real users use to describe the app. |\n| `aso-offstore-mine` | Mine \"best `<category>` apps\" articles + YouTube for off-store discovery language. |\n| `aso-localize-research` | Keyword + rank research per market (de-DE, ja-JP, es-MX…) instead of US-only. |\n| `aso-competitor-watch` | Track competitors' listing changes over time — name, subtitle, price, rating. |\n| `aso-screenshot-score` | Score a live screenshot set — count, device/aspect coverage, first-two story. |\n| `aso-review-risk` | Flag copy that gets apps **rejected** — unverifiable claims, \"#1\", competitor names. |\n| `aso-rejection-assistant` | Turn a rejection into a plan against the guideline the reviewer actually cited. |\n| `aso-ppo-treatment` | Design a free screenshot A/B test (Product Page Optimization). |\n| `aso-rank-monitor` | Run a keyword set on a cadence so you get **deltas**, not one snapshot. |\n\n**Execution — App Store Connect (via the `asc` CLI):**\n| Skill | Does |\n|-------|------|\n| `asc-metadata-write-lane` | Create the editable version, attach the build, push the copy — **stops before submit**. |\n| `asc-screenshot-write-lane` | Put an approved run's screenshot strip on the editable version through ShipASO — ids resolved, per-shot ledger, **stops before submit**. |\n| `asc-metadata-sync` | Sync + validate metadata; migrate the legacy metadata format. |\n| `asc-localize-metadata` | Translate and sync metadata across locales. |\n| `asc-submission-health` | Preflight a submission, submit a build, monitor review status. |\n| `asc-id-resolver` | Resolve app / build / version / group IDs from human-friendly names. |\n| `asc-ppp-pricing` | Per-territory pricing by purchasing power. |\n| `asc-shots-pipeline` | iOS screenshot capture via xcodebuild / simctl / AXe. |\n| `aso-goldie-config` | Emit a goldie.config.ts from a run — audit-ordered scenes with headlines from the proposed copy, rendered on your own Mac. |\n\n**Execution — Google Play (via the `gplay` CLI):**\n| Skill | Does |\n|-------|------|\n| `gplay-metadata-sync` | Listing sync, including Fastlane format. |\n| `gplay-review-management` | Review monitoring, filtering, and responses. |\n| `gplay-rollout-management` | Staged rollout orchestration and monitoring. |\n| `gplay-vitals-monitoring` | Crashes, ANRs, performance, errors. |\n| `gplay-screenshot-automation` | Android capture across devices/locales via adb + Espresso. |\n| `gplay-ppp-pricing` | Region-specific pricing. |\n\n**Hosted:**\n| Skill | Does |\n|-------|------|\n| `shipaso-mcp` | Point your agent at the hosted ShipASO MCP server and drive the loop over it. |\n\nEvery `asc-*` / `gplay-*` skill that **writes** asks which API key to use before\nit does — `asc` resolves credentials from a default profile, and with more than\none registered a push through the wrong one succeeds against the wrong account.\n\n## Principles\n\n- **No paid data dependency** — reasons over free + owned data (store autocomplete,\n  public listings, your own asc/gplay exports). Every credentialed source is an\n  *optional accelerator with a free fallback*, never a gate:\n  - *volume* — bring your **own** Apple Search Ads / Google Keyword Planner keys for\n    real search-popularity numbers; without them, an honest autocomplete-rank proxy.\n  - *scrape* — bring a **context.dev** key for clean competitor-listing + brand-data\n    scraping; without it, WebFetch / Crawl4AI.\n  You bring your own keys (it's *your* data, ToS-clean); the plugin never resells data.\n- **Both stores, official APIs.**\n- **Nothing ships without your approval** — reasoning writes copy + prints\n  commands; you run the push.\n- **App-agnostic** — `--app <slug>` + a `context.md`. No hardcoded apps, no\n  secrets in the plugin.\n\n## Requirements\n\n- To **execute**: the [`asc`](https://github.com/rudrankriyam/App-Store-Connect-CLI)\n  and `gplay` CLIs installed + authed with your own developer credentials.\n- The **reasoning** skills work standalone (they emit commands you can run later).\n\n## Install\n\n```\n/plugin marketplace add airowe/store-ops\n/plugin install store-ops@store-ops\n```\n\n## Open-core — what's free vs. hosted\n\n**The plugin is free and MIT-licensed, forever.** Everything above — the full\naudit → research → optimize → push → verify loop, both stores, all 33 skills —\nruns locally with your own credentials at no cost. Use it, fork it, ship apps\nwith it. That's the whole product for anyone who's comfortable in a terminal.\n\nThe line for the **hosted tier** is *convenience, never capability*. The free\nplugin is complete; the paid tier sells you out of the setup pain and the\nremembering. The hosted agent is **live now** at\n**https://app.shipaso.com** — connect an app and watch the loop run on a\nschedule.\n\n| | Free (this plugin) | Hosted agent |\n|---|---|---|\n| The 33 skills + full loop | ✅ all of it | ✅ same engine |\n| Real volume data | BYO Apple/Google keys | guided setup |\n| Rank tracking | run `aso-rank-check` by hand | **scheduled** weekly + history + delta alerts |\n| Standing autonomy (weekly cron) | ❌ you re-run it | ✅ Indie / Startup / Scale |\n| Apps | unlimited (it's local) | 1 (Free) · 3 (Indie) · 10 (Startup) · 50 (Scale) |\n| Approval gate | you run the push | enforced in code — commands withheld until you approve |\n\nThe tiers:\n\n| Tier | Price | What you get |\n|------|-------|------|\n| **Free** | $0 | Run the agent yourself in any coding agent. The whole loop, your machine. 1 connected app, manual runs only. |\n| **Indie** | **$6.99/month** | The weekly autonomous sweep, up to 3 apps. It proposes, you approve, it ships. |\n| **Startup** | **$19.99/month** | The weekly sweep across up to 10 apps, with rank history and competitor watch. |\n| **Scale** | **$64.99/month** | Up to 50 apps plus the portfolio roll-up. For agencies and multi-app devs. |\n\nWe will **never** resell Apple/Google data through a shared account (that breaks\ntheir ToS) — the hosted tier is BYO-credentials too, and we never hold your\nstore credentials; the push is a generated-commands handoff. What you pay for is\nthe guided onboarding, the scheduler, and the history. The differentiator isn't\nthe data — everyone has Apple's popularity numbers. It's that ShipASO *ships\nthe metadata and proves the rank moved.*\n\n**→ Try the hosted agent: https://app.shipaso.com**\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n",
  "bytes": 12704,
  "sha": "cdce9a1a57fcf49c15d3f14a1886520fb5ca7df062bf75e4098fb30b8f45d5e0",
  "repo_slug": "airowe/store-ops",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_airowe_shipaso_fbea835b/readme"
}