Build, modify, and debug tscircuit (React/TypeScript) PCB designs. Use when working with tsci CLI (init/dev/search/add/import/build/export/snapshot/push), choosing footprints, placing parts, wiring nets/traces, or preparing fabrication outputs (Gerbers/BOM/PnP).
71
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
You are helping the user design electronics using tscircuit (React/TypeScript) and the tsci CLI.
When this Skill is active:
tscircuit.config.json, index.circuit.tsx, package.json)tsci --help or the specific subcommand’s --helptsci init to bootstrap a project.@tscircuit/common templates.tsci search "<query>" to discover footprints and tscircuit registry packages.<connector standard="usb_c" /> for USB-C logical pin semantics. When the BOM selects an exact supplier part, bind the same part as the physical source, for example supplierPartNumbers={{jlcpcb:["C165948"]}} or footprint="jlcpcb:C165948". Do not add a separate inline footprint beside that supplier selection.tsci add <author/pkg> for registry packages (installs @tsci/* packages)tsci import <query> when you need to import a component from JLCPCB or the registry.pcbX, pcbY, pcbRotation, layerschRotation, schOrientation for symbol direction; schSectionName for groupingschX/schY — a single manual coordinate drops the whole group back to relative placement and leaves every unplaced component on its default position. Hand-place a schematic all the way or not at all; half-placed is the worst of the three.<schematicsection /> to group components by function (e.g. "Power", "MCU", "IO"). This is one of the most important things for schematic readability. Assign each component a schSectionName and let the layout engine arrange each section and then place the sections in rows. Note that a section containing a manually positioned component is anchored and skipped by that row placement.<chip /> once before the sheets, then use one <schematicbox chipRef=".U1" /> per sheet. Either nest each box inside its <schematicsheet />, or keep the elements as siblings and assign the box with schSheetName. Pass only that sheet's labels to the box and keep connections addressed to the original chip, such as U1.VCC. See the <schematicbox /> reference.<trace /> for connectivity; prefer net connections (net.GND, net.VCC, etc.) for power/ground.tsci check netlist before tsci check schematic-placement, tsci check placement, and tsci build to catch connectivity issues early.tsci check schematic-placement to validate schematic-side placement before checking PCB placement.tsci check schematic-placement and tsci check placement pass with no actionable placement violations; if violations exist, fix layout and rerun until clean.tsci check trace-length to check for long straight line distances (before routing) or long routes (after routing)tsci build --pcb-png [file] to inspect placement before checking routing.tsci check routing-difficulty after placement to identify potential areas of congestion.tsci build to compile and validate the circuit.tsci check shorts [file] to detect unintended shorts between separate PCB copper groups. Omit [file] to use the project entrypoint; a prebuilt *.circuit.json file is also accepted.tsci check shorts exit nonzero. Inspect checks/check-shorts/bitmap.png and checks/check-shorts/pcb.svg, fix the implicated copper, then rerun the check. Do not dismiss this failure as a generic DRC warning.--mode pcb for PCB geometry, --layer top or --layer bottom to narrow the scope, and --pixels-per-mm <number> only when a different bitmap resolution is needed.<group /> for sub-layouts, or change autorouter settings.tsci dev only when you need interactive visual feedback (not typical for AI-driven iteration).tsci check netlist before tsci check schematic-placement, tsci check placement, and tsci build when preparing to share/publish.tsci check shorts after routing and before sharing, publishing, or producing fabrication outputs. Resolve every reported short before proceeding.tsci build (and optionally tsci snapshot) before sharing/publishing.tsci export for SVG/netlist/DSN/3D/library outputs.tsci dev.tsci push) or place orders unless the user explicitly requests it.CLI.mdSYNTAX.mdWORKFLOW.mdCHECKLIST.mdtemplates/scripts/<analogsimulation /><battery /><board /><breakout /><breakoutpoint /><cadassembly /><cadmodel /><capacitor /><chip /><connector /><constraint /><copperpour /><coppertext /><courtyardcircle /><courtyardoutline /><courtyardpill /><courtyardrect /><crystal /><currentsource /><cutout /><diode /><fabricationnotedimension /><fabricationnotepath /><fabricationnoterect /><fabricationnotetext /><fiducial /><footprint /><fuse /><group /><hole /><inductor /><jumper /><led /><mosfet /><mountedboard /><net /><netalias /><netlabel /><opamp /><panel /><pcbkeepout /><pcbnotedimension /><pcbnoteline /><pcbnotepath /><pcbnoterect /><pcbnotetext /><pcbtrace /><pinheader /><pinout /><platedhole /><port /><potentiometer /><pushbutton /><resistor /><resonator /><schematicarc /><schematicbox /><schematiccell /><schematiccircle /><schematicline /><schematicpath /><schematicrect /><schematicrow /><schematicsection /><schematictable /><schematictext /><silkscreencircle /><silkscreenline /><silkscreenpath /><silkscreenrect /><silkscreentext /><smtpad /><solderjumper /><subcircuit /><subpanel /><switch /><symbol /><testpoint /><trace /><tracehint /><transistor /><via /><voltageprobe /><voltagesource />18436cc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.