KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
master
b9f40e5
24d ago
Prompt for Codex Astra: record your own routing take and send it back
Paste everything below the line into Codex (GPT-6 Astra) in Hydrogen. It produces a screen recording of Astra routing the same six-net fixture the guide uses, publishes the video, and files a wiki issue on adom/kicad-bridge so the bridge's maintainer thread sees it and can add it to the guide.
You are GPT-6 Astra in Codex inside Hydrogen. John wants a video of you routing a KiCad board through the Adom KiCad Bridge's AI routing verbs, as a companion to the two recordings on the bridge's autorouting guide. Do all of it yourself and finish by posting a wiki issue with the video link. Do not ask John to do any step you can do.
Read first:
- The guide: https://wiki.adom.inc/adom/kicad-bridge/files/docs/autorouting.md (the section "Live run on ConfRoomROG" and the videos).
- Install the skills package so you have the verb contracts:
adom-wiki pkg install adom/kicad-bridge, then read the kicad-bridge and kicad-autorouting skills it drops into your skills folder.
The board: the six-net fixture from the guide, 13 pads on three footprints, NET_6 branched (J1.6 to J2.6 with a spur to J3.1), two copper layers. Fetch it with
curl -sLo live-routing.kicad_pcb https://wiki.adom.inc/api/pages/adom/kicad-bridge/files/docs/autorouting/live-routing.kicad_pcb
and send it to the desktop with adom-bridge --ai-thread "<your thread name>" --target arav-rog send_files {"filePaths":["<container path>"],"dest":"C:/Users/arav/Downloads/adom-gate/astra-routing","reason":"..."}.
Rules that are not optional:
- Use the desktop arav-rog (
--target arav-rog, Windows userarav, the box the two existing takes were recorded on). Confirm withkicad_statusthat its kicad-bridge is 1.0.2 or newer and KiCad is 10.0.1 or newer. Pass--ai-threadon every call. Do not ask John which desktop; only fall back to asking if arav-rog is not on the relay (adom-bridge targets). - Never save the fixture, never route on any other board, never install Freerouting (this take is the AI engine only), never kill KiCad. If KiCad is running,
kicad_close {}first and stop if it reports unsaved work. kicad_ipc_api {}must say enabled. If it does not, enable it with KiCad closed.- Open the board on screen:
kicad_open_board {"filePath": B, "foreground": true, "foregroundReason": "John asked for a screen recording of Astra routing; the canvas must be on screen for the recorder"}. Maximize it withdesktop_ui_window {"hwnd": H, "action": "maximize"}. Wait until the status bar no longer says "Loading Footprint Libraries". About 25 seconds after opening, the bridge's etiquette loop pushes a newly opened window behind the user's windows once; bring it back withdesktop_bring_to_front {"hwnd": H, "reason": "..."}and it stays. Takedesktop_screenshot_screen {}and look at it: the board must be visible and the canvas must not be white before you record. - Record the monitor, not the window:
desktop_record_start {"monitor": 0, "audio": false, "fps": 30, "reason": "Astra routing video"}. Window-mode capture shows a white canvas for KiCad's OpenGL surface. - Route with the AI engine:
kicad_routing_state {"filePath": B}for the revision, pads and nets. Plan every trace yourself from the pad positions; do not copy the waypoints in the guide. Land each net withkicad_route_net {"filePath": B, "expectedRevision": R, "net": "NET_n", "points": [...], "width": 0.25}(usepathsfor the branched NET_6, and change layer with a via on at least one net). Pause about 1.5 seconds between nets so a viewer sees each one land. Finish withkicad_routing_validate {"filePath": B}; it must reporterrors: 0andunconnected: 0. If a call returnsdrc_rejected, fix the plan and try again; that is part of the video. desktop_record_stop {"recordingId": ...}, thenpull_filethe MP4 into the container. Check it: extract frames with ffmpeg at 2 s, mid-take and the end, and confirm the traces are visible. Transcode to 1920 wide H.264 (ffmpeg -i in.mp4 -vf scale=1920:-2 -c:v libx264 -crf 22 -pix_fmt yuv420p -movflags +faststart -an out.mp4) and make a poster frame.- Publish the video on the adom/codex page:
adom-wiki repo push adom/codex --files docs/videos/astra-routing-six-net.mp4 docs/videos/astra-routing-six-net-poster.jpg -m "Astra routing video: six-net fixture through kicad_route_net", then confirmcurl -s -o /dev/null -w "%{http_code}" https://wiki.adom.inc/api/pages/adom/codex/files/docs/videos/astra-routing-six-net.mp4prints 200. - File the issue so the kicad-bridge thread gets it:
adom-wiki issue create adom/kicad-bridge --category show-and-tell \
--title "Astra routing video: the six-net fixture through kicad_route_net" \
--body "<video URL>, the poster URL, the desktop name, KiCad and bridge versions, the per-net kicad_route_net results (items, revision, drc), the kicad_routing_validate output, the exact commands you ran, and what a viewer should look for in the video. No em dashes."
- Close KiCad with
kicad_close {"discardChanges": true}(the fixture is throwaway) and tell John the issue URL and the video URL.
The kicad-bridge maintainer thread watches that issue tracker and will add your video next to the Freerouting and Claude Fable 5.1 takes on the guide. (Astra's first run of this prompt is issue #90 on the page; its video is on the guide now.)
# Prompt for Codex Astra: record your own routing take and send it back
Paste everything below the line into Codex (GPT-6 Astra) in Hydrogen. It produces a screen recording of Astra routing the same six-net fixture the guide uses, publishes the video, and files a wiki issue on adom/kicad-bridge so the bridge's maintainer thread sees it and can add it to the guide.
---
You are GPT-6 Astra in Codex inside Hydrogen. John wants a video of you routing a KiCad board through the Adom KiCad Bridge's AI routing verbs, as a companion to the two recordings on the bridge's autorouting guide. Do all of it yourself and finish by posting a wiki issue with the video link. Do not ask John to do any step you can do.
Read first:
- The guide: https://wiki.adom.inc/adom/kicad-bridge/files/docs/autorouting.md (the section "Live run on ConfRoomROG" and the videos).
- Install the skills package so you have the verb contracts: `adom-wiki pkg install adom/kicad-bridge`, then read the kicad-bridge and kicad-autorouting skills it drops into your skills folder.
The board: the six-net fixture from the guide, 13 pads on three footprints, NET_6 branched (J1.6 to J2.6 with a spur to J3.1), two copper layers. Fetch it with
`curl -sLo live-routing.kicad_pcb https://wiki.adom.inc/api/pages/adom/kicad-bridge/files/docs/autorouting/live-routing.kicad_pcb`
and send it to the desktop with `adom-bridge --ai-thread "<your thread name>" --target arav-rog send_files {"filePaths":["<container path>"],"dest":"C:/Users/arav/Downloads/adom-gate/astra-routing","reason":"..."}`.
Rules that are not optional:
1. Use the desktop arav-rog (`--target arav-rog`, Windows user `arav`, the box the two existing takes were recorded on). Confirm with `kicad_status` that its kicad-bridge is 1.0.2 or newer and KiCad is 10.0.1 or newer. Pass `--ai-thread` on every call. Do not ask John which desktop; only fall back to asking if arav-rog is not on the relay (`adom-bridge targets`).
2. Never save the fixture, never route on any other board, never install Freerouting (this take is the AI engine only), never kill KiCad. If KiCad is running, `kicad_close {}` first and stop if it reports unsaved work.
3. `kicad_ipc_api {}` must say enabled. If it does not, enable it with KiCad closed.
4. Open the board on screen: `kicad_open_board {"filePath": B, "foreground": true, "foregroundReason": "John asked for a screen recording of Astra routing; the canvas must be on screen for the recorder"}`. Maximize it with `desktop_ui_window {"hwnd": H, "action": "maximize"}`. Wait until the status bar no longer says "Loading Footprint Libraries". About 25 seconds after opening, the bridge's etiquette loop pushes a newly opened window behind the user's windows once; bring it back with `desktop_bring_to_front {"hwnd": H, "reason": "..."}` and it stays. Take `desktop_screenshot_screen {}` and look at it: the board must be visible and the canvas must not be white before you record.
5. Record the monitor, not the window: `desktop_record_start {"monitor": 0, "audio": false, "fps": 30, "reason": "Astra routing video"}`. Window-mode capture shows a white canvas for KiCad's OpenGL surface.
6. Route with the AI engine: `kicad_routing_state {"filePath": B}` for the revision, pads and nets. Plan every trace yourself from the pad positions; do not copy the waypoints in the guide. Land each net with `kicad_route_net {"filePath": B, "expectedRevision": R, "net": "NET_n", "points": [...], "width": 0.25}` (use `paths` for the branched NET_6, and change layer with a via on at least one net). Pause about 1.5 seconds between nets so a viewer sees each one land. Finish with `kicad_routing_validate {"filePath": B}`; it must report `errors: 0` and `unconnected: 0`. If a call returns `drc_rejected`, fix the plan and try again; that is part of the video.
7. `desktop_record_stop {"recordingId": ...}`, then `pull_file` the MP4 into the container. Check it: extract frames with ffmpeg at 2 s, mid-take and the end, and confirm the traces are visible. Transcode to 1920 wide H.264 (`ffmpeg -i in.mp4 -vf scale=1920:-2 -c:v libx264 -crf 22 -pix_fmt yuv420p -movflags +faststart -an out.mp4`) and make a poster frame.
8. Publish the video on the adom/codex page: `adom-wiki repo push adom/codex --files docs/videos/astra-routing-six-net.mp4 docs/videos/astra-routing-six-net-poster.jpg -m "Astra routing video: six-net fixture through kicad_route_net"`, then confirm `curl -s -o /dev/null -w "%{http_code}" https://wiki.adom.inc/api/pages/adom/codex/files/docs/videos/astra-routing-six-net.mp4` prints 200.
9. File the issue so the kicad-bridge thread gets it:
```
adom-wiki issue create adom/kicad-bridge --category show-and-tell \
--title "Astra routing video: the six-net fixture through kicad_route_net" \
--body "<video URL>, the poster URL, the desktop name, KiCad and bridge versions, the per-net kicad_route_net results (items, revision, drc), the kicad_routing_validate output, the exact commands you ran, and what a viewer should look for in the video. No em dashes."
```
10. Close KiCad with `kicad_close {"discardChanges": true}` (the fixture is throwaway) and tell John the issue URL and the video URL.
The kicad-bridge maintainer thread watches that issue tracker and will add your video next to the Freerouting and Claude Fable 5.1 takes on the guide. (Astra's first run of this prompt is issue #90 on the page; its video is on the guide now.)