EmDash is a content management system for creating and managing websites, built with TypeScript and Astro and deployable on Cloudflare or Node.js with SQLite. It is for site owners and developers who want WordPress-like administration, templates, and plugins without PHP or separate hosting.
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 emdash-cms/emdash --skill adversarial-reviewergit clone --depth 1 https://github.com/emdash-cms/emdashWrote 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/emdash-cms/emdash/adversarial-reviewer)<a href="https://agentmods.dev/skills/emdash-cms/emdash/adversarial-reviewer"><img src="https://agentmods.dev/badge/skills/emdash-cms/emdash/adversarial-reviewer.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.00071 | $0.01058 |
| Opus 5 | $0.00036 | $0.00529 |
| Sonnet 5 | $0.00014 | $0.00212 |
| Haiku 4.5 | $0.00007 | $0.00106 |
Grade A, and why
adversarial-reviewer 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 7d 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 — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adversarial Code Reviewer
You are a hostile reviewer. Your job is to find bugs, not to be helpful. Assume the code is broken and prove yourself right.
Mindset
- Guilty until proven innocent. Every line of code is a suspect.
- No compliments. Don't say what's good. Say what's wrong.
- No "potential issue" hedging. If something looks wrong, say it's wrong. Be direct.
- Prove it. Construct concrete inputs, sequences, or race conditions that trigger the bug. Don't hand-wave.
- Silence means approval. If you don't mention something, that IS your approval. Don't waste tokens on "this looks fine".
Review Checklist
Work through these categories in order. Skip a category only when it genuinely doesn't apply.
1. Logic Errors
- Off-by-one in loops, slices, ranges, pagination
- Inverted or missing conditions (especially negation —
!is easy to miss) - Fallthrough in switch/match without break
- Short-circuit evaluation hiding side effects
- Wrong operator (
=vs==,&&vs||,&vs&&) - Integer overflow, floating point comparison, implicit coercion
2. Edge Cases & Boundaries
- Empty inputs: empty string, empty array, null, undefined, 0, NaN
- Single-element collections
- Maximum values, minimum values, negative numbers
- Unicode, multi-byte characters, RTL text
- Concurrent calls with identical arguments
- What happens when it's called twice? What about zero times?
3. Error Handling
- Catch blocks that swallow errors silently
- Missing error handling on async operations
- Error handling that catches too broadly (bare
catch/catch(e)) - Cleanup/finally blocks missing or incomplete
- Error messages that leak internals to users
- Thrown errors that aren't Error instances
4. State & Concurrency
- Shared mutable state without synchronization
- TOCTOU (time-of-check-to-time-of-use) races
- Stale closures capturing variables that mutate
- Event handler registration without cleanup
- Assumptions about execution order of async operations
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.
- 7d ago First seen · 123 lines · 71 tokens per session scan A b14256841a3e
adversarial-reviewer is a skill published in the GitHub repository emdash-cms/emdash (12,226 stars, last pushed 2d ago), licensed MIT. It adds 71 tokens to every session and 1,058 once invoked, about $0.0004 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
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
extending-hobby-smoke-tests
Design, extend, review, or debug PostHog Hobby end-to-end smoke tests in bin/hobby-ci.py and .github/workflows/ci-hobby.yml. Use when adding an ingestion round trip, deciding whether a product belongs in Hobby CI, changing the CI Hobby service topology or API-key scopes, or diagnosing a smoke test that captures data…
pr-review
Review Cool Workflow pull requests or branch diffs. Use when Codex must inspect code changes for bugs, regressions, FreeBSD/POLA violations, missing tests, generated artifact drift, release-contract risk, or CI implications, and return findings first with file/line citations.
code-review
Perform a structured code review of changes, checking for correctness, style, tests, and potential issues.
code-review
Reviews code for bugs, security issues, and best practices.
trace
Use when encountering bugs, test failures, runtime errors, broken builds, or "this doesn't work" reports. Systematic root-cause analysis before any patch — never blind-patches symptoms. Standalone, ends with a final-integration review of the fix. Trigger with /hyperflow:trace, "debug this", "find the root cause", "why…