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 commands/rewritingthecode/workshop/security-auditgit clone --depth 1 https://github.com/RewritingTheCode/workshopWhat 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.00017 | $0.01969 |
| Opus 5 | $0.00009 | $0.00984 |
| Sonnet 5 | $0.00003 | $0.00394 |
| Haiku 4.5 | $0.00002 | $0.00197 |
Grade A, and why
security-audit scanned grade A with 1 finding 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 yesterday.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
header is missing, `curl -I` the deployed site or read the config. A finding you could not How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security audit: verify, validate, harden
You are doing an offensive-minded security review of this repository, then fixing what you find. Work through every section. Do not skip a section because it "looks fine" - say what you checked and what the result was.
Rules that override your instincts
- Verify, do not pattern-match. Every finding must be demonstrated, not asserted. If you
claim a schema accepts a
javascript:URL, run it and paste the output. If you claim a header is missing,curl -Ithe deployed site or read the config. A finding you could not reproduce is not a finding - drop it or label it clearly as unverified. - No invented vulnerabilities. A speculative "an attacker could theoretically..." with no path to impact is noise. Rank by reachability first, severity second.
- This is a static site with no backend, no database, no auth, and no user input. That is
a deliberate architectural decision (see
docs/adr/). Do not propose adding a backend, a WAF, rate limiting, input sanitisation middleware, or auth. Findings that only apply to a server do not apply here. Say so and move on. - Never add a dependency to fix a finding without saying what it is, what it costs, and what the no-dependency alternative was.
- Never read, echo, print, or
cat.env. Not to check it, not to verify a fix. Prove things about it withgit check-ignore,ls -l, andgit loginstead. This repo is demoed on a shared screen. - Follow the loop in
CLAUDE.md. Anything you change gets an ADR indocs/adr/first and a test that would fail without the fix.
Threat model - who actually attacks this
Rank findings against these, in order. If a finding does not serve one of them, it is a nice-to-have and should be labelled as such.
- T1 - Credential leak. The Netlify token, in the repo, in git history, in the build output, in CI logs, on a shared screen. This is the one that costs real money and a real account takeover.
- T2 - Supply chain. A malicious or compromised npm package or GitHub Action running with the deploy token in its environment. The deploy step is the crown jewel: it has the token.
- T3 - Content injection. This is a template. Strangers fork it and paste content in from
resumes, from LLM output, from a friend. Content is untrusted input to this codebase even
though it lives in a
.tsfile. - T4 - The visitor's browser. Clickjacking, MIME sniffing, referrer leakage, mixed content, reverse tabnabbing, and whatever a stray injected script would be able to reach.
- T5 - Doxxing the author. A real resume in the repo, a home address in a PDF's metadata, an email harvested from the built page. Low severity for a machine, high for a person.
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.
- yesterday First seen · 134 lines · 17 tokens per session scan A 8d162db6f979
security-audit is a command published in the GitHub repository RewritingTheCode/workshop (10 stars, last pushed 5d ago), licensed MIT. It adds 17 tokens to every session and 1,969 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
speckit.checklist
Generate a custom checklist for the current feature based on user requirements.
triage-find-duplicate-prs
Find open PRs that duplicate a PR with 3 parallel search agents; silent when none found.
triage-find-issues
Find open issues a PR likely resolves with 5 parallel search agents and report them for publication.
speckit.tasks
Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.
plugin-commands
:::info This document covers all build, test, and smoke commands for eIsland native plugins. Each plugin lives under plugins/ and has its own package.json with independent scripts. ::.
pre-pr
Run the full pre-PR gate (pnpm all) and self-review the diff against the component checklist.