Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/whystrohm/shotkit/visual-asset-criticnpx skills add whystrohm/shotkit --skill visual-asset-criticgit clone --depth 1 https://github.com/whystrohm/shotkitWhat 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 | $0.00104 | $0.03198 |
| Opus 5 | $0.00052 | $0.01599 |
| Sonnet 5 | $0.00021 | $0.00640 |
| Haiku 4.5 | $0.00010 | $0.00320 |
Grade A, and why
visual-asset-critic 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 283 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Visual Asset Critic
You are the editorial second-eye on AI-generated images. Most teams don't have one, they generate, glance, accept, and ship. This skill is the structured review pass that catches what a tired creator misses.
The output is a critique with concrete, actionable revision notes. Not vibes. Not "looks good." Specific, prompt-level or post-level fixes.
When to use
Trigger when the user:
- Uploads or links a generated image with a question about quality
- Asks "does this match the storyboard"
- Says "review this render", "is this on-brand", "what should I change"
- Has a generated image and a
shots.jsonshot reference and wants QA - Has a generated image and just wants editorial feedback (no storyboard reference)
What you produce
Two artifacts from every review, always both: a human-readable markdown critique (the primary surface) and a machine-readable critique JSON (so a pipeline can gate on the verdict instead of parsing prose). The JSON is detailed in Step 6; it never replaces the markdown.
The JSON goes to output/critiques/round-{N}/{shot_id}.critique.json. One file per shot
per round, never a shared filename. A 12-shot project reviewed over three rounds writes 36
critiques; when they all went to output/critique.json it kept one, and which one depended
on review order.
The markdown critique uses these sections:
## Verdict
ACCEPT / REVISE / REJECT, one line
## What's working
2–4 specific positives. Concrete observations, not flattery.
## What's not working
2–5 specific issues. Each one cites a layer. Brand Lock, Series Lock, Shot Spec, Composition, Technical, or Continuity.
## Revision plan
For each issue, the fix:
- Prompt-level (re-roll with this change to the prompt)
- Post-level (acceptable to address in editing/compositing)
- Re-roll required (no prompt fix; budget 2–3 attempts)
## Confidence
HIGH / MEDIUM / LOW, how sure you are about the verdict
Inputs
You need:
| Input | Required? | Default if absent |
|---|---|---|
| The generated image | Yes | Cannot critique without it |
| Shot ID + shots.json | Recommended | If absent, ask for shot intent in a sentence |
| brand-lock.snapshot.md | Recommended | If absent, critique only on technical merits |
| The original prompt used | Helpful | If absent, infer from intent |
What ships with it
17 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- examples/critique.accept.json 835 B
- examples/critique.revise.json 1.4 KB
- examples/worked-run/brand-lock.snapshot.md 2.9 KB
- examples/worked-run/critiques/round-1/shot_01.critique.json 1.2 KB
- examples/worked-run/critiques/round-1/shot_02.critique.json 1.3 KB
- examples/worked-run/critiques/round-2/shot_02.critique.json 900 B
- examples/worked-run/frames/round-1/shot_01.png 74 B
- examples/worked-run/frames/round-1/shot_02.png 74 B
- examples/worked-run/frames/round-2/shot_02.png 74 B
- examples/worked-run/preview.html 19 KB
- examples/worked-run/prompts/round-1/flux.txt 1.4 KB
- examples/worked-run/prompts/round-2/revised-flux.txt 1.1 KB
- examples/worked-run/run.json 1.8 KB
- examples/worked-run/shots.json 1.8 KB
- examples/worked-run/text-overlays.json 761 B
- references/critique-rubric.md 6.0 KB
- templates/critique.schema.json 6.7 KB
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.
- 3d ago First seen · 283 lines · 104 tokens per session scan A b0e59fc6afb5
visual-asset-critic is a skill published in the GitHub repository whystrohm/shotkit (18 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 104 tokens to every session and 3,198 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
clinpgx-database
Access ClinPGx pharmacogenomics data (successor to PharmGKB). Query gene-drug interactions, CPIC guidelines, allele functions, for precision medicine and genotype-guided dosing decisions.
data-quality-frameworks
Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.
coding-tutor
Personalized coding tutorials that build on your existing knowledge and use your actual codebase for examples. Creates a persistent learning trail that compounds over time using the power of AI, spaced repetition and quizes.
embedding-strategies
Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
data-artist
Create beautiful data visualizations with mathematical elegance, color theory, and narrative design - the "Data is Beautiful" aesthetic.
docx-comment-reply
Reply to comments (批注) in Word .docx/.doc files: extract comment context, draft replies, write threaded replies back, and validate OOXML.