Generate, revise, translate, and manage App Store marketing screenshots and app icon candidates through the hosted Shots MCP tools.

MITAuto-check passedMobile

Install Shots

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill shots -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins shots --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/hitSlop/shots/skills/shots .claude/skills/shots && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
shots
GitHub stars
1.2k
Token cost
~2.4k tokens
SKILL.md length
1,152 words
Files
9
Skills in repo
686
Repo updated
First seen
Licence
MIT

At a glance

Generate, revise, translate, and manage App Store marketing screenshots and app icon candidates through the hosted Shots MCP tools.

  • App Store screenshot creation
  • SKILL.md covers Use The References, Intent Router, Local Project Rules and Local Upload Helper, plus 3 more sections
  • Calls node; reaches shots.run
  • App icon generation

What it does

Shots is an agent skill from hashgraph-online/awesome-codex-plugins. Generate, revise, translate, and manage App Store marketing screenshots and app icon candidates through the hosted Shots MCP tools. Use for App Store screenshot creation, app icon generation, ASO screenshot strategy, screenshot revisions, localization, App Store listing scraping, and public App Store screenshot inspiration. Do not use for generic image generation.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `reference/create.md`, `reference/icons.md` and `reference/inspiration.md`).

It sits in Mobile, covering App store release, Web scraping and Internationalization. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is MIT.

When your agent uses it

  • App Store screenshot creation
  • App icon generation
  • ASO screenshot strategy
  • Screenshot revisions

Example prompts

  • “/shots”

Requirements

  • Pre-approved tools (allowed-tools): Bash(node *)

What it can do on your machine

Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(node *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • shots.run

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Shots loads about 2.4k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,152 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its MIT licence (© hashgraph-online). 1,152 words, ~2,350 tokens.

Download SKILL.mdSave it as .claude/skills/shots/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
shots
description
Generate, revise, translate, and manage App Store marketing screenshots and app icon candidates through the hosted Shots MCP tools. Use for App Store screenshot creation, app icon generation, ASO screenshot strategy, screenshot revisions, localization, App Store listing scraping, and public App Store screenshot inspiration. Do not use for generic image generation.
allowed-tools
Bash(node *)
version
0.1.0
user-invocable
true
argument-hint
[app store url, job id, locale, or description]
author.name
hitSlop
author.url
https://hitslop.com
license
MIT

Shots

Shots runs through hosted MCP tools. Durable state lives in Convex, generated screenshots and icons are uploaded to the Shots CDN, and completed jobs return CDN URLs plus stable ids.

The hosted MCP server instructions are the source of truth for tool names, arguments, billing recovery, polling cadence, app setup, and review URLs. Use help.schema, help.examples, and help.search before guessing command args.

Use The References

Intent Router

IntentUse
Create screenshotsResolve the app, gather references, use reference/create.md, then call generate_screenshot once per approved panel.
Use another app as inspirationTreat the other App Store URL as public gallery inspiration, not the user's app. Use gallery.ensure_app / gallery.get_app, then pass galleryInspirationScreenshotId.
App iconsUse reference/icons.md, start with generate_icon_moodboard, then generate individual finals with generate_icon.
ReviseFor small targeted changes to an existing screenshot, use screenshots.revise with precise feedback about what changes and what stays fixed.
Translate/localizeUse screenshots.translate; preserve the campaign system unless the user asks for locale-specific repositioning.
Promote listing screenshotsUse screenshots.promote / screenshots.unpromote with only the screenshot mediaId; Shots derives app, locale, and platform from the media record.
Listing/ASO copyUse reference/strategy.md; save durable listing copy with apps.update_listing and research with apps.update_research.
Account or billingUse usage.get or billing; always ask before spending money.

Local Project Rules

  • The user's app repo is the source of product truth. The Shots plugin files are only tool documentation; never infer the target app identity from them.
  • For a new app record, the agent must know the app name, what it does, App Store URL if published, and target platform before calling apps.upsert or apps.import.
  • Inspect local files, saved app context, and existing media before asking the user, but do not guess when ambiguity changes the product or creative direction. Ask for missing positioning, audience, real UI truth, style preferences, or approval when needed.
  • Before screenshot generation, require at least one real app UI reference: uploaded app_screenshot, a reference image showing actual app UI, or scraped App Store screenshots. An icon, palette, or written description alone is not enough.
  • If the user provides local image files, or you discover useful local screenshots/assets in the repo, upload them first and use the returned media IDs. Do not put local paths in the prompt and assume the image model can see them.
  • Codex/local-agent screenshot generation is explicit-reference-first. Inspect available media, choose the exact references for each panel, pass them as referenceMediaIds, and describe each reference's job in the prompt. Do not rely on Studio/backend default reference selection for quality; that fallback exists for non-agent UI flows.
  • For unpublished apps, inspect local screens, navigation, theme tokens, preview fixtures, docs, and screenshots. Save durable findings to the app record so Studio and future sessions share the same context.
  • Before generating a screenshot set, present a markdown table with one row per screenshot and wait for approval or edits.
  • Do not choose a public gallery app as inspiration from a vague request like "try a new style" or "different style." Use gallery inspiration only when the user names/provides an inspiration source or explicitly approves the exact gallery app/screenshot in the plan. Gallery-inspiration generation should stay on medium quality.
  • If the user asks for a new or different style without specifics, ask for style preferences or propose 2-4 concrete directions and get approval before generating.
  • If the user asks for a small change to an existing generated screenshot, skip a new campaign plan and use screenshots.revise instead.

Local Upload Helper

Use media.import_url for HTTPS images. For local files, use the bundled helper:

bash
node <plugin-root>/scripts/upload-asset.mjs --file ./path/to/image.png --app-id <appId> --kind reference

Resolve <plugin-root> as the plugin root directory. From this SKILL.md, the helper is at ../../scripts/upload-asset.mjs.

Useful kind values:

  • app_screenshot for real product UI
  • icon for the app icon
  • inspo for user-provided mood references
  • reference for general brand or product references

The helper calls POST https://shots.run/api/upload by default. The endpoint is intentionally open and unauthenticated; it only needs appId and enforces server-side upload safety checks. Do not skip local uploads because R2 or cloud credentials are unavailable.

If an upload fails, stop and call feedback.report with category: "bug", the HTTP status or error message in details, and relatedTool: "upload-asset" plus the appId. Do not generate while treating a required local reference as unavailable unless the user explicitly approves continuing without it.

Show full SKILL.md (413 more words)Show less

App Icon Discovery

If the user gives an App Store URL or app id, prefer apps.import; it imports the public icon and saves it as an app icon asset.

If there is no App Store URL, inspect the local app repo and upload the best source icon with --kind icon:

  • iOS/Xcode: *.xcassets/AppIcon.appiconset/Contents.json, then referenced PNGs
  • Expo: app.json, app.config.*, expo.icon, ios.icon, android.icon
  • React Native: iOS app icon sets and Android mipmap-* assets
  • Web/PWA fallback: public/manifest.json, public/icon.png, favicons

Quality Bar

  • Screenshots are ads, not documentation. Each panel needs a user-facing promise and a specific UI moment that proves it.
  • Use real UI facts in prompts: screen names, layout, visible data, controls, states, and emotional payload.
  • Treat visible product UI as closed-world. Critical user direction overrides references; otherwise preserve reference UI and never invent plausible rows, controls, labels, values, or states the references do not show.
  • Keep references selective. Pass only the images that a specific screenshot actually needs.
  • Prefer selected/promoted App Store screenshots for product and campaign continuity when they are relevant. Do not pass recent unpromoted generations as references unless the user selects them or asks to continue from them.
  • Do not request fake App Store chrome, gutters, dividers, rounded screenshot borders, or fictional product UI.

Feedback Reporting

Use feedback.report to notify the Shots team about product feedback, feature ideas, unsupported workflows, confusing behavior, user frustration or delight, repeated generation or revision quality issues, and tool or infrastructure errors.

Report when:

  • The user directly says something is broken, confusing, annoying, useful, or delightful.
  • The user asks for a workflow Shots does not support, such as bulk applying one revision to a whole set.
  • You infer a feature idea from the user's goal or repeated workaround.
  • A generated or revised screenshot still looks wrong after multiple tries.
  • Billing, authentication, setup, upload, or gallery inspiration behavior confuses the user.
  • Any MCP tool call returns an unexpected error, including HTTP errors from the upload helper, isError: true responses from Shots commands, or other infrastructure failures. Use category: "bug" with severity: "high", include the error message or HTTP status in details, and set relatedTool or relatedCommand to identify the failing operation.

Include any relevant appId, mediaId, jobId, relatedTool, or relatedCommand. Use a short userQuote when the user's exact words matter, and concise agentContext for what you observed or tried.

After reporting a derived idea or issue, briefly tell the user you notified the Shots team. Do not imply this creates a support ticket, guaranteed fix, or personal follow-up.

© hashgraph-online, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files in plugins/hitSlop/shots/skills/shots of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • reference/create.md
  • reference/icons.md
  • reference/inspiration.md
  • reference/prompting.md
  • reference/revise.md
  • reference/scrape.md
  • reference/strategy.md
  • reference/translate.md

Open the folder on GitHubat commit 78497e5

Compare with similar skills

Shots next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Shots compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shots this skillhashgraph-online/awesome-codex-plugins1.2k—~2.4kAutomated safety check: PassMIT
Asc Localize MetadataCamilleScholtz/swmpc2395 repos~2.8kAutomated safety check: PassEUPL-1.2
Asc Subscription Localizationrorkai/app-store-connect-cli-skills1.1k2 repos~2.7kAutomated safety check: PassMIT
Asc Subscription Localizationmalpern/VoxClaw208—~2.5kAutomated safety check: PassNone
Aso Marketingluongnv89/skills131—~2.3kAutomated safety check: PassMIT
Gplay Metadata Synchanamizuki/solopreneur152—~1.4kAutomated safety check: PassMIT

Similar skills

  • Asc Localize Metadata

    CamilleScholtz/swmpc

    Automatically translate and sync App Store metadata (description, keywords, what's new, subtitle) to multiple languages using LLM translation and asc CLI.

    239 GitHub starsUsed in 5 repos~2.8k tokens
    MobileAuto-check passed
  • Asc Subscription Localization

    rorkai/app-store-connect-cli-skills

    Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources.

    1.1k GitHub starsUsed in 2 repos~2.7k tokens
    MobileAuto-check passed
  • Bulk-localize subscription and in-app purchase display names across all App Store locales using asc.

    208 GitHub stars~2.5k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Aso Marketing

    luongnv89/skills

    Optimize App Store and Google Play listings via a 7-phase, plan-approval-gated ASO workflow (keyword strategy, metadata, localization).

    131 GitHub stars~2.3k tokensUpdated yesterday
    MobileAuto-check passed
  • Gplay Metadata Sync

    hanamizuki/solopreneur

    Metadata and localization sync (including Fastlane format) for Google Play Store listings.

    152 GitHub stars~1.4k tokensUpdated 12 days ago
    MobileAuto-check passed
  • Shots

    hypersocialinc/shots

    Generate, revise, translate, and manage App Store / Google Play marketing screenshots.

    240 GitHub stars~2k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 686 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated today
    Auto-check passed
  • Manuscript Engagement Analytics

    hashgraph-online/awesome-codex-plugins

    Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…

    1.2k GitHub stars~875 tokensUpdated today
    Auto-check passed

Questions about Shots

What does Shots do?

Generate, revise, translate, and manage App Store marketing screenshots and app icon candidates through the hosted Shots MCP tools. Shots is an agent skill from hashgraph-online/awesome-codex-plugins. Generate, revise, translate, and manage App Store marketing screenshots and app icon candidates through the hosted Shots MCP tools.

When should I use Shots?

Shots fits situations like: app Store screenshot creation; app icon generation; ASO screenshot strategy; screenshot revisions.

How do I install Shots in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill shots -a claude-code`. Or copy the skill folder (plugins/hitSlop/shots/skills/shots in hashgraph-online/awesome-codex-plugins) into .claude/skills/shots in your project. Claude Code loads it when a task matches its description.

How do I install Shots in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill shots -a codex`. Or copy the skill folder (plugins/hitSlop/shots/skills/shots in hashgraph-online/awesome-codex-plugins) into .agents/skills/shots in your project. Codex loads it when a task matches its description.

Can I use Shots in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill shots -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shots, .gemini/skills/shots, .github/skills/shots and .opencode/skills/shots in your project.

What does Shots need to run?

Going by SKILL.md and its folder, Shots needs the command-line tools its instructions call (node). Its frontmatter pre-approves these tools: Bash(node *).

Does Shots access the network?

SKILL.md names 1 domain. In commands or code: shots.run; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Shots safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Shots use?

Shots is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Shots use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Shots?

Skills that share tags, products or a category with Shots: Asc Localize Metadata (CamilleScholtz/swmpc, 239 stars), Asc Subscription Localization (rorkai/app-store-connect-cli-skills, 1.1k stars), Asc Subscription Localization (malpern/VoxClaw, 208 stars) and Aso Marketing (luongnv89/skills, 131 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shots?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.