Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zookanalytics-review-demo
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/review-demo
What's inside
- Skill name
review-demo- Description
- The method for the demo check, the visual review. Decide whether a change needs a visual to be understood and, when it does, pick the cheapest modality that conveys it (a visual the repo already carries, a screenshot, or a narrated video), deliver it to the PR inline and uncommitted, and record the decision on one signoff verdict. Use when you hold a review bead whose check_name is demo, or when triage asks whether a diff warrants the demo check.
- License
- MIT
- Compatibility
- Requires Gas City (gc CLI, $GC_* env, beads).
- Instructions
- 251 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: assets/scripts/rig-demo-capture.sh, assets/scripts/demo-screenshot.sh
Files (1)
- SKILL.md
SKILL.md (first lines)
# The demo check The demo check decides whether a change needs a visual to be understood, and delivers the right one when it does. Need comes first: would a reviewer understand this change better by seeing it than by reading the diff? Modality comes second: what is the cheapest visual that shows it? When no visual helps, the check approves with a one-line note and attaches nothing. This check holds the specialist stance: load `gc-toolkit.specialist-stance` before you judge. This file is the visual lens. Whether the change is correct is the `correctness` check's. Whether it is the right thing to ship, and presents itself so the operator can decide, is the `pm` check's. ## What it reads The anchor `<anchor_bead>` for what the change is for, then the diff at `<reviewed_oid>`, in `<worktree>`: `git diff origin/<review_base>...HEAD`. The draft PR, `<review_pr_url>`, and its preview where the rig's host deploys one. The rig's guidance for this check, the reviewed commit's `docs/review-demo.md`, which the review formula printed when the commit carries one: a rig names its own visual surfaces there, and how to serve its app for a capture. ### When it runs The check index places `demo` at the `open-as-draft` phase. Triage adds it before the PR exists, the refinery opens the PR as a draft, and this check runs against that draft. Where the rig's host deploys previews for pull requests, the draft has one. The PR does not leave draft for human review until every pre-open and open-as-draft check reads green, this one included. ## What it judges ### When triage adds it Triage adds `demo` when the diff changes a surface a person looks at: - a rendered page, component, board, or dashboard; - a layout or styling change; - a new or changed interactive flow; - output a person reads in a terminal, such as a command's report; - markdown the city posts on GitHub, such as a review comment or a PR body. Logic, refactors, internal plumbing, tests, and docs read as text need no visual, and triage adds nothing for them. That is the common case. The default check set is the baseline, `correctness,triage`, so under it `demo` runs only on a diff triage added it to. ### Decide need Triage made a coarse call when it saw a surface in the diff. Yours is the fine call: does seeing the change explain it better than reading it? A change to a page's source that alters nothing the page renders, or a style change too small to notice in a capture, needs no visual. An explicit request for a visual, in the anchor or from a human on the PR, settles need: a visual is needed. When no visual helps, approve with a one-line note that says why, attach nothing, and record `--visual none`. ### Pick the modality When a visual helps, pick the cheapest one that conveys the change. | Modality | What it shows | Pick it when | |---|---|---| | `repo-artifact` | a visual the repo already carries: a diagram, an image, or a clip in the diff or named by the change | a committed visual already shows what changed, so nothing needs capturing | | `screenshot` | one rendered state of an app page, of a command's output in a terminal, or of markdown as GitHub renders it | a single frame carries the change: a page or a board, a report a command prints, a comment the city posts | | `video` | motion, or a flow across several steps, with narration | the change happens over time: an interaction or a sequence | Prefer the cheaper modality unless the change needs the richer one. A static layout change is a screenshot, not a video. A new multi-step flow is a video. ### Produce it and deliver it The pack's scripts named here sit in the directory `gc <binding> scripts-dir` prints, where `<binding>` is the name in front of this skill's: `gc-toolkit` in `gc-toolkit.review-demo`. A capture takes minutes, so it runs under the claim-lease keepalive the review formula names, from the review workspace, the directory that holds `<worktree>`, so the engine's working files stay out of the reviewed tree. Every modality reaches the PR the same way. `demo-deliver.sh --file <path> --subject <anchor_bead>` resolves the PR from the anchor and attaches the file to it in a comment, inline and uncommitted. It refuses a PR outside the rig's origin and exits non-zero when it cannot attach. `doctor/check-demo-toolchain` reports whether the `gh` it needs is present. - `video`: record it in this review with `rig-demo-capture.sh --script demo.md --output demo.mp4 <app target>`, the rig-demo mol's capture core. Do not pour `mol-rig-demo` for it. A pour runs later in another session, so this verdict could not judge its clip, and by then the reviewed worktree is gone. The skill `gc-toolkit.gc-demo-script` writes the `demo:capture` script from the anchor and the diff. Keep the script and the clip in the review workspace. The app target is the draft's preview, `--base-url <url>`, where one deploys. Otherwise serve the reviewed worktree, so the clip shows the reviewed commit: `--serve-dir <worktree>/<dir>` for a static build, or `--serve "<command>" --cwd <worktree>` for a dev server. Exit 0 is a clip in which every step's proof held, exit 3 is a clip in which at least one step failed its proof, and exit 1 is no clip. The last line names the clip and says whether it is narrated. Narration needs `OPENAI_API_KEY` in the session. Without it the clip is silent and captioned, and it still shows the change. `doctor/check-demo-toolchain` reports which parts of the capture toolchain resolve in this session. - `repo-artifact`: list the visuals the reviewed commit already carries. ```bash "$(gc <binding> scripts-dir)/demo-repo-artifact.sh" candidates --base "origin/<review_base>" --oid "<reviewed_oid>" --anchor "<anchor_bead>" --repo "<worktree>" ``` Each line gives a reason and a path. `changed` is a visual the diff adds or edits. `named` is one whose path appears in a line the diff adds or in the anchor. `near` is one in a directory close to a changed file's, nearest first. Exit 3 means the commit carries no such visual, so this modality does not fit. Open an image candidate at `<worktree>/<path>` before you pick it. A committed visual shows what its author recorded, not a run of the reviewed commit. Pick one that matches what the diff does, because one that shows a state the reviewed commit no longer produces would mislead the human.
From zookanalytics/gc-toolkit, MIT.
More from zookanalytics/gc-toolkit
- 0.620score
review-correctness
zookanalytics
The method for the correctness check, the standing review of whether a change is correct and safe as merged.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-triage
zookanalytics
The method for the triage check — a broad, cheap scan that does not judge a change but decides which specialist checks it needs, then records that decision by…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-arch
zookanalytics
The method for the arch check — the Architect, steward and gatekeeper of the repo's high-level architecture.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
learning-distill
zookanalytics
The promotion-judgment rubric for the feedback-learning loop — use when you are the mol-feedback-distiller judging pending feedback observations into…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prs
zookanalytics
Use when something has to happen to an open pull request or its anchor bead.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
records
zookanalytics
Use when you need to write down what was decided, what happened, or what a bead needs, so whoever reads it next inherits it.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-pm
zookanalytics
The method for the PM check — the product lens on a change, reviewed by a peer to the author rather than an order-taker.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
work
zookanalytics
Use when you have to say that something needs doing, carry out a decision about who does it, or change work already asked for.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
gc-demo-script
zookanalytics
Generates a demo:capture-format script from a closed Gas City work bead by reading the bead tree, git commits, and PR diff
SkillAFreshness: A★ 5Claude Code +9 - 0.615score
waits
zookanalytics
Use when something must not go yet because it has to wait for other work to land, or for a person to decide or act.
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
converse-recheck-premise
zookanalytics
Converse's premise re-check and moot/benign visit close-out.
SkillAFreshness: A★ 5Claude Code +9 - 0.610score
converse-hold
zookanalytics
Converse's demand-gate hold (safety-critical).
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 18, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/zookanalytics/gc-toolkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from zookanalytics
- 0.620score
review-correctness
zookanalytics
The method for the correctness check, the standing review of whether a change is correct and safe as merged.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
learning-distill
zookanalytics
The promotion-judgment rubric for the feedback-learning loop — use when you are the mol-feedback-distiller judging pending feedback observations into…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
records
zookanalytics
Use when you need to write down what was decided, what happened, or what a bead needs, so whoever reads it next inherits it.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prs
zookanalytics
Use when something has to happen to an open pull request or its anchor bead.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-pm
zookanalytics
The method for the PM check — the product lens on a change, reviewed by a peer to the author rather than an order-taker.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
work
zookanalytics
Use when you have to say that something needs doing, carry out a decision about who does it, or change work already asked for.
SkillAFreshness: A★ 5Claude Code +9
Cite this page
review-demo skill. Agent Mart. https://agentmart.dev/skills/zookanalytics-review-demo (last updated 2026-10-24)