screenshots
Skill490 starsChanged 8 days agoMITView on GitHub
Take README or release screenshots of the Runner development build on macOS — wrap the debug build in a temporary .app so computer use can drive it, set up the scene in the development data, and capture the window at Retina size with the macOS screenshot keys. Use when Jason asks for a new or refreshed product screenshot.
16 other projects use a version of this.
Adopted by
Most recently taken up by
- solo-ist/prosetheir own version, first seen Nov 8, 2026
- artsy/eigentheir own version, first seen Nov 2, 2026
- bloknayrb/tandemtheir own version, first seen Oct 29, 2026
- petecurran/sortedtheir own version, first seen Oct 17, 2026
- xfstudio/skillstheir own version, first seen Oct 13, 2026
- pablopunk/SwiftShifttheir own version, first seen Oct 8, 2026
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- tabler/tabler★ 42ksame name
- artsy/eigen★ 3.8ksame name
- d4rken-org/permission-pilot★ 694same name
- pablopunk/SwiftShift★ 664same name
- bloknayrb/tandem★ 28same name
- xfstudio/skills★ 9same name
- solo-ist/prose★ 8same name
- keinstn/drover★ 4same name
- moasq/ios-dev-agent★ 4same name
- magnusrodseth/dotfiles★ 3same name
6 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
2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 27
Create what the picture needs yourself.
- Distinctive: line 28
Keep the sidebar clean with the Active view, the list-filter button beside Search, which shows only running work.
“Common” is measured: kept by at least 6 in 10 of the 16 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
Screenshots
Product screenshots come from the development build, never the installed Runner, so they show the code on main and leave Jason's own chats alone. Computer use rejects the bare target/debug/Runner executable, so script/screenshot-app wraps it in a temporary Runner Screenshot Dev.app with its own bundle ID and launches it against the development data. Computer use then sets up the scene and presses the macOS screenshot keys, which save the window at full Retina resolution; computer use's own screenshots only come back to the agent, scaled down. This is the same wrapper the full smoke procedure uses for QA.
A screenshot request authorizes launching the development app and starting chats or missions for the scene. It does not authorize Git writes, which follow AGENTS.md.
Take a screenshot
- Check the development app is free.
script/qa-lock statusmust say free, and notarget/debug/Runneror wrapper may be running. If a mission's qa holds the lock or another development app is open, wait or ask Jason; never stop someone else's app. - Build in a checkout of the code to show, usually the root checkout on
main:cargo build -p runner-cli -p runner-app. Work on the README or the guide itself happens in its own branch worktree; point the script at the build withCARGO_TARGET_DIR=<checkout>/target. Bundle and launch into a fresh scratch folder:
shot=$(mktemp -d) CARGO_TARGET_DIR=<checkout>/target script/screenshot-app bundle "$shot" script/screenshot-app launch "$shot"The launch starts the development daemon if none is running, and the saved development chats resume. It strips the calling agent's
CLAUDE*,CODEX*,RUNNER_*andANTHROPIC_*variables, which would otherwise reach the daemon and every chat it starts:CLAUDE_CONFIG_DIRputs the chat on the agent's own account, andCLAUDE_CODE_CHILD_SESSIONturns off its transcript, so it shows a warning and cannot resume. If a development daemon was already running from such a launch, quit the app, runrunner-dev daemon stopand launch again. Emptying the environment entirely withenv -idoes not work: Claude Code launches then hang.- Grant computer use for the bundle ID
com.wycstudios.runner.screenshot-devwithrequest_accessandsystemKeyCombos, which the screenshot keys need, then take a screenshot to find the window. - Set up the scene.
- Create what the picture needs yourself.
runner-dev chat start --runtime <runtime> --cwd <folder>starts a chat without driving the launcher; select it in the sidebar afterwards. Never type into, archive or rearrange a development chat or mission you did not create. - Keep the sidebar clean with the Active view, the list-filter button beside Search, which shows only running work. Leftover QA projects and other people's chats then stay out of the picture.
- Show real state. A runtime-only chat started from the CLI sits idle at its welcome screen, which is enough; send no prompts. To show git status, run the chat in a branch worktree that has real uncommitted changes, such as the one holding the README edit the screenshot is for.
- In the Files view, a source file shows the reader best. Markdown that is mostly HTML, like the README, renders as written, and a file with YAML front matter, like a skill, shows it as a paragraph.
- Dark theme and the Solid material, the defaults, match the existing images. Hide anything personal: account names in pane headers are fine, private repository names and paths outside the project are not.
- Create what the picture needs yourself.
- Size the window so every pane has room. The README images are 1684 to 2280 points wide (3368 to 4560 pixels): a single chat fits the smaller size, but the Files view needs about 2280 × 1245, or the chat is squeezed to its minimum. Computer use cannot drag the window's corner outward, because the drag would end on the desktop, so ask Jason to size the window when it has to grow.
- Capture the window without its shadow. Click empty sidebar space so the window is in front, then press ⌘⇧4, then Space, and click the window holding
option; the modifier must be namedoption, sincealtdoes not register and the capture then keeps the shadow margin. The file lands in the folderdefaults read com.apple.screencapture locationnames, the Desktop by default, and its name has a narrow no-break space before AM or PM, so find it withfind ~/Desktop -name 'Screenshot*<time>*'. Check the pixel size withsips -g pixelWidth -g pixelHeightand look at the image before copying it toassets/<name>.png; capture again rather than editing pixels. Move every capture you made off the Desktop. - Clean up. Archive the chats you created with
runner-dev session archive <id>, afterrunner-dev session show <id>confirms each is yours, and any missions withrunner-dev mission archive. Thenscript/screenshot-app quitand delete the scratch folder. Leave the development daemon running.
Where screenshots go
- README:
assets/<snake_name>.png, referenced from a feature row in bothREADME.mdandREADME.zh-CN.md, with alt text in each language that says what the picture shows. A refreshed image keeps its file name so links stay stable. - Release notes: drag the image into the release editor on GitHub. Do not attach it as a release asset, which would add to the files the update feeds and download page list.
A refreshed README image is a doc-only change and goes straight to main from the root checkout; a change to the script or this skill goes through a pull request.
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.

