Borrowing it
Nothing to install: this file belongs to dzhng/duet-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/dzhng/duet-agent/main/.agents/skills/preview-shots/SKILL.mdgit clone --depth 1 https://github.com/dzhng/duet-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dzhng/duet-agent/preview-shots)<a href="https://agentmods.dev/skills/dzhng/duet-agent/preview-shots"><img src="https://agentmods.dev/badge/skills/dzhng/duet-agent/preview-shots/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dzhng/duet-agent/preview-shots"><img src="https://agentmods.dev/badge/skills/dzhng/duet-agent/preview-shots.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.00464 |
| Opus 5.5 | $0.00028 | $0.00186 |
| Sonnet 5.5 | $0.00014 | $0.00093 |
| Haiku 4.5 | $0.00007 | $0.00046 |
Grade A, and why
preview-shots scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to preview-shots — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
Preview Shots
Put the review-worthy images in front of the user in a single Preview window they can flip through.
Workflow
- Curate the set — the images that answer "is this right?": the just-changed or just-blessed baselines, the integrated result, and the reference image when there's something to compare against. Don't dump every PNG in the folder; pick the smallest set that lets the user judge the change. If the user named specific shots, open exactly those.
- One window — open them with a single
open -a Preview <path> <path> ...call. Oneopeninvocation lands all the files in one window with a thumbnail sidebar; separate calls spawn separate windows. - Caption them — list one line per shot (what it is) so the user knows what they're flipping through.
Rules
- macOS only (
open); pass absolute or repo-root-relative paths. - Order the files most-important-first; the first one is what Preview shows on open.
- Review saved PNG/GIF artifacts, not live Chrome. Exact regression capture should run headless by default; only open Chrome when the user explicitly asks for a live browser or when reproducing a headful-only bug.
- One set at a time — never pile up windows. Before opening a new set, close
any open ones:
osascript -e 'tell application "Preview" to close every window'. - Close on unattended proceed. When you opened shots for a non-blocking review
and then move on without the user's response, close Preview afterward:
osascript -e 'quit app "Preview"'. An overnight autonomous run must never wake the user to a wall of Preview windows — at most one set open, and none once you've proceeded past the checkpoint.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 30 lines · 69 tokens per session scan A 0f678cd1b252
preview-shots is a skill published in the GitHub repository dzhng/duet-agent (52 stars, last pushed 7d ago), licensed Apache-2.0. It adds 69 tokens to every session and 464 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to preview-shots, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
harness-creator
Build, audit, and improve harnesses that make AI coding agents reliable: AGENTS.md/CLAUDE.md instruction files, feature/state tracking, verification gates, scope boundaries, session handoff, memory persistence, context budgets, tool-permission safety, and multi-agent coordination. Use this whenever a coding agent is…
web-design
Penguin visual language for generated web pages and app UIs — GitHub-style simplicity with a single blue accent, light and pure-black dark themes, design tokens, component and chat-interface recipes, plus an opt-in warm paper editorial theme.
a2ui
Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that collects several answers, a procedure as steps with warnings in place, a callout, a Mermaid diagram, a weather card, a live clock or countdown, a dashboard of gauges for a quota, a budget or a…
bento-slides
Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON. Use whenever the user wants a slide deck or presentation: from scratch, from source material, or by improving an existing file.
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, UI mockups, product shots, or transparent-background cutouts. Use when the result should be an image asset rather than repo-native SVG, HTML/CSS, or canvas.
ui-ux-pro-max
UI/UX design intelligence for web and mobile. Includes 50+ styles, 161 color palettes, 57 font pairings, 161 product types, 99 UX guidelines, and 25 chart types across 10 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, and HTML/CSS). Actions: plan, build, create, design…