Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

gf-lint

verified

SystemVerilog lint checker with structured output. Runs Verilator lint, categorizes errors/warnings, explains issues, returns parseable result block for orchestration.

View on GitHub

Marketplace

gateflow

codejunkie99/Gateflow-Plugin

Plugin

gateflow

development

Repository

codejunkie99/Gateflow-Plugin
2stars

plugins/gateflow/skills/gf-lint/SKILL.md

Last Verified

February 2, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/codejunkie99/Gateflow-Plugin/blob/main/plugins/gateflow/skills/gf-lint/SKILL.md -a claude-code --skill gf-lint

Installation paths:

Claude
.claude/skills/gf-lint/
Powered by add-skill CLI

Instructions

# GF Lint Skill

Lint SystemVerilog files with structured output for orchestration.

## Instructions

### 1. Identify Files to Lint

**If files specified in args:**
Use the provided file paths.

**If no files specified:**
Auto-detect SV files:
```bash
ls *.sv rtl/*.sv 2>/dev/null | head -20
```

### 2. Run Verilator Lint

```bash
verilator --lint-only -Wall <files>
```

### 3. Parse and Categorize Output

Count issues by category:
- **ERRORS**: `%Error:` lines - must be fixed
- **WARNINGS**: `%Warning-*:` lines - should be reviewed

### 4. Explain Common Warnings

For each warning type found, explain:

| Warning | Meaning | Fix |
|---------|---------|-----|
| UNUSED | Signal declared but not used | Remove signal or suppress with `/* verilator lint_off UNUSED */` |
| UNDRIVEN | Signal never assigned a value | Assign the signal or connect it |
| WIDTH | Bit width mismatch in operation | Add explicit sizing: `[7:0]` |
| CASEINCOMPLETE | Case statement missing items | Add `default:` branch |
| LATCH | Inferred latch from incomplete if/case | Add default assignment at start of always_comb |
| BLKSEQ | Blocking assignment in always_ff | Use `<=` (non-blocking) in sequential blocks |
| PINCONNECTEMPTY | Module port left unconnected | Connect or explicitly mark as `.*` |
| IMPLICIT | Implicit wire declaration | Declare with `logic` or `wire` |

### 5. Return Structured Result

**ALWAYS end your response with this exact block format:**

```
---GATEFLOW-RESULT---
STATUS: PASS|FAIL|ERROR
ERRORS: <count>
WARNINGS: <count>
FILES: <comma-separated list>
DETAILS: <one-line summary>
---END-GATEFLOW-RESULT---
```

**Status definitions:**
- `PASS`: No errors, warnings OK (0-N warnings acceptable)
- `FAIL`: One or more errors found
- `ERROR`: Could not run lint (missing files, tool error)

### 6. Example Output

```
Running lint on: rtl/fifo.sv, rtl/uart.sv

$ verilator --lint-only -Wall rtl/fifo.sv rtl/uart.sv

%Warning-UNUSED: rtl/fifo.sv:25: Signal 'debug_flag' is not used
%Warning

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3099 chars