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
- 1Create the projectOne .nitroshot folder: name, bundle id, locales, the device sizes you ship to.
- 2Point it at your appBundle id and package name, or a Debug .app and .apk so capture can install them.
- 3Add store credentialsApp Store Connect key, Play service account, AppGallery, Amazon and Partner Center clients. Stored locally, never in a prompt.
- 4Install the server or the skillnss-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
- 01Boot the simulators and confirm the app is installed
capture_preflight - 02Walk every screen in every locale and size
capture_run - 03Write and translate the captions
generate_copy · translate - 04Frame at each store's exact sizes
frame_screenshot - 05Check every file and text against the rules
asset_check · metadata_check - 06Export the Fastlane tree
export_store_assets - 07Upload what changed
asc_upload · play_upload · … - 08Update listing text per locale
metadata_push - 09Answer privacy and data-safety forms
compliance_push - 10Submit for review and report back
release_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.
# from the Nitro Shot repo cp -r skills/nitroshot ~/.claude/skills/nitroshot # or per project cp -r skills/nitroshot .claude/skills/nitroshot
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_devicestoolchain_statuscapture_flows_getcapture_flows_setcapture_preflightcapture_runpreview_recordpreview_makepreview_video_validatepreview_video_validate_play
Sizes, frames and rendering
list_templateslist_device_classeslist_frameslist_finisheslist_localesframe_screenshotcompose_with_capturedevice_pack_update
Captions and listing text
generate_copylocalize_settranslatemetadata_checkmetadata_pullmetadata_push
Assets, art and export
asset_checkiconpack_generateimage_cropimagegen_providersartwork_generateexport_store_assetsproject_add_locale
Publishing
asc_statusasc_uploadplay_statusplay_uploadhuawei_statushuawei_uploadamazon_statusamazon_uploadmsstore_appsmsstore_statusmsstore_uploadpreview_upload
Compliance, release and audit
compliance_checkcompliance_pushrelease_statusrelease_submitaudit_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.