Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Screenshot Critique

ASecurity

Use the unprimed sub agent as a second set of eyes before accepting visual work — MANDATORY before declaring any user-reported visual bug fixed or claiming a visual change verified; primed eyes pass defects fresh eyes catch.

2,066 stars
0 votes
0 copies
0 views
Added 9/29/2026
ai-agentsgo

Security Analysis

A100/100

Scanned 10/2/2026

$npx -y skills add dzhng/jevgrep --skill screenshot-critique --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Screenshot Critique?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Screenshot Critique
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dzhng-screenshot-critique-jevgrep/badge)](https://www.skillsdirectory.com/skills/dzhng-screenshot-critique-jevgrep)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: screenshot-critique
description: Use the unprimed sub agent as a second set of eyes before accepting visual work — MANDATORY before declaring any user-reported visual bug fixed or claiming a visual change verified; primed eyes pass defects fresh eyes catch.
---

# Screenshot Critique

Use an unprimed sub-agent as a second set of eyes before accepting visual work.
This is for visual defects, not pixel metrics; pair it with
`compare-screenshots` when you also need numbers — including on a single shot
with nothing to compare against, whose scene metrics say whether the frame has
any content in it at all.

## Workflow

1. Capture or locate the exact PNGs/GIF frames under review.
2. Keep native-size evidence and create supplementary 2x-4x crops for every
   key feature, plus the full screenshot. Include complete endpoints and fades;
   recheck crop bounds after geometry changes. Crop selected units, city/town
   stacks, flags/poles,
   shadows, selection rings, labels/icons, roads, terrain features, water, and
   any artifact-prone area. If the complaint is about "too faint", "wrong
   order", or "not in perspective", the crop is mandatory.
3. Spawn one fresh explorer with `fork_context: false`; pass only the full
   images, the crops, and a short neutral task. Include the approved reference
   and user requirements when judging fidelity; withhold history, implementation
   details, prior verdicts and the expected answer.
4. Ask for concrete visible defects with confidence levels. Name likely risk
   categories: unit/prop depth ordering, layering, shadows, selection-marker
   contrast, ground-plane perspective, flag/pole attachment, label style and
   icon readability, blur, scale, lighting, artifacts, missing models, terrain
   feature readability, roads, water, and overall scan readability.
5. Compare the sub-agent's critique against your own inspection. Treat overlap
   as high-priority evidence. Treat novel high-confidence findings as bugs to
   inspect, not as taste notes to dismiss.
6. Record actionable findings in the spec, visual report, or next task plan
   before claiming the screenshot is accepted.

## Sub-Agent Prompt

Use this shape, replacing the bracketed surface and attaching local images:

```text
Fresh visual critique task. You have no project backstory and should only
inspect the supplied screenshots and crops. First inspect the full screenshot
for context, then inspect each crop at zoomed scale. Look for concrete
visual/layout defects in [surface], especially unit/prop depth ordering,
layering, shadows, selection-marker contrast, ground-plane perspective,
flag/pole attachment, label style/icons, blur, scale, lighting, artifacts,
missing models, terrain feature readability, roads, water, and scan
readability. Do not assume these are correct. Return a concise list of issues
you can see, with confidence and whether the issue is visible in the full image,
the crop, or both.
```

Spawn config:

- `agent_type`: `explorer`
- `fork_context`: `false`
- attach screenshots as `local_image` items
- omit model overrides unless the user explicitly requests one

## Rules

- **Mandatory before "fixed":** never declare a user-reported visual bug fixed
  on your own inspection — your eyes are primed by the fix you just made. Run
  the unprimed critique on the candidate shot first; "mild residue" you are
  tempted to wave through is exactly what it exists to catch. (Recorded
  failure: a "fixed" sky that an unprimed agent identified as the terrain
  mesh's underside filling the entire sky region.)
- **Reproduce the reporter's framing.** When the user supplied a screenshot,
  the critique must include a capture at that framing (same camera/zoom/spot,
  or as close as reproducible) — a defect that lives at their framing can be
  invisible at yours. Your chosen probe framing is a supplement, never the
  substitute.
- **Prove the change is real before critiquing it.** Byte/pixel-diff the
  candidate against the pre-change baseline first: a critique of an unchanged
  image "verifies" a no-op. (Recorded failure: a palette pass that never
  reached the production render path — before/after were byte-identical and
  only the diff caught it.)
- **Hand over the complete capture set, never a curated one.** Every state you
  captured, every viewport, desktop and mobile. Choosing which shots to show is
  the same bias the fresh pass exists to remove: you will pick the ones you
  already believe are fine, and the weak state is exactly the one that gets
  left out. If a state is hard to reach by hand, drive it deterministically and
  capture it rather than omitting it.
- **When no sub-agent is available, argue the other side yourself.** For each
  feature under judgment, write one sentence making the strongest case that it
  is broken, citing only what is visible in the shot — then decide. Writing the
  case first is what makes it adversarial; deciding first and justifying after
  is the primed inspection this skill exists to replace. Include those
  sentences in the report so the reasoning is reviewable.
- Never tell the sub-agent the defect you expect it to find.
- Use the current candidate screenshot, not a stale report or baseline image.
- Do not rely on full-page report scale for small visual features. Attach
  crops around the exact features a player would read: selected army/city,
  label/icon clusters, flags, shadows, ring edges, road crossings, terrain
  feature patches, water labels, and suspicious debug/artifact regions.
- If the sub-agent says a crop reveals an issue that is weak or invisible in
  the full shot, treat it as a real usability defect when the player can zoom
  to that scale in-game.
- For animation, attach a short set of deterministic still frames first; GIFs
  are useful for human review, but still frames make specific defects easier to
  name.
- A passing headline does not erase a reported small mismatch or uncertainty.
  Resolve it using [Reference Landmarks](../compare-screenshots/references/reference-landmarks.md);
  a second opinion does not replace direct inspection or regression gates.
- If the sub-agent catches an issue the main agent missed, add that failure mode
  to the relevant feature plan or visual checklist immediately.

Attribution

dzhngdzhng
View sourceSee grades on GitHubMore from dzhng →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →