name: netlist description: "Semantic cleanup and curation of Spectre/SPICE transistor netlists for analog review or reusable reference circuits. Use when Codex needs to understand generated ADE/PEX netlists, split DUT/testbench/run decks, optionally strip layout-derived MOS tail parameters by reasoning, rename random nodes/instances into semantic names, or prepare clean comparator/opamp/SAR reference netlists. Scripts in this skill are checkers only, not primary cleanup engines."
Netlist Semantic Cleanup
Use this skill when converting generated netlists into readable, reviewable Spectre/SPICE reference decks.
Principle
The primary cleanup engine is semantic understanding by the model and engineer. Do not treat netlist cleanup as a blind text rewrite. A checker can report leftover tool artifacts, but it cannot decide circuit boundaries, node meaning, or instance names.
Workflow
- Preserve the raw generated artifact. Never edit ADE/PEX output in place.
- Read enough context to understand the circuit: ports, hierarchy, stimulus, measurements, clocking, biasing, and intended DUT boundary.
- Read
references/cleaning.mdbefore curating a real design. - Draft the semantic cleanup plan:
- DUT subckt or wrapper interface.
- Testbench-owned supplies, clocks, stimulus, loads, probes, and analyses.
- Run-deck-owned parameters, model includes, corners, sweeps, and saves.
- Rename map for random nodes/instances, plus unresolved review notes.
- Create the clean netlist as a curated source artifact. Use model reasoning to split DUT/testbench/run decks and to choose semantic names.
- Run the checker only after the semantic pass:
python skills/netlist/scripts/check_spectre_netlist.py netlist/dut/block.scs --mode dut
python skills/netlist/scripts/check_spectre_netlist.py netlist/tb/tb_block.scs --mode tb
The checker reports suspicious MOS tail parameters, random-looking node names, generic instance names, and DUT/testbench mixing. It does not rewrite files and should not be used as the main cleanup mechanism.
Rules
- Preserve MOS instance parameters by default when numerical behavior matters. Removing layout side-effect tails is an explicit stripped-reference choice, not the default.
- If a stripped reference is requested, it may remove
ad/as,pd/ps,nrd/nrs,sa/sb/sca/scb,sp*, DFM, stress, proximity, and extraction parameters, but expect performance differences and validate against the full-parameter or raw deck. - Split reusable artifacts into DUT, testbench, and run decks. A clean DUT file should not contain supplies, clocks, sweeps, saves, probes, or analysis statements.
- At the top of every curated netlist file or section containing MOS devices,
add an explicit terminal-order comment, for example:
// MOS terminal order: D G S B (drain gate source bulk/body). - Replace random names (
net1,_net23,N_*, numeric mesh nodes,I42,M0) with semantic names where the circuit meaning is known. If meaning is unknown, leave a short review note instead of guessing. - Validate after cleanup with a parser or Spectre syntax/smoke run when Cadence is available.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.