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.
← Commit history
kicad-lane: drop align_footprints and edit_placed_footprint (duplicates of align_parts and edit_parts); export_pos agreed by altium-lane
2 files changed
+4−101
tools/equivalents/kicad.json−5@@ -122,11 +122,6 @@ "exact", "a library footprint (.kicad_mod); kicad_edit_footprint is another job: it edits footprints placed on a board (fields, attributes, lock)" ],- "edit_placed_footprint": [- "edit_footprint",- "exact",- "placed parts on a board; the library verb is kicad_fp_edit"- ], "ensure_licensed": [ "readiness", "partial",
tools/proposed/kicad-lane.json+4−96@@ -2173,52 +2173,6 @@ "standard-lane" ] },- {- "name": "align_footprints",- "tier": "native",- "summary": "Align placed parts on a common left, right, top, bottom or centre line, or distribute them evenly, by courtyard box or anchor, through the bridge's checked move (revision, courtyard collisions, board outline, one undo step).",- "input": {- "filePath": "the board (required)",- "refs": "[ref], at least two (required)",- "mode": "left | right | top | bottom | centerX | centerY | distributeX | distributeY (required)",- "by": "courtyard | anchor, default courtyard",- "to": "mm: the line to align on; default the group's own edge or centre",- "gap": "mm between neighbours (distribute)",- "expectedRevision": "string",- "dryRun": "bool",- "allowOverlap": "bool, default false",- "allowOutside": "bool, default false"- },- "output": {- "moves": "[{ref, from, to}]",- "revision": "string",- "mutated": "bool"- },- "hint": "Without to, left and top take the group's minimum edge, right and bottom its maximum, centerX and centerY the mean centre; distribute keeps the outer two in place unless gap is given.",- "pitfalls": [- "A move that would collide or leave the outline is refused unless allowOverlap or allowOutside."- ],- "related": [- "move_footprint",- "placement_check",- "find_space"- ],- "example": {- "filePath": "C:/proj/board.kicad_pcb",- "refs": [- "C1",- "C2",- "C3"- ],- "mode": "distributeX",- "gap": 1.0- },- "proposedBy": "kicad-lane",- "since": "0.25.1",- "agreedBy": [- "standard-lane"- ]- }, { "name": "export_pos", "tier": "native",@@ -2239,7 +2193,8 @@ }, "hint": "Pair it with a BOM and Gerbers for an assembly order; export_manufacturing writes all three in one call.", "pitfalls": [- "Rotations follow the tool's convention; a fab may need its own offsets per package."+ "Rotations follow the tool's convention; a fab may need its own offsets per package.",+ "A format the tool cannot write (Altium's pick-and-place generator has no Gerber form) is answered unsupported with the reason." ], "related": [ "export_manufacturing",@@ -2253,55 +2208,8 @@ "proposedBy": "kicad-lane", "since": "0.25.1", "agreedBy": [- "standard-lane"- ]- },- {- "name": "edit_placed_footprint",- "tier": "core",- "summary": "Edit parts placed on a board: value, reference, any field (add, change, remove), DNP, exclude from BOM or position files, the mounting type, and the lock. (edit_footprint edits a library footprint; this edits the board's copies.)",- "input": {- "filePath": "the board (required)",- "refs": "[ref] or ref (required)",- "value": "string",- "newReference": "string",- "fields": "{name: value | null to remove}",- "dnp": "bool",- "excludeFromBom": "bool",- "excludeFromPosFiles": "bool",- "attributes": "{type: smd | through_hole | unspecified, ...}",- "locked": "bool",- "expectedRevision": "string",- "dryRun": "bool"- },- "output": {- "edited": "[{ref, before, after}]",- "revision": "string",- "mutated": "bool"- },- "hint": "One undo step live, or one write. The schematic is not changed: the next update from the schematic overwrites value and fields that differ there.",- "pitfalls": [- "A mandatory field (Reference, Value, Footprint) cannot be removed."- ],- "related": [- "edit_footprint",- "sheet_params",- "part_parameters"- ],- "example": {- "filePath": "C:/proj/board.kicad_pcb",- "refs": [- "R7"- ],- "dnp": true,- "fields": {- "LCSC": "C25804"- }- },- "proposedBy": "kicad-lane",- "since": "0.25.1",- "agreedBy": [- "standard-lane"+ "standard-lane",+ "altium-lane" ] } ]