MCP and skills

Set it up once. Let an agent run the releases.

Everything the desktop app does is also an MCP tool and a CLI command: 48 tools over the same Rust core. An agent can boot the simulators, capture, write captions, frame, check every store rule, export, upload, update the listing text, answer the compliance forms and submit for review, and tell you what each store said.

You, once

Four things a human does

  1. 1
    Create the project
    One .nitroshot folder: name, bundle id, locales, the device sizes you ship to.
  2. 2
    Point it at your app
    Bundle id and package name, or a Debug .app and .apk so capture can install them.
  3. 3
    Add store credentials
    App Store Connect key, Play service account, AppGallery, Amazon and Partner Center clients. Stored locally, never in a prompt.
  4. 4
    Install the server or the skill
    nss-mcp for Claude Code, Cursor or Codex; the skill if you want the whole playbook in one file.

The agent, every release

The hands-off loop

  1. 01Boot the simulators and confirm the app is installedcapture_preflight
  2. 02Walk every screen in every locale and sizecapture_run
  3. 03Write and translate the captionsgenerate_copy · translate
  4. 04Frame at each store's exact sizesframe_screenshot
  5. 05Check every file and text against the rulesasset_check · metadata_check
  6. 06Export the Fastlane treeexport_store_assets
  7. 07Upload what changedasc_upload · play_upload · …
  8. 08Update listing text per localemetadata_push
  9. 09Answer privacy and data-safety formscompliance_push
  10. 10Submit for review and report backrelease_submit · audit_log

Each step returns structured results and typed errors, so the agent stops at the first real problem and tells you what the store said, instead of guessing.

Three ways in

Pick the one that fits where the work happens. They expose the same core; nothing is app-only.

MCP, local

Every tool, on your machine, with your simulators and credentials. Claude Code, Cursor and Codex CLI.

cargo install nss-cli nss-mcp
claude mcp add nss -- nss-mcp

MCP, hosted

A read-only subset served from this site: sizes, templates, locales and store rules. Useful for planning from any client.

claude mcp add nss-remote \
  --transport http https://nitroshot.gauthamvijay.com/mcp

CLI and CI

nss has a command for every tool with JSON output. nss ci is the one command a pipeline runs; the GitHub Action wraps it.

nss ci --project . \
  --rendered ./screenshots/rendered \
  --upload --metadata

Skill

The playbook as a file

A Claude Code skill that teaches the agent the release loop above, the order to run it in, what to do when a store returns an error, and what it must never do without asking. It ships in the repository under skills/nitroshot.

  • · Knows when a project is not set up yet and walks the human through the four one-time steps.
  • · Runs the loop in order and stops at the first step that returns errors.
  • · Never asks for credentials in chat and never edits device lists or locales silently.
Install
# from the Nitro Shot repo
cp -r skills/nitroshot ~/.claude/skills/nitroshot
# or per project
cp -r skills/nitroshot .claude/skills/nitroshot
Then, in your project
Release 2.4 to the App Store and Google Play: capture in all locales, keep the captions, reuse the compliance answers, upload only what changed, submit, and tell me what each store says.

48 tools

Grouped by stage. The CLI mirrors them one to one; nss <tool> --help shows the same arguments.

Capture and previews

  • capture_devices
  • toolchain_status
  • capture_flows_get
  • capture_flows_set
  • capture_preflight
  • capture_run
  • preview_record
  • preview_make
  • preview_video_validate
  • preview_video_validate_play

Sizes, frames and rendering

  • list_templates
  • list_device_classes
  • list_frames
  • list_finishes
  • list_locales
  • frame_screenshot
  • compose_with_capture
  • device_pack_update

Captions and listing text

  • generate_copy
  • localize_set
  • translate
  • metadata_check
  • metadata_pull
  • metadata_push

Assets, art and export

  • asset_check
  • iconpack_generate
  • image_crop
  • imagegen_providers
  • artwork_generate
  • export_store_assets
  • project_add_locale

Publishing

  • asc_status
  • asc_upload
  • play_status
  • play_upload
  • huawei_status
  • huawei_upload
  • amazon_status
  • amazon_upload
  • msstore_apps
  • msstore_status
  • msstore_upload
  • preview_upload

Compliance, release and audit

  • compliance_check
  • compliance_push
  • release_status
  • release_submit
  • audit_log

What stays with a human

  • · Review itself. Apple, Google and the others decide in hours to days; Nitro Shot reports the state, it cannot speed it up.
  • · Credentials and purchases. Store keys are entered once on the Publish tab. Pro features return a clear entitlement error to the agent instead of a prompt.
  • · Building your app. Capture launches the app that is installed on the simulator; it does not compile it. Point it at a Debug build or run it once from Xcode or Android Studio.
  • · Taste. The agent frames, writes and translates well; you still look at the Review tab before the first submission.