lint-checker

lint-checker is an agent for Claude Code from babyworm/rtl-agent-team. It costs 35 tokens per session (2,972 once invoked), scanned A, original, MIT.

A cross-file lint analyzer for Verilog and related hardware-description code. Linting checks source code for likely errors, inconsistencies, and rule violations before it is run on hardware.

In plain words
What is it for?
Running Verible and slang lint checks on RTL projects and producing actionable guidance for fixing the findings.
Why use it?
It helps identify root causes that span several files instead of treating every warning as an isolated problem.

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 Running Verible and slang lint checks on RTL projects and producing actionable guidance for fixing the findings.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/babyworm/rtl-agent-team/lint-checker
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 lint-checker

README.md
[![agentmods](https://agentmods.dev/badge/agents/babyworm/rtl-agent-team/lint-checker/github.svg)](https://agentmods.dev/agents/babyworm/rtl-agent-team/lint-checker)
Your own site
<a href="https://agentmods.dev/agents/babyworm/rtl-agent-team/lint-checker"><img src="https://agentmods.dev/badge/agents/babyworm/rtl-agent-team/lint-checker/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.

agentmods 80×15 button for lint-checker

Your own site · 80×15
<a href="https://agentmods.dev/agents/babyworm/rtl-agent-team/lint-checker"><img src="https://agentmods.dev/badge/agents/babyworm/rtl-agent-team/lint-checker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 35 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,972 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.00035 $0.02972
Opus 5 $0.00017 $0.01486
Sonnet 5 $0.00007 $0.00594
Haiku 4.5 $0.00003 $0.00297

Measured 9d ago against content hash a8b006bd6e62, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

lint-checker 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 9d 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/lint-checker.md · 192 lines

How it starts

The opening of the file, as written. The whole thing — 192 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 Lint Checker. Your mission is deep cross-file lint analysis using Verilator, Verible, and slang as complementary tools. You do not merely run lint and dump output — you analyze patterns, identify root causes, classify warning severity, and produce actionable fix guidance with file:line precision. You understand that the same underlying design mistake often manifests as multiple lint warnings across many files.

Tool strengths (use all three for maximum coverage):

  • Verilator (--lint-only -Wall -Wpedantic): Best for synthesizability checks, width mismatches, blocking/non-blocking discipline. Key warning categories:
    • BLKANDNBLK: mixed blocking/non-blocking (sim/synth mismatch risk — CRITICAL)
    • LATCH: inferred latch from incomplete combinational logic (CRITICAL)
    • CASEINCOMPLETE: missing default in case statement (MAJOR)
    • WIDTH: signal width mismatch in assignments/connections (MAJOR)
    • UNDRIVEN: signal never driven (MAJOR)
    • UNUSED: signal declared but never used (MINOR)
    • SYNCASYNCNET: mixed sync/async usage of a signal (MAJOR for CDC)
    • PINCONNECTEMPTY / PINNOCONNECT: unconnected module ports (MAJOR)
  • Verible (verible-verilog-lint): Best for style, formatting, naming conventions, structural checks.
  • slang: Best for semantic analysis, type checking, IEEE 1800 compliance.
    • RTL files (rtl/): use slang -Weverything — catches always_ff multi-driver violations (VCS ICPD), unused signals, width mismatches
    • TB files (sim/): use slang --allow-dup-initial-drivers — permits initial + always_ff on same signal (common TB pattern)
    • The run_lint.sh --tool slang wrapper auto-detects RTL vs TB based on file paths

Verilator waiver support: If .vlt waiver file exists, apply it: verilator --lint-only -Wall -Wpedantic *.sv verilator.vlt Generate waiver template: verilator --lint-only -Wall --waiver-output verilator.vlt *.sv

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> Lint warnings in RTL design are not cosmetic. Uninitialized signals cause X-propagation in simulation and unknown reset states in silicon. Implicit net declarations hide connectivity bugs. Latch inference from incomplete case statements produces area and timing disasters. A single wrong coding pattern copy-pasted across 20 files produces 20 warnings that all share one root cause. Finding that root cause — not mechanically listing 20 warnings — is the value you provide. </Why_This_Matters>

Read the full file on GitHub · 192 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. 9d ago First seen · 192 lines · 35 tokens per session scan A a8b006bd6e62

Subscribe to this mod's changes

lint-checker is an agent published in the GitHub repository babyworm/rtl-agent-team (51 stars, last pushed 16d ago), licensed MIT. It adds 35 tokens to every session and 2,972 once invoked, about $0.0002 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.

Related

Other agents, from other repositories

neuron-nki-debugger-agent

Use this agent for autonomously debugging and fixing NKI kernel compilation errors. This agent analyzes compiler errors, searches for fixes in documentation and code examples, applies corrections following the principle of simplicity over performance, and validates the fixes. Context: User has a kernel with…

aws-neuron/neuron-agentic-development · 239 tokens

tdmcp-implementation-runtime-analyst

Studies the lived runtime path of a completed tdmcp implementation: TouchDesigner bridge behavior, hardware setup, diagnostics, calibration, audio/video/projector issues, latency, and user-facing operator ergonomics.

Pantani/tdmcp · 50 tokens

jetson-perf-investigator

Diagnose Jetson performance and memory issues end to end. Captures a baseline, isolates the dominant consumer, and recommends concrete next actions by orchestrating the Jetson Platform Skills catalog. Use when the user reports "Jetson is slow / hot / OOM" without a clear cause.

NVIDIA-AI-IOT/jetson-device-skills · 65 tokens

analyzer

MANDATORY AGENT FOR ROOT CAUSE ANALYSIS, SYSTEM DESIGN, CODE REVIEW, AND DEAD-END DIAGNOSTICS. SPECIFIC TRIGGERS: (1) RCA: developer reported an error or tester failed an Assert — trace call chain, find exact broken file:line locally via Ripgrep / AST; (2) pre-code analysis: call BEFORE developer when task needs…

AlexShchuka/neuro-matrix · 287 tokens

network-troubleshooter

Diagnoses network connectivity, routing, DNS, interface, and policy symptoms with a read-only OSI-layer workflow and evidence-backed root cause summary.

mturac/everything-openai-codex · 34 tokens

Demonstrate

Agent for demonstrating VS Code features.

microsoft/vscode · 10 tokens