skill
EDA Bridge Standard: one way for an AI to drive every PCB tool
Public Made by Adomby adom
The standard every Adom EDA bridge follows so one AI can drive Altium, KiCad, Fusion 360 and any future PCB tool the same way: shared verb names in tiers, the board model JSON, reply and refusal conventions, and a coverage table of each bridge against the Altium reference.
main
Colby Knox
kicad-lane: cancel_run is exact, a real Freerouting stop is now proven on 1.0.100
5e73964
7d ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
{
"add_body": [
"add_body",
"partial",
"a model file only; no box without one"
],
"add_models": [
"add_models",
"partial",
"KiCad has one Footprint field: the first model goes there when it is empty, and every model joins the symbol's footprint filters, which KiCad offers but a part doesn't switch between"
],
"agent_recover": [
"agent_recover",
"unsupported",
"KiCad has no resident script agent to manage: the bridge reaches KiCad through kicad-cli, its built-in IPC API and KiCad's own Python per call (kicad_eval), so there is nothing to start, stop, check or recover"
],
"agent_start": [
"agent_start",
"unsupported",
"KiCad has no resident script agent to manage: the bridge reaches KiCad through kicad-cli, its built-in IPC API and KiCad's own Python per call (kicad_eval), so there is nothing to start, stop, check or recover"
],
"agent_status": [
"agent_status",
"unsupported",
"KiCad has no resident script agent to manage: the bridge reaches KiCad through kicad-cli, its built-in IPC API and KiCad's own Python per call (kicad_eval), so there is nothing to start, stop, check or recover"
],
"agent_stop": [
"agent_stop",
"unsupported",
"KiCad has no resident script agent to manage: the bridge reaches KiCad through kicad-cli, its built-in IPC API and KiCad's own Python per call (kicad_eval), so there is nothing to start, stop, check or recover"
],
"apply_pours": [
"add_zone / apply_zone_plan",
"exact"
],
"apply_silkscreen": [
"silk_fields_batch / silk_text_batch / silk_graphics_batch",
"exact"
],
"board_features": [
"add_mounting_hole",
"partial"
],
"board_shape": [
"board_outline",
"exact"
],
"build_footprint": [
"fp_create",
"partial",
"from arguments (pads, graphics, courtyard, model) instead of a kicad2altium spec file; kicad_footprint_from_land_pattern builds one from a datasheet's numbers"
],
"check_dialogs": [
"check_dialogs",
"exact",
"shot is the path of the saved picture, not base64"
],
"close": [
"close",
"exact"
],
"connect_workspace": [
"connect_workspace",
"unsupported",
"KiCad has no cloud workspace to connect to"
],
"create_part_project": [
"create_part_project",
"partial",
"around a part already installed in the Adom library (kicad_make_part_project; install_symbol and install_footprint first), one part per project"
],
"diff_pairs": [
"diff_pairs",
"partial",
"a pair is two nets named <base>+ and <base>-, <base>_P and <base>_N, or <base>P and <base>N, defined through a net class; other net names cannot be paired"
],
"edit_footprint": [
"fp_edit",
"exact",
"a library footprint (.kicad_mod); kicad_edit_footprint is another job: it edits footprints placed on a board (fields, attributes, lock)"
],
"export_pdf": [
"export_pdf",
"exact"
],
"extension_ping": [
"extension_ping",
"unsupported",
"KiCad needs no extension installed inside it: its IPC API is built in (kicad_readiness reports ipcApi), so there is nothing to install, ping or keep a receipt for"
],
"import_part": [
"install_footprint + install_symbol",
"partial",
"two calls: the footprint (with its STEP wired as the 3D model) into Adom.pretty, the symbol into Adom.kicad_sym, both registered in KiCad's tables; no spec files or symbol modes"
],
"install": [
"upgrade",
"partial",
"KiCad's official installer in one call, not staged; refused while KiCad runs"
],
"install_extension": [
"install_extension",
"unsupported",
"KiCad needs no extension installed inside it: its IPC API is built in (kicad_readiness reports ipcApi), so there is nothing to install, ping or keep a receipt for"
],
"install_receipt": [
"install_receipt",
"unsupported",
"KiCad needs no extension installed inside it: its IPC API is built in (kicad_readiness reports ipcApi), so there is nothing to install, ping or keep a receipt for"
],
"license": [
"license",
"unsupported",
"KiCad is GPL-3.0-or-later and has no licence page to drive; kicad_license_status reports that"
],
"list_commands": [
"menu_items",
"partial",
"a window's menu bar items (path, id, accelerator), not a command catalog"
],
"move_parts": [
"move_footprint / flip_footprint",
"exact"
],
"panel": [
"send_key",
"partial",
"kicad_send_key {menu: \"Properties\" | \"Appearance\" | \"Search\" | \"Net Inspector\" | \"Design Blocks\"} fires View > Panels in the background; it is a toggle, and neither the menu nor KiCad's API reports whether a panel is showing (kicad_screenshot_all shows it)"
],
"panelize": [
"panelize",
"partial",
"rectangular boards only (V-score or mouse-bite tabs); a shaped board is refused"
],
"physical_properties": [
"physical_properties",
"unsupported",
"KiCad has no materials or masses on a part"
],
"place_on_pcb": [
"place_footprint / add_footprint",
"exact"
],
"place_vias": [
"add_via",
"exact"
],
"read_rules": [
"list_design_rules",
"exact"
],
"remove_pours": [
"remove_zone",
"exact"
],
"run_command": [
"send_key",
"partial",
"fires a menu item by its label, or a hotkey; no command parameters"
],
"sch_sheet_symbol": [
"sch_sheet_symbol",
"partial",
"adds the sheet and creates its child file (kicad_sch_sheet); importPins adds a pin per hierarchical label the child already has, but no labels are made on the child and the pins are not wired to the parent's nets"
],
"sch_zoom": [
"sch_zoom",
"partial",
"finds the parts and returns KiCad's plot of the saved sheet cropped to them, each outlined; KiCad 10's Schematic Editor has no API, so its selection and view are not changed"
],
"select_items": [
"select_items",
"partial",
"on the board only; where:\"sheet\" is refused, because KiCad's Schematic Editor has no API for its selection"
],
"selection": [
"selection",
"partial",
"the PCB editor's selection only (kicad_get_selection); the Schematic Editor has no API for its selection"
],
"selftest_script_error": [
"selftest_script_error",
"unsupported",
"KiCad runs no resident script engine to test: a failing kicad_eval snippet already comes back as eval_failed with its traceback"
],
"set_outline": [
"board_outline",
"exact"
],
"signin": [
"signin",
"unsupported",
"KiCad has no account to sign in to"
],
"teardrops": [
"teardrops",
"partial",
"the board's default teardrop shapes (Board Setup > Teardrops), and tracks and tJunctions share KiCad's one Track to track box; force:true is refused, because KiCad has no such mode"
],
"update_pcb": [
"update_pcb_from_schematic",
"partial",
"applies to a closed board file only; a board open in KiCad is refused, because KiCad's API has no Update PCB from Schematic and a standalone PCB editor can't run it"
]
}