Repository navigation
Add a shots skill for archdev shots - #64
Merged
Merged
Conversation
Teaches agents to check the Shots consent setting first (doctor, settings get) and ask the person to enable it, then capture stills, render React/Ink/PTY fixtures, record movies, read review.json feedback through shots status, upload runs and work with user stories. Registered in the catalog and regenerated into every harness plugin. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
calvin-archastro
force-pushed
the
feat/shots-skill
branch
from
October 13, 2026 16:49
f45ef94 to
1f2a54d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and intent
archdev shots(Rust CLI, 0.52.1+) can capture stills, render React/Ink/PTY fixtures, record movies, read Astroshots review feedback, upload runs and manage user stories, but no distributed skill teaches an agent how to use it. The olderastroshot,astroshots-reviewanduser-storyskills describe the standalone TypeScript tool and are being removed from firstlanding. Shots is also consent-gated: every command exceptdoctorand--helprefuses until the person runsarchdev settings set shots on, and that command refuses inside an agent session. An agent without guidance either fails repeatedly or tries to work around the setting.This PR adds a
shotsskill thatarchdev setup --skillscan install next toarchdev,tasksandtasks-execute, and that a plannedarchdev shots --skillcommand can print.What changed
shots/SKILL.md(new, one file so it reads the same when printed by the CLI):archdev shots doctor(exit 0 only when on),archdev settings getrows, asking the person to enable Shots in their own terminal, per-profile settings,shots-upload auto|manual, and the unattended-harness profile pattern (harness code only, not a consent bypass).archdev shots capture, including the run lifecycle (--status,--finalize,--run-id), naming rules and validation.archdev shots status(seen, stale, unseen; run scoping).archdev shots upload.archdev shots stories.catalog/archdev.json: registers the skill and adds ascreenshotskeyword.plugins/**: regenerated withtools/plugin-gen(npm run build). No generated file was edited by hand.There is no
scripts/bootstrap.*for this skill. The skill needs the CLI to exist already (it is also printed by the CLI). The pinned installer that the other bootstraps use (a530d21) installs the TypeScript CLI on Windows, and that CLI has noshots.Scope: skill content and generated plugin files only. Risk: low. Documentation only; no installer, hook or CLI change.
Testing
--helpfrom a binary built from firstlandingmain(00042d6109, 0.52.1). Behavior was run in a throwaway HOME: off gate anddoctorexit codes; the settings refusal; capture, run and finalize lifecycle; numbering; lock timeout and stale-lock messages; status states, including a hand-writtenreview.jsonfor seen and stale; stories new, list, show and run-dir; a PTY still; PTY, frames and browser movies; and the signed-out upload error.tools/plugin-gen:npm run typecheck,npm test(62 pass) andnpm run check(132 generated files match).scripts/test-skill-bootstrap.shpasses. It is unchanged, because the skill ships no bootstrap.Harness pluginsworkflow).Known issues found in
archdev shots(not fixed here)movie run --scriptfail on a stock install withastroshot node helper could not load "tsx/esm/api". The embedded helper resolvestsx,vite,@vitejs/plugin-reactandplaywright-coreonly from its own directory, anddoctordoes not report this. The skill documents a workaround: copy the helper, install the packages next to it, and pointASTROSHOT_NODE_HELPERat it.shots-upload autois stored and displayed, but nothing onmainreads it yet.archdev shots upload --rootdefaults to the current directory, while every other subcommand defaults to the Git top level.--format mp4gives WebM for browser movies, and for any movie when ffmpeg is missing.--run-idsilently replaces a running run.shots statusonce a new run starts.shotsis hidden fromarchdev --help.🤖 Generated with Claude Code