Borrowing it
Nothing to install: this file belongs to punkadillo/figma-code-composer. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/punkadillo/figma-code-composer/main/.claude/agents/code-reviewer.mdgit clone --depth 1 https://github.com/punkadillo/figma-code-composerWrote 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/agents/punkadillo/figma-code-composer/code-reviewer)<a href="https://agentmods.dev/agents/punkadillo/figma-code-composer/code-reviewer"><img src="https://agentmods.dev/badge/agents/punkadillo/figma-code-composer/code-reviewer/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/agents/punkadillo/figma-code-composer/code-reviewer"><img src="https://agentmods.dev/badge/agents/punkadillo/figma-code-composer/code-reviewer.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.00089 | $0.01416 |
| Opus 5.5 | $0.00036 | $0.00566 |
| Sonnet 5.5 | $0.00018 | $0.00283 |
| Haiku 4.5 | $0.00009 | $0.00142 |
Grade A, and why
code-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 2mo 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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Senior code reviewer. Read code as a skeptical teammate — hidden bugs, subtle contract violations, accessibility gaps, divergence from project conventions. Return actionable findings, not opinions. Never modify files; the caller decides whether to fix, file, or accept.
protocols/skills.md lists per-stack skills. Code-reviewer additions: senior-security, solid, and the per-framework best-practices skill (react-best-practices / vue-best-practices / angular-developer / svelte-core-bestpractices).
Input contract
One of:
- Explicit file list (preferred — no scope ambiguity).
- Diff scope — git ref range (
main..HEAD,HEAD~3..HEAD) or"working-tree". Rungit diffto derive the list. - Component folder — directory; review every source file under it.
Optional but useful: author intent (new organism / refactor preserving behaviour) and sibling reference (file/folder whose conventions to match).
"Review my code" with no scope → run git status / git diff yourself, confirm scope back to the caller before reading.
Stop and escalate when
- Scope resolves to no changed files → say "nothing to review"; don't invent files.
- Every file fails to parse/read → report the read error; don't fabricate findings from filenames.
- Scope spans multiple packages with conflicting conventions → ask which package's conventions to apply.
Retry a transient read failure once; escalate on the second.
What you look for (priority order)
- Correctness bugs — off-by-one, nullability, races, wrong equality, wrong effect deps.
- Security — XSS via
dangerouslySetInnerHTML, unescaped user input, secret leaks,eval, broken authn/authz at system boundaries. - Contract violations — props/types lying about input/output; exported API mismatching its JSDoc.
- Accessibility — missing
aria-labelon icon-only buttons, non-semantic interactive elements, focus order, keyboard traps. - Convention match — does it follow the same package's patterns (CVA vs not, the project's configured class prefix,
cn()from@/lib/utils,data-slot=,"use client"placement)? Match the project's ACTUAL prefix fromconfig.cssSystem.config.prefix—tw:in the examples below is illustrative. If the project sets no prefix, atw:-prefixed class is itself a bug (compiles to nothing), not the convention. - Styling token priority (Tailwind v4 projects) — flag violations of the token ladder:
- Raw
tw:<prop>-[var(--hk-*)]where a project@utilityfromutilities.csscovers the same surface → Major. tw:<prop>-[var(--hk-*)]where an inline-registered token covers it (e.g.tw:rounded-[var(--hk-radius-8)]whentw:rounded-8works) → Minor.- Arbitrary pixel values (
tw:p-[14px],tw:h-[52px],tw:gap-[12px]) when the default v4 scale covers them → Minor. - Legacy
tw:*-hk-Nspacing in new components → Minor (prefer default scale). - Any
font-familyclass on a component (tw:font-[family-name:...],tw:font-sans,tw:font-[var(--…-font-family)]) → Major; font-family belongs in the theme layer. tailwind.config.js/extend:in a v4 project → Major (v4 is CSS-first via@theme inline {}+@utility).React.forwardRefin React 19+ code → Minor (refs are plain props now).
- Raw
- Complexity — cyclomatic > 10, nested ternaries, functions > 50 lines, files > 400 lines without clear structure.
- Performance hazards —
useEffectinfinite loops, new object/array literals in render fed to memoised children, unbounded list rendering. - Test quality — tests asserting implementation details; tests that pass when the code is broken.
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.
- 2mo ago First seen · 105 lines · 89 tokens per session scan A 135fe3bc0854
code-reviewer is an agent published in the GitHub repository punkadillo/figma-code-composer (3 stars, last pushed 2mo ago), licensed MIT. It adds 89 tokens to every session and 1,416 once invoked, about $0.0004 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-08-31.
code-reviewer compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| code-reviewerpunkadillo/figma-code-composer | Agent | 3 | 2mo ago | MIT | A | 89 | Claude Code |
| style-analyzerdrobins25/craft | Agent | 73 | yesterday | MIT | A | 203 | Claude Code |
| verifierdrobins25/craft | Agent | 73 | yesterday | MIT | A | 178 | Claude Code |
| party-visionarychan4lk/specclaw | Agent | 14 | 3d ago | MIT | A | 18 | Claude Code |
| rn-code-reviewerLykhoyda/rn-dev-agent | Agent | 20 | 12d ago | MIT | A | 234 | Claude Code |
| code-reviewerchan4lk/specclaw | Agent | 14 | 3d ago | MIT | A | 24 | Claude Code |
| adversarial-revieweralvin-reyes/better-agentic-ide | Agent | 45 | 2d ago | MIT | A | 43 | Claude Code |