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 kensaurus/cursor-kenji --skill audit-codemod-safetygit clone --depth 1 https://github.com/kensaurus/cursor-kenjiWrote 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/kensaurus/cursor-kenji/audit-codemod-safety)<a href="https://agentmods.dev/skills/kensaurus/cursor-kenji/audit-codemod-safety"><img src="https://agentmods.dev/badge/skills/kensaurus/cursor-kenji/audit-codemod-safety/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kensaurus/cursor-kenji/audit-codemod-safety"><img src="https://agentmods.dev/badge/skills/kensaurus/cursor-kenji/audit-codemod-safety.svg" alt="Reviewed on agentmods" width="80" 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.00060 | $0.01839 |
| Opus 5.5 | $0.00024 | $0.00736 |
| Sonnet 5.5 | $0.00012 | $0.00368 |
| Haiku 4.5 | $0.00006 | $0.00184 |
Grade A, and why
audit-codemod-safety 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 1mo 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 — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.
audit-codemod-safety — Compiles and lints is not behaves the same
Degree of freedom: MIXED — Phases 0–2 [HIGH freedom]; Phase 3
high-risk hand-trace [LOW freedom — run exactly]. Do not re-run the
transform.
Read-only. A codemod's danger is scale plus plausibility: it touches hundreds of files and each diff looks trivially correct, so review fatigue waves it through. A mechanical transform proves syntax, not semantics.
Present findings. Do not re-run the transform or edit the diffs. Hand fixes to a follow-up session.
This skill vs neighbors
| Skill | Owns |
|---|---|
| audit-codemod-safety (this) | Source-transform correctness at scale — behavior, completeness, consistency |
audit-code-review |
General PR / diff quality on a named change set |
plan-data-integrity |
Data / SQL / destructive migrations — not JS/TS source mods |
audit-code-quality |
Repo-wide anti-patterns, not one mechanical pass |
burndown-full |
Drive a leftover MATCH pattern to zero — this audits whether the pass was safe |
audit-gate-logic |
If size defeated review and syntax defeated linters, that is also a gate-logic finding |
How to reason
- Observe — quote the rule, the before/after AST or text, and a concrete diff hunk
- Interpret — does the swap change runtime meaning, or only spelling?
- Classify — silent behavior change / incomplete migration / consistent-as-is / needs-a-probe
- Severity — silent runtime change on a hot path = critical
Worked example
Observe: codemod rewrote
value || fallback→value ?? fallbackinpricing.ts. Tests still pass. Interpret:0and''now keep the left side; price0no longer falls back. Syntax-clean; semantics changed. Classify: silent behavior change (truthiness vs nullish). Severity: critical if money path; else major. Finding:pricing.ts:41|||→??| critical |0no longer defaults
Phase 0 — Characterize the transform [HIGH freedom]
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.
- 1mo ago Changed · +1 lines · -16 tokens per session adc86f9132c0
- 1mo ago First seen · 159 lines · 76 tokens per session scan A bfde04399ff1
audit-codemod-safety is a skill published in the GitHub repository kensaurus/cursor-kenji (9 stars, last pushed 26d ago), licensed MIT. It adds 60 tokens to every session and 1,839 once invoked, about $0.0002 per session on Opus 5.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
code-review-codex
Final-gate code review via Codex CLI (codex-5.3, xhigh). Finds bugs, security issues, and regressions before commit. No edits — findings report only.
spec-review-codex
Audit project specs for conflicts, goal drift, ambiguity, and gaps via Codex CLI (gpt-5.2, xhigh). Read-only findings report.
codex-review
Run code reviews with the Codex CLI, prioritizing bugs, regressions, security risks, and missing tests. Use when the user asks for code review, PR review, diff review, or commit-range review via codex.
code-simplifier
Use after implementing features to simplify and refine code for clarity, consistency, and maintainability.
systematic-debugging
Use when encountering bugs, test failures, unexpected behavior, or any technical issue before proposing fixes.
doubt-driven-development
Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every assumption cross-examined before proceeding, when stress-testing a plan for hidden failure modes, when correctness matters more than speed, when working in unfamiliar code, when stakes are high…