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 skills add patrickserrano/lacquer --skill security-reviewgit clone --depth 1 https://github.com/patrickserrano/lacquerWrote 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/patrickserrano/lacquer/security-review)<a href="https://agentmods.dev/skills/patrickserrano/lacquer/security-review"><img src="https://agentmods.dev/badge/skills/patrickserrano/lacquer/security-review.svg" alt="Measured on agentmods" 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.00115 | $0.00681 |
| Opus 5 | $0.00057 | $0.00341 |
| Sonnet 5 | $0.00023 | $0.00136 |
| Haiku 4.5 | $0.00012 | $0.00068 |
Grade A, and why
security-review 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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review the change adversarially — assume the diff is hostile until proven safe. Report only findings you can tie to a concrete failure scenario; do not pad with generic advice.
Scope the diff
- Establish the base:
git diff <base>...HEADfor a branch,gh pr diff <n>for a PR, orgit difffor the working tree. Read enough surrounding context to judge each hunk — never review a hunk in isolation. - If the change is large, fan out: one reviewer per trust boundary (auth, input parsing, secrets, CI/exec, file I/O), then dedupe. A single pass misses cross-cutting issues.
What to hunt for
- Injection: untrusted input (user data,
github.event.*, PR titles/branch names, file contents, tool output, dependency changelogs) reaching a shell,eval, SQL, YAML, or an LLM instruction context. Trace the value from source to sink; quote both. - Path/traversal & symlink: writes that can escape a root, TOCTOU between check and write, following a symlink, absolute paths sneaking in through a config field.
- Secrets: keys/tokens echoed, written to files that become artifacts, passed on a command line (visible in the process table), over-scoped, or leaking across CI jobs.
- Privilege: CI that runs untrusted fork code on a privileged/self-hosted runner;
missing least-privilege
permissions:; unpinned third-party actions or tool installs. - Fail-open: a guard that silently passes on error, a
|| truethat swallows a real failure, a check that no-ops when its input is missing.
Verify before reporting
For each candidate finding, state the exact inputs/state that trigger it and the resulting wrong behavior. If a nearby check already prevents it, drop the finding and say so. Default to "refuted" when uncertain — a plausible-but-wrong finding wastes more than a missed nit.
Report
Ranked, most-severe first: file:line, severity (critical/high/medium/low), the concrete
exploit/failure scenario, and a suggested fix. Then a short "defenses confirmed" list so the
reader knows what is already solid. If nothing survives verification, say so plainly.
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 · 51 lines · 115 tokens per session scan A 160dfedbdb22
security-review is a skill published in the GitHub repository patrickserrano/lacquer (3 stars, last pushed yesterday), licensed MIT. It adds 115 tokens to every session and 681 once invoked, about $0.0006 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-09-03.
Other skills, from other repositories
printing-press-output-review
Internal sub-skill: agentic review of a printed CLI's sampled command output for plausibility issues that rule-based checks can't encode (substring-match relevance, format bugs, silent source drops, ranking failures). Invoked via the Skill tool by main printing-press SKILL.md (Phase 4.85) and printing-press-polish…
code-review
You are a senior code reviewer. You receive diffs via stdin.
review
Two-stage code review: spec compliance first, then code quality. Auto-triggered after implementation. Also available as /review.
devils-advocate
Challenge a plan, design, or PR by finding every flaw, risk, and wrong assumption. Use before committing to an architecture or shipping a major change.
naming-format
Use when reviewing file names, renaming files, fixing naming conventions, or auditing exports. Enforces consistent casing and suffix patterns.
design-system
Frontend design conventions for {{ projectname }} -- layout hierarchy, spacing, typography, anti-slop rules. Auto-activates when creating or modifying templates, CSS, or frontend components.