# Lint Tool Profiles

> Internal reference: lint tool profiles (agent-loaded; do not invoke).

- Skill: `babyworm/lint-tool-profiles` (Agent Skill)
- Install (CLI): `npx skillmds@latest add babyworm/lint-tool-profiles`
- Raw SKILL.md: https://api.skillmd.com/api/skills/babyworm/lint-tool-profiles/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: babyworm (https://skillmd.com/u/babyworm)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/babyworm/lint-tool-profiles

---


# Lint Tool Profiles

## Common Contract
- Prefer wrapper: `lint/scripts/run_lint.sh`
- All profiles must normalize output into:
  - `errors`, `warnings`, `tool`, `log_path`, `replay_path`
- Gate decision is based on normalized `errors == 0`

## Open-Source Baseline
- `verilator`:
  - `lint/scripts/run_lint.sh --tool verilator -f rtl/filelist_top.f --outdir lint/lint`
- `verible`:
  - `lint/scripts/run_lint.sh --tool verible -f rtl/filelist_top.f --outdir lint/lint`
- `slang`:
  - `lint/scripts/run_lint.sh --tool slang -f rtl/filelist_top.f --outdir lint/lint`
  - **Auto-detects RTL vs TB** based on source file paths:
    - RTL (`rtl/`): runs with `-Weverything` for maximum strictness — catches `always_ff` multi-driver violations (VCS ICPD), uninitialized variables, width mismatches, etc.
    - TB (`sim/`): runs with `--allow-dup-initial-drivers` — permits `initial` + `always_ff` on same signal (common testbench pattern)
  - Only slang catches IEEE 1800 §9.2.2.4 multi-driver violations; Verilator and Verible do not

## Commercial Profile
- `spyglass` (binary: `sg_shell`, config key: `sg_shell`, script flag: `--tool spyglass`):
  - `lint/scripts/run_lint.sh --tool spyglass --top <top> -f rtl/filelist_top.f --outdir lint/lint`
  - Note: `rat_config.json` uses `sg_shell` as tool key; runner scripts accept `--tool spyglass`

## Severity Mapping
- Tool `error/fatal` -> normalized `error`
- Tool `warning` -> normalized `warning`
- Unknown parse line -> keep raw log reference and mark parse caution

