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.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.