identify-diff-pairs

identify-diff-pairs is a skill for Claude Code, Codex from drandyhaas/KiCadRoutingTools. It costs 64 tokens per session (1,194 once invoked), scanned A, original, MIT.

A KiCad PCB analysis tool that finds differential signal pairs, including pairs whose names do not use common P/N labels. It uses chip datasheets and reports suitable routing settings.

In plain words
What is it for?
Finding USB, HDMI, Ethernet, PCIe, and other differential pairs in KiCad boards. It recommends impedance, spacing, and length-matching settings and produces routediff.py commands.
Why use it?
It helps prevent differential pairs from being missed when checking a circuit board. It also avoids guessing the routing requirements for different interfaces.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/drandyhaas/kicadroutingtools/identify-diff-pairs
Any agent
npx skills add drandyhaas/KiCadRoutingTools --skill identify-diff-pairs
Clone the repo
git clone --depth 1 https://github.com/drandyhaas/KiCadRoutingTools

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for identify-diff-pairs

README.md
[![agentmods](https://agentmods.dev/badge/skills/drandyhaas/kicadroutingtools/identify-diff-pairs.svg)](https://agentmods.dev/skills/drandyhaas/kicadroutingtools/identify-diff-pairs)
Your own site
<a href="https://agentmods.dev/skills/drandyhaas/kicadroutingtools/identify-diff-pairs"><img src="https://agentmods.dev/badge/skills/drandyhaas/kicadroutingtools/identify-diff-pairs.svg" alt="Measured on agentmods" height="20"></a>
Per session 64 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,194 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00064 $0.01194
Opus 5 $0.00032 $0.00597
Sonnet 5 $0.00013 $0.00239
Haiku 4.5 $0.00006 $0.00119

Measured 4d ago against content hash 787ba6b71174, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

identify-diff-pairs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/identify-diff-pairs/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Identify Differential Pairs

When this skill is invoked with a KiCad PCB file, find all differential pairs — including ones name-based detection misses — and recommend routing parameters per interface.

Step 1: Baseline Name-Based Detection

python3 py_router/list_nets.py path/to/file.kicad_pcb --diff-pairs

This catches pairs following P/N naming conventions. Record the result as the baseline.

Step 2: Datasheet-Based Detection by Pin Function

For each IC likely to have differential interfaces (footprint/value keywords: FPGA, PHY, SERDES, USB, ETH, HDMI, LVDS, MIPI, SATA, PCIE, DDR, transceiver, redriver):

  1. Check pad metadata first — KiCad symbols often carry it:
from kicad_parser import parse_kicad_pcb
pcb = parse_kicad_pcb('path/to/file.kicad_pcb')
fp = pcb.footprints['U3']
for pad in fp.pads:
    print(pad.pad_number, pad.pinfunction, pad.net_name)

Differential pin functions usually pair as ..._P/..._N, TX+/TX-, D+/D-.

  1. Where pinfunction is missing or generic, WebSearch the part's datasheet pinout and map differential pin pairs to pad numbers, then to nets via the pads.

  2. Trace through series passives: if a differential pin connects to a 2-pad R/C/L, follow to the net on the component's other pad — the pair often gets its "real" net name on the far side of AC coupling caps or series resistors.

A pair is confirmed when both nets trace back to a documented differential pin pair. Nets that look paired only by name or topology are suspected — list them separately for the user to confirm.

Step 3: Recommend Parameters per Interface

Interface Differential impedance Notes
USB 2.0 / 3.x 90 Ω Intra-pair matching matters from USB 2.0 HS up
LVDS 100 Ω
Ethernet (MDI) 100 Ω
HDMI / TMDS 100 Ω
PCIe 85 Ω AC coupling caps in-line on TX
SATA 90 Ω
MIPI D-PHY 100 Ω
DDR (DQS, CK) 100 Ω typical Check the memory datasheet
CAN 120 Ω Low speed; tolerances relaxed

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 81 lines · 64 tokens per session scan A 787ba6b71174

Subscribe to this mod's changes

identify-diff-pairs is a skill published in the GitHub repository drandyhaas/KiCadRoutingTools (380 stars, last pushed today), licensed MIT. It adds 64 tokens to every session and 1,194 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

zaptrace-design-validation

Validate a local ZapTrace design with requirements review, ERC/DRC evidence, and bounded engineering risk reports without claiming fabrication approval.

oaslananka/zaptrace · 31 tokens

zaptrace-proof-pack-review

Create or review ZapTrace proof-pack evidence, verify artifact identities, and separate automated gate results from human engineering approval.

oaslananka/zaptrace · 29 tokens

zaptrace-benchmark-evaluation

Run and interpret bounded ZapTrace benchmark evidence while preserving fixture, grader, source, and environment identities.

oaslananka/zaptrace · 27 tokens

sticky

Use when the user wants to set auto-routing mode: on (every task-shaped message routes), auto (intent-verb messages route — default), or off (no auto-routing). Intent-detection runs by default; use this skill to expand to full sticky or disable entirely. Trigger with /hyperflow:sticky, "make hyperflow sticky", "stop…

jeremylongshore/tons-of-skills-marketplace · 97 tokens

myco:api-endpoint-serializer-authoring

Apply this skill when adding an endpoint to apps/api/, authoring a mutation-ack serializer, wiring ManagerFactory, resolving Phase 5A routing collisions, or diagnosing the validatemanifest or testresourceroutecoverage CI gates. Covers: resource vs. action classification (409 vs. 200+envelope); Cursor + paginate()…

sirkirby/unifi-mcp · 219 tokens

lingtai-tui-help

Anything you need to know about LingTai TUI. Read this first for the stable mental model, major-feature map, interface and slash-command help, or the correct source/manual route for a TUI question. It stays thin: exact command prose lives in the localized help assets, precise Go structure lives in lingtai-tui-anatomy…

Lingtai-AI/lingtai · 106 tokens