capture
Skill0 starsChanged 20 days agoMITView on GitHub
Capture App Store and Google Play screenshots on dedicated iOS simulators and Android emulators, at store-accepted sizes, with a clean 9:41 status bar, alpha-free PNGs, in every language and in light and dark mode, saved as ready-to-upload folders in store order. Uses the project's seedshot mode when it has one (putting last release's back from .seedshot/ and taking it out again afterwards), so re-capturing for a new release is fully automatic; otherwise it captures whatever the app shows while the user navigates. Use this when the app is already prepared and the user wants screenshots taken or re-taken, or wants store-size captures of the current app. For a project with no demo data yet, use seedshot:all.
57 other projects use a version of this.
Adopted by
Most recently taken up by
- jzhao234/big-braintheir own version, first seen Nov 8, 2026
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- kazemcodes/skill-treetheir own version, first seen Nov 8, 2026
- jwm-axoni/claude-workbenchtheir own version, first seen Nov 8, 2026
- ArcticFox2029/chamnantheir own version, first seen Nov 5, 2026
- andreaskelm/pm-braintheir own version, first seen Nov 1, 2026
Used with
Projects with it also use weekly, ingest and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
gaiaaiagentSkillweekly
Generate a weekly digest rolling up dailies into higher-level pattern analysis
Also in 4 projects that use this
JaimeGBASkillingest
Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base
Also in 8 projects that use this
AnthropicSkillbrief
Generate contextual briefings for legal work — daily summary, topic research, or incident response. Use when starting your day and need a scan of legal-relevant items across email, calendar, and contracts, when researching a specific legal question across internal sources, or when a developing situation (data breach, litigation threat, regulatory inquiry) needs rapid context.
Also in 6 projects that use this
QuixiAISkillweekly-review
Review the past week across goals, tasks, calendar, journal, and commitments, then propose the next week
Also in 5 projects that use this
dubwoahSkillask
Answer questions about the codebase without generating or modifying any code. Use when the user wants to understand how something works, find where something is defined, or explore the project structure. Invoked with /ask.
Also in 4 projects that use this
termdockSkillrecall
Retrieves cross-session memories about past decisions, lessons, and patterns. Use when user asks about prior work, past decisions, or mentions a feature. Triggers include check memory, what did we decide, how did we solve.
Also in 6 projects that use this
Other versions57 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 57
- garrytan/gbrain★ 32ksame name
- andreaskelm/pm-brain★ 235same name
- manusco/resonance★ 38same name
- nimbalyst/nimbalyst-wiki★ 27same name
- Hassaan146/claude-skills★ 18same name
- ArcticFox2029/chamnan★ 10same name
- JaimeGBA/Ion★ 9same name
- sunitghub/canon-skills★ 9same name
- philippe-desplats/second-brain★ 6same name
- GavinGreenwood/agentic-workflow-template★ 5same name
47 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 0 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 55 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Run ios.py doctor / android.py doctor first.
- Very specific: line 28
If the module is in the code (/seedshot:seed left it there), use it as it is.
- Very specific: line 30
With the app's own demo mode: if the app already has launch arguments for demo data or screens, pass them with launch --param KEY=VALUE.
- Very specific: line 35
Use the bundled scripts. They wrap the fiddly parts, so you don't re-derive them each time.
- Very specific: line 67
Don't overwrite earlier runs: If the output folder already has images, move it aside to <output>.bak-<YYYYMMDD-HHMM> instead of deleting it.
- Very specific: line 69
If a capture step misbehaves (locale not applied, screen never settles, landscape-only app, install errors), see "Capture troubleshooting" …
- Very specific: line 73
Run ios.py cleanup / android.py cleanup.
- Very specific: line 74
If a Seedshot session is active (session.py status), take seedshot mode out again with session.py restore, as "At the end of the run" in …
- Very specific: line 76
When seedshot:all sent you here, clean up after the verify step instead, since it may re-capture.
- Very specific: line 80
Run the automated store checks: python3 ${CLAUDE_PLUGIN_ROOT}/scripts/verify.py <output> --fix --sheet.
- Very specific: line 82
Report: Keep it short: the output path and the contact sheet, image counts per platform/device/locale/appearance, any problems you saw, and …
“Common” is measured: kept by at least 6 in 10 of the 55 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Seedshot: capture
The plugin folder is ${CLAUDE_PLUGIN_ROOT}. The files you read from it below aren't expanded: where their paths say CLAUDE_PLUGIN_ROOT, use this folder. The shell doesn't set that variable.
Before you start
If .seedshot/config.json exists, load it, apply any arguments the user passed (e.g. ios only, tr-TR en-US, skip dark, screens: home, stats) and show a one-line summary of what you'll capture. Otherwise, follow ${CLAUDE_PLUGIN_ROOT}/references/plan.md to discover the project and plan the capture: the matrix (from the arguments, else everything), screens, output folder and build command. When seedshot:all sent you here, the plan is already approved, so go straight on.
Run ios.py doctor / android.py doctor first. If something is missing, tell the user exactly what to install, and ask before any large download.
How each screen is reached
- With seedshot mode:
launch --screen <id>opens each screen with seed data, and the whole matrix runs on its own. Add--loginwhenaccess.signInisaccount.- If the module is in the code (
/seedshot:seedleft it there), use it as it is. - If it isn't, but
.seedshot/seedshot.patchexists (a previous run saved it), runsession.py apply. It starts a session and puts the module, hooks and seed data back. Redo by hand any file it lists as not applying, following${CLAUDE_PLUGIN_ROOT}/skills/seed/SKILL.md, and register what you touch withsession.py track.
- If the module is in the code (
- With the app's own demo mode: if the app already has launch arguments for demo data or screens, pass them with
launch --param KEY=VALUE. - Without either: launch without
--screen, boot with the window visible (ios.py boot --show, orandroid.py bootwithout--headless), and let the user put each screen on display. Capture on their word, one screen at a time. Say upfront that what's on screen is then up to them, and that this is a lot of manual work for a full matrix, so suggest fewer locales or devices, or/seedshot:seedfirst.
The scripts
Use the bundled scripts. They wrap the fiddly parts, so you don't re-derive them each time. Run each with --help for usage.
ios.py:doctor,device(finds or creates a dedicated "Seedshot …" simulator for a device class),boot,statusbar(9:41, full battery and signal),appearance,install,launch(locale + seedshot parameters),shot(waits until the screen stops changing, then saves an alpha-free PNG),cleanup.android.py:doctor,avd(creates a dedicated AVD at a store-safe resolution),boot,demo(clean status bar via SystemUI demo mode),appearance,install(grants runtime permissions),launch(sets the per-app locale, then starts with seedshot extras),shot,cleanup.session.py:start,track,status,restore,apply. Tracks every change Seedshot makes to the project, so it can all be undone.
S=${CLAUDE_PLUGIN_ROOT}/scripts
UDID=$(python3 $S/ios.py device phone) # or: tablet
python3 $S/ios.py boot $UDID && python3 $S/ios.py statusbar $UDID && python3 $S/ios.py install $UDID <App.app>
python3 $S/ios.py appearance $UDID dark
python3 $S/ios.py launch $UDID <bundle-id> --locale tr-TR --screen stats # + --login for a demo account
python3 $S/ios.py shot $UDID <output>/ios/phone/tr-TR/dark/02-stats.png
AVD=$(python3 $S/android.py avd phone) # or: tablet
SERIAL=$(python3 $S/android.py boot $AVD) # first boot of a new AVD takes 1–3 minutes
python3 $S/android.py demo $SERIAL && python3 $S/android.py install $SERIAL <app.apk>
# then appearance / launch / shot exactly as on iOS, with $SERIAL and the package nameCapture
Build once per platform, with the seedshot flag if the app has seedshot mode. Every locale's seed data is bundled, so locales and appearances switch at launch with no rebuild. Then:
- Pilot first. Capture one screen on one device in one locale. Open the image and inspect it closely. Most problems surface here: wrong data, a leftover dialog, the debug banner, the wrong language, a spinner. Fixing them now costs one rebuild instead of a hundred bad images.
Full matrix. Loop platform → device → locale → appearance → screen, with a fresh launch for every shot (
launchterminates the previous instance). Name files:<output>/<ios|android>/<phone|tablet>/<locale>/<light|dark>/<NN>-<screen-id>.pngNNis the store order from the plan (01,02, …). Each folder is then a ready-to-upload set in the right order.- Don't overwrite earlier runs. If the output folder already has images, move it aside to
<output>.bak-<YYYYMMDD-HHMM>instead of deleting it.
If a capture step misbehaves (locale not applied, screen never settles, landscape-only app, install errors), see "Capture troubleshooting" at the end of ${CLAUDE_PLUGIN_ROOT}/references/seedshot-mode.md.
Clean up
- Run
ios.py cleanup/android.py cleanup. They clear status-bar overrides and shut down the dedicated simulators and emulators. - If a Seedshot session is active (
session.py status), take seedshot mode out again withsession.py restore, as "At the end of the run" in${CLAUDE_PLUGIN_ROOT}/skills/seed/SKILL.mddescribes..seedshot/seedshot.patchkeeps it for next time.
When seedshot:all sent you here, clean up after the verify step instead, since it may re-capture.
When run on its own
Run the automated store checks: python3 ${CLAUDE_PLUGIN_ROOT}/scripts/verify.py <output> --fix --sheet. Fix every error, then open the contact sheet (<output>/index.html) for the user.
Report. Keep it short: the output path and the contact sheet, image counts per platform/device/locale/appearance, any problems you saw, and what restore put back. Suggest /seedshot:verify for the image-by-image review before upload.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

