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.
npx agentmods add skills/drandyhaas/kicadroutingtools/identify-diff-pairsnpx skills add drandyhaas/KiCadRoutingTools --skill identify-diff-pairsgit clone --depth 1 https://github.com/drandyhaas/KiCadRoutingToolsWrote 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.
[](https://agentmods.dev/skills/drandyhaas/kicadroutingtools/identify-diff-pairs)<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>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.
| Model | Per session | Once 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 |
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.
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):
- 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-.
-
Where
pinfunctionis missing or generic, WebSearch the part's datasheet pinout and map differential pin pairs to pad numbers, then to nets via the pads. -
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 |
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.
- 4d ago First seen · 81 lines · 64 tokens per session scan A 787ba6b71174
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.
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.
zaptrace-proof-pack-review
Create or review ZapTrace proof-pack evidence, verify artifact identities, and separate automated gate results from human engineering approval.
zaptrace-benchmark-evaluation
Run and interpret bounded ZapTrace benchmark evidence while preserving fixture, grader, source, and environment identities.
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…
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()…
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…