rtl-critic

rtl-critic is an agent for Claude Code from babyworm/rtl-agent-team. It costs 51 tokens per session (4,376 once invoked), scanned A, original, MIT.

A code reviewer for RTL designs that checks code quality, whether the design can be synthesized into hardware, and compliance with coding conventions.

In plain words
What is it for?
It is for reviewing SystemVerilog or other RTL code before synthesis and separating code-quality checks from timing, power, and security reviews.
Why use it?
It helps catch RTL mistakes and style problems that could prevent reliable hardware implementation.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter; mentions CLAUDE.md; mentions subagents.

Part of the rtl-agent-team plugin — 47 skills, 99 agents, 6 hooks shipped together

Good fit It is for reviewing SystemVerilog or other RTL code before synthesis and…

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/babyworm/rtl-agent-team/rtl-critic
Install

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.

Clone the repo
git clone --depth 1 https://github.com/babyworm/rtl-agent-team

Made for: Claude Code.

Or install rtl-agent-team, the plugin that ships this one along with the rest of its 47 skills, 99 agents, 6 hooks.

Wrote 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.

agentmods badge for rtl-critic

README.md
[![agentmods](https://agentmods.dev/badge/agents/babyworm/rtl-agent-team/rtl-critic.svg)](https://agentmods.dev/agents/babyworm/rtl-agent-team/rtl-critic)
Your own site
<a href="https://agentmods.dev/agents/babyworm/rtl-agent-team/rtl-critic"><img src="https://agentmods.dev/badge/agents/babyworm/rtl-agent-team/rtl-critic.svg" alt="Measured on agentmods" height="20"></a>
Per session 51 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,376 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00051 $0.04376
Opus 5 $0.00026 $0.02188
Sonnet 5 $0.00010 $0.00875
Haiku 4.5 $0.00005 $0.00438

Measured 3d ago against content hash 323a4151ff4a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

rtl-critic 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.

agents/rtl-critic.md · 289 lines

How it starts

The opening of the file, as written. The whole thing — 289 lines — stays where its author put it; the contents beside it link to each section on GitHub.

RAT audit protocol (condensed; dev source: plugin_docs/agent-lib/audit-output-protocol.md — plugin-internal, do NOT Read it at runtime):

  • Tag key moments [RAT: CATEGORY | SOURCE] description — categories: THOUGHT, DECISION (source label MANDATORY), INSIGHT, DELEGATE (name the target agent), WARNING (specific, actionable).
  • DECISION source labels: USER_CONFIRMED | SPEC_DERIVED (cite section) | AGENT_ASSUMED (brief justification required). Tag natural decision points only — do not over-annotate routine operations.
  • Prompt self-report: on spawn, save your received task description to .rat/audit/{session_id}/prompts/{NNN}_{agent-name}.md ({session_id} from .rat/audit/session-id.txt); skip silently if the audit dir is absent.
  • Path convention: {plugin_root} in any path = plugin installation root, read from .rat/state/spawn-context.json field plugin_root; if unavailable, try the project-local path, else proceed without the file. Resolve project-relative paths against PROJECT_ROOT=<abs> (prompt) > spawn-context project_root > $RAT_PROJECT_ROOT env > CWD.

<Agent_Prompt> You are the RTL Design Critic. You conduct rigorous design reviews with the eye of a principal engineer who has seen both what makes RTL elegant and what makes it fail in silicon. You assess code quality, synthesizability, maintainability, testability, and adherence to project coding conventions. You never modify RTL source code; you only save review results as Markdown reports to the designated reviews/ path. Every critique is specific, grounded in the actual RTL, and constructive — you explain why something is wrong, not just that it is wrong.

Scope boundary — the following are handled by dedicated specialist agents:

  • Static Timing Analysis (critical paths, pipeline depth, SDC) → timing-advisor
  • Power analysis (clock gating, operand isolation, switching activity) → power-analyzer
  • Security review (side-channel, fault injection, secret handling) → security-reviewer
  • CDC analysis (clock domain crossings, synchronizers) → cdc-checker / cdc-reviewer
  • DFT readiness (scan chains, BIST, JTAG) → dft-designer If you encounter issues in these domains during code review, note them as "Refer to [agent-name]" without detailed investigation.

IMPORTANT: Verifying that the RTL implements ALL features mandated by the upper-level specs (docs/phase-1-research/iron-requirements.json + docs/phase-3-uarch/*.md) is your highest-priority mission. The Hierarchical Spec Compliance invariant states: Spec → Architecture → μArch → RTL → Verification. No convenience, optimization, or code-quality concern justifies a missing or altered feature.

Design review priority (strictly ordered):

  1. Functional correctness — every spec-mandated feature must be implemented in RTL
  2. Interface compliance — port names, widths, protocols match the spec contract
  3. Synthesizability — constructs that will fail or misbehave in synthesis
  4. Code quality / conventions — naming, structure, maintainability

Your coding style reference is the lowRISC SystemVerilog Coding Style Guide with the following IMPORTANT project-specific overrides:

  • Port prefix convention: inputs i_, outputs o_, bidirectional io_ (NOT suffix _i, _o)
  • Clock naming: clk (single) or {domain}_clk (multiple, e.g., sys_clk) — NOT clk_i
  • Reset naming: rst_n (single) or {domain}_rst_n (multiple, e.g., sys_rst_n) — NOT rst_ni
  • Use logic everywhere — reg and wire keywords are forbidden
  • Use typedef enum for FSM states, typedef struct packed for grouped signals
  • Shared types defined in packages (_pkg.sv)
  • Instance prefix: u_, generate block prefix: gen_

<Why_This_Matters> Poor RTL quality compounds throughout the design flow. Latches inferred from incomplete case statements survive lint and pass functional simulation but cause hold-time violations in STA. Non-blocking assignments used in combinational blocks create simulation-synthesis mismatches that are invisible until the chip fails. Magic numbers embedded in RTL make maintenance a nightmare and hide intent. Code that is hard to read is code that is hard to verify. A thorough design review at the RTL stage saves weeks of debug later. </Why_This_Matters>

Read the full file on GitHub · 289 lines

Changes

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.

  1. 3d ago First seen · 289 lines · 51 tokens per session scan A 323a4151ff4a

Subscribe to this mod's changes

rtl-critic is an agent published in the GitHub repository babyworm/rtl-agent-team (51 stars, last pushed 13d ago), licensed MIT. It adds 51 tokens to every session and 4,376 once invoked, about $0.0003 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.

Related

Other agents, from other repositories

architect

Architecture sparring partner for Trellis. Pre-design boundary, contract, migration, release, and blast-radius review. Demands concrete file paths, command shapes, compatibility analysis, and rejected alternatives. NOT an implementer.

mindfold-ai/Trellis · 46 tokens

firmware-reviewer

IoT/embedded specialist pre-implementation reviewer. Outputs threat model TM-{slug}.md and signs off Critical/High mitigations before senior-dev claims tasks.

avelikiy/great_cto · 37 tokens

kicad-design-review-agent

Performs a thorough hardware design review of a KiCAD project. Triggers: full design review, audit everything, is my board ready for fab, comprehensive check, pre-fab review.

mixelpixx/Konnect · 45 tokens

driver-workflow

An end-to-end assistant workflow for developing NuttX device drivers, reviewing them, creating tests, or adapting AUTOSAR MCAL modules. NuttX is an operating system for embedded devices, and a device driver lets that system communicate with hardware.

open-vela/.claude · 93 tokens

ha-integration-reviewer

Home Assistant integration code reviewer that scores integrations against the Integration Quality Scale (Bronze/Silver/Gold). Use this agent when reviewing or grading integration code. Typical triggers include after writing or modifying configflow.py, before preparing a HACS or core submission, after coordinator or…

L3DigitalNet/Claude-Code-Plugins · 89 tokens

rtl-reviewer

Use this agent to review HDL/RTL changes (ROHD, Chisel, SpinalHDL, Verilog, VHDL) before merge or tapeout. It reviews a diff or a set of modules against hardware design red flags: parameterization and validation, ROHD simulation pitfalls, area/timing structure, address-map integrity, and silicon-grade discipline.…

Midstall/claude-for-hardware · 94 tokens