Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
The English summary is being prepared. Showing the original description.
Use when creating and embedding a documentation screenshot — detect and redact sensitive data, human-gate data-bearing shots before ship. Triggers 'screenshot for docs', 'screenshot admin panel'.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
The executable workflow behind doc-screenshot-hygiene.
A screenshot embedded into shipped docs is an irreversible published egress —
once committed and hosted, any PII, secret, or revealing local path on it is out.
This skill makes agents create doc screenshots that are as neutral as possible,
with a conservative, err-on-the-side-of-redaction posture.
docs/media/ (or a docs image folder).Do NOT use for:
image-generation / image-editing /
media-governance-routing for likeness/rights).design-fidelity / cross-source-consistency).Classify the risk tier first (symmetric friction):
| Tier | Examples | Path |
|---|---|---|
| Illustrative / no data | architecture diagram, logo, icon, wireframe, placeholder-only UI | Embed with a one-line justification. |
| Data-bearing | dashboard, admin panel, form/list with content, any real-looking data | Full workflow + human gate before embed. |
| Terminal / CLI / IDE | shell output, editor, path bars | Forbidden. Use a text code block; redact the text. |
Prefer a diagram or a placeholder-data screenshot over a real-data one whenever
it conveys the same thing. Terminal output → copy the text into a fenced block
and redact the text (cheaper and safer than a pixel screenshot). Respect
screenshots.forbid_terminal_capture (default true).
Use the host's capability (claude-in-chrome for web UI, Playwright's
page.screenshot inside a test harness). Record which tool captured it. The
package ships no capture engine (no-runtime-floor). Capture into a working file
under the scratchpad or docs/media/ — do not embed yet.
OCR the image (host OCR, or the image-analyser skill's text read) and scan the
extracted text against the taxonomy below and screenshots.identity_allowlist.
Produce a flagged-regions report: for each hit, the text, the bounding box,
and the reason. Detection reduces the human's work — it never certifies the
screenshot as safe (it cannot see semantic leaks: aggregate counts that reveal
real users, real-vs-fake data tells, re-identification via name structure).
Anonymization taxonomy — always redact / refuse:
@example.{com,org,net} / a fake-data domain)./Users/<realname>/…,
/home/<realname>/…).*.internal).Allowed (no redaction): well-known fake data (Max Mustermann, Musterstraße,
@example.com); the maintainer's OWN public handle shown as a username, and a
path rooted at that handle (/Users/<handle>/…). The maintainer's real name
is never allowed, even co-located with the handle. The safe set lives in
screenshots.identity_allowlist (default empty → every identity is human-decided).
Draw an opaque box (or heavy blur/pixelation) over each flagged region. Deterministic, visible, and non-reversible — never AI inpaint (lossy; reconstructs, may hallucinate; docs need visual accuracy). Redaction is tool-agnostic — use whatever image tool is present in the environment:
magick/convert present): draw a filled rectangle over
each region, e.g.
magick in.png -fill black -draw "rectangle X1,Y1 X2,Y2" out.png (repeat
-draw per region), or -region … -blur 0x18 for a blur./site workspace):
composite an opaque rectangle over each region.If no image tool is available → missing-tool-handling: STOP, surface the
flagged regions, and hand off to the maintainer to redact manually. Never ship
an unredacted screenshot because a tool was missing. Never silently downgrade
the guarantee.
For a data-bearing screenshot, embedding is a published egress → this-turn
human confirmation per non-destructive-by-default.
Present the redacted candidate + the checklist; wait for the answer.
Pre-embed audit checklist:
@example.com only).Unresolved / uncertain on any line → redact or refuse, never ship-and-hope. An illustrative / no-data screenshot skips the confirmation but still passes the checklist and carries a one-line "no sensitive data" justification.
Place the reviewed, redacted file under docs/media/ (or the docs image folder)
and reference it from a canonical docs/*.md. For the Starlight site,
site/sync-docs.mjs auto-copies docs/media/* into site/public/media/ and
rewrites ](media/…) links — so the embed flows to the site on build. Add
descriptive alt text. Generalize the same discipline to a README or any other
docs surface.
matze4u is
fine; "Matthias Müller" next to it is still redacted.doc-screenshot-hygiene — the rule that routes here (Iron Law + taxonomy + risk tiers).non-destructive-by-default — the published-egress gate the data-bearing embed routes into.domain-safety-pii — the text-surface sibling (drafts / logs / exports).image-analyser — OCR-reads text in an image (the detection helper).image-editing — region editing (only for deterministic redaction, never lossy inpaint here).readme-writing — flags unrequested data-bearing screenshots.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
The English summary is being prepared. Showing the original description.
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
The English summary is being prepared. Showing the original description.
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
The English summary is being prepared. Showing the original description.
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
The English summary is being prepared. Showing the original description.
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
The English summary is being prepared. Showing the original description.
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
The English summary is being prepared. Showing the original description.