critical-net-router
SkillAI & modelsRAG-backed. Plan and optionally commit one bounded critical-net or differential-pair route in DipTrace with explicit rules and post-checks. Use when the user says “Route this explicitly named critical PCB net.”
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the critical-net-router skill
What this skill tells your AI
The instructions your AI receives, as published by fireostendere/mcp_diptrace in skills/critical-net-router/SKILL.md and read by ahel’s review.
Read runtime access before choosing between explicit-path MCP, a live bridge session, and native/headless CLI. Their availability is separate.
Critical-net router
RAG: engineering memory by default — shared workflow. Consult routing/return-path and transmission-line material before choosing constraints; use DipTrace PCB courses for implementation and verify the actual route.
Route an explicitly named scope. The local router is deterministic bounded 45-degree A*, not
push-and-shove.
Use public tools/list for exact callable names and get_capabilities for document/configured
feature availability.
Workflow
- Call
diptrace_status,get_capabilities, andget_document_info; require a PCB and freeze the SHA-256. - Read
get_design_rules,list_unrouted_connections, andanalyze_routing_congestion. Require concrete endpoints, allowed layers, via policy, and net or pair identity. - For one connection use
route_connection; for exported ratlines useroute_net. For a real pair useplan_diff_pair_routeorroute_diff_pair; never route the two legs independently. - Omit clearance only to resolve the document DRC TraceToTrace rule. An explicit caller value is millimetres and must be named in the report.
- Prefer
plan_route_netsplusapply_route_planfor a reviewable plan. Inspect SVG/JSON, then validate and use anexpected_sha256commit within the already authorized routing scope. A request for a plan alone never authorizes committing it. - Run
run_drcandrun_connectivity_check; rollback only this session's failed changes with a current hash guard. When native validation is in scope, use the headless PCB acceptance workflow; offline DRC does not invoke the real editor. - Emit
../shared/result.schema.json.
Quantitative boundaries
- One local route plan accepts at most 20 connections.
route_connectiondefaults to zero vias, a 3.0 detour factor, and at most 100,000 search nodes.- Multi-route rip-up/retry defaults to four attempts; this remains bounded local retry, not push-and-shove.
- A transaction accepts at most 100 operations and 500 conservatively counted affected objects/elements; this can be fewer than 500 unique physical objects.
The limits and defaults are implemented in
server.py,
service.py,
routing.py,
and
write_limits.py.
Runtime capabilities win.
Refusals
- Stop when pad endpoints, layer span, applicable clearance, or allowed via style is unresolved.
- Stop when an existing route contains arcs or jumpers that the requested rewrite cannot preserve.
- Do not describe congestion score as calibrated engineering risk.
- Do not use the external autorouter unless its DSN/SES geometry and job provenance gates succeed.
Search ranking is heuristic; exact rules, route geometry, preview, and post-checks are document.
Signals
- GitHub stars
- 22
- Forks
- 1
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
critical-net-router- Source
- github.com/fireostendere/mcp_diptrace