
Candidate filled profile
misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.
Route is an open-source printed circuit board by misko, from the misko/prompt2device repository on GitHub, published under the MIT licence. It is a 2-layer board of 165 × 64 mm with 101 parts on 58 nets, routed with 474 tracks and 105 vias.
It is built around the ESP32-C3-WROOM-02-N4, INA238AIDGSR and LMR16006XDDCR, with the W25Q64JVSSIQ, AMS1117-3.3 and USBLC6-2SC6 among its other parts. Its parts include 15 resistors, 14 capacitors, 11 ICs, 10 connectors and 7 diodes. It belongs with the ESP32 and RISC-V boards of this library.
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.
The Crow carrier + pod public design package provides native designs and fabrication exports for the 5-carrier/10-pod prototype batch. It is a subset of the local sealed release, not order authorization.
Prompt to device: give an agent a plain-language hardware brief, work through explicit design, review, and physical-test cycles, and finish with the artifacts needed to manufacture the device—not merely a plausible CAD image.
/pcb-design 3S LiPo input → 4× USB-A outputs at 5 V / 1.5 A each + 1× USB-C output at 5 V / 5 A.These two projects show the path from a plain-English request to electrical
CAD, mechanical CAD, and fabricated hardware. The prompt cells preserve the
compact original wording; the links retain the corresponding design-lineage
records. Photographs are bench evidence, not production-qualification claims.
Exact provenance and claim limits are in
fabricated-examples.md.
| Pluto eight-way fast switch | 3S LiPo USB power board | |
|---|---|---|
| Prompt | “we want a high speed 8 antenna switching board that can be programmed by the rpi4 and run with a pluto+” | “Please from scratch start a new project, and lets design a board that takes 3S lipo XT60 power as input , and outputs 3 x USB A ports (2.5A max) and 1 x USB C port (6A max).” |
| PCB rendering | ![]() | ![]() |
| Enclosure rendering | ![]() | ![]() |
| Fabricated board | ![]() | ![]() |
| Board in enclosure | ![]() | ![]() |
| Bench setup | ![]() | ![]() |
pluto-rx2-8way-v5 is the fabricated
eight-way RF switch board. Its immutable PCB design archive is
v0.2.1-2026-08-14,
with a sealed
3D PCB render,
and its independently versioned
v0.8.0-2026-08-28 enclosure
has a corresponding
installed-assembly render.
That enclosure remains an honest INCOMPLETE candidate pending sliced and
printed fit, retention, connector-service, and thermal tests.
The PCB archive itself predates fabrication and still records
DO-NOT-ORDER; RF first-article measurements remain open.
The current human-readable engineering study is
RF isolation, leakage paths, and a v6 mitigation strategy.
usb-hub-3s-v3 is the closest existing hardware
to the quick-start brief: three USB-A outputs and one USB-C output rather than
four USB-A outputs. Its latest sealed and fabricated archive is
v1.12-2026-07-28.
The bring-up journal
records physical v1.12 boards and the replacement assembly's successful
no-load regulation checks; full load, transient, and thermal qualification is
still open.
The exact v1.12 board also has an independently versioned
v0.4.0-2026-08-28 enclosure
with a corresponding
installed-assembly render.
Its authored source and replay instructions
remain mutable, while the release is an immutable INCOMPLETE candidate:
structural and collision screens pass, but printed fit, connector service,
retention, and thermal evidence remain open.
plain-language brief
→ fact locks and architecture
→ schematic, placement, routing, and enclosure development
↺ independent review, correction, regeneration, and measurement
→ sealed fabrication and mechanical artifacts
→ first article, physical findings, and the next development cycleToday the governed output can include:
01_docs/reports/.The pipeline already uses board-level CAD/assembly twins as verification instruments. Governed firmware releases and an integrated product-level digital twin are forward work, tracked by IMP-234 and IMP-236.
prompt2device is a code-first prompt-to-device engineering system. It turns a
user brief into generated KiCad source, bounded routing candidates,
independently graded fabrication evidence, immutable releases, printable
enclosures, and measured first-article records.
The product is the workflow under skills/. Boards under
projects/ are its active applications; sealed release folders
are immutable evidence, not templates to copy.
Clone the repository, create a branch, and save the user's original request as a UTF-8 text file:
git clone https://github.com/misko/prompt2device.git
cd prompt2device
git switch -c codex/my-boardCreate the governed project scaffold and choose its capability profile:
python3 skills/pcb-design/scripts/commission_project.py my-board \
--brief-file /path/to/original-brief.txt \
--signal-integrity ordinary \
--assembly jlcpcb \
--firmware forbidden \
--target designUse high_speed_digital for USB and similar controlled digital links. Use
rf only when the board intentionally carries RF/microwave signals. Add
--foreign-mating when the floorplan consumes geometry from third-party
hardware. Run the command with --help for enclosure and target options.
Here --assembly jlcpcb selects the populated JLCPCB PCBA evidence path, not
merely bare-board fabrication.
The command reports PCB-SCAFFOLD OK and leaves PCB-COMMISSION explicitly
INCOMPLETE. It preserves the prompt and creates an executable commission
hold; it does not accept requirements, adopt the seeded schema examples, or
run a board producer.
Inspect the selected lifecycle before spending engineering time:
python3 skills/pcb-design/scripts/skill_reference_router.py \
--profile projects/my-board/01_docs/capability-profile.json \
--at-stage PCB-COMMISSION \
--jsonThen give Codex this instruction:
Read and follow skills/pcb-design/SKILL.md for projects/my-board. Preserve the
original brief, close the commission fact locks, and stop at the first evidence
or operator checkpoint. Do not create firmware unless the brief explicitly
asks.Do not run rebuild_all.sh yet. The scaffold contains visible schema examples
and 01_docs/COMMISSIONING-HOLD.md; both rebuild conductors refuse to run until
the commission boundary is reviewed and that marker is deliberately removed.
Start with skills/pcb-design/SKILL.md. Its
canonical lifecycle and runnable command map is
execution-graph.md.
The repository deliberately separates three layers:
capability profile
-> disclosure graph (what stages/references are selected)
-> project conductor (what bounded commands actually run)
-> owning gates (what exact subjects passed)
-> review/seal/publication/physical claimsprojects/<name>/03_src/rebuild_all.sh is the full source/schematic
conductor. It intentionally pauses at review and operator checkpoints.rebuild_reuse.sh is the deterministic route-authority replay when the
schematic is unchanged; route.yaml selects the authenticated source.route.yaml.The declarative lifecycle is:
commission -> architecture -> sourcing
-> schematic -> placement -> routing -> layout seal
-> fabrication -> assembly verification
-> release review -> release seal
-> publication | first article -> productionRF context/source/realized/fabrication stages and foreign-mating import are conditional branches. High-speed digital composes inside the ordinary stages. Enclosures have an implemented parallel INCOMPLETE-candidate release stream and may bind an unchanged PCB release without resealing it. Higher readiness still requires the enclosure skill's recomputable CAD and physical evidence. Firmware is currently an explicit handoff, not a governed release stream; IMP-234 tracks that missing boundary.
| Skill | Owns |
|---|---|
pcb-design | Commission, lifecycle composition, backtracking, reviews, release seal, publication, first article. |
kicad-pcb | TSX/KiCad schematic conversion, netlist/parity, placement, geometry, routing, DRC, SI/RF realization. |
jlcpcb-fab | Gerber/drill/BOM/CPL, stock/population/rotation, JLC CAD twin, manufacturer staging, bring-up cards. |
pcb-enclosure | Mechanical commission, PCB interface binding, independent fasteners, motion/clearance, mesh/physical evidence, enclosure releases. |
shopping-list | Provenance-bound purchase lists for self-supplied parts. |
Authority is singular. A skill links to another owner's procedure rather than
copying it. Project contracts.md files own exact artifact membership. Script
--help text owns exact flags. improvements.md tracks
work and rationale but never overrides an executable gate or accepted ADR.
| Path | Purpose |
|---|---|
skills/ | Reusable workflow, references, tools, and project templates. |
projects/ | Active boards, including manufactured and still-evolving designs. |
archived_projects/ | Retired scaffolds and frozen regression/history units. |
docs/ | Documentation index, accepted ADRs, measured proof, and historical context. |
tests/ | Clean and known-bad fixtures proving gates can both pass and fail. |
external_hardware/ | Measured/cited facts about foreign devices this repo must mate with. |
improvements.md | Forward work registry and retained improvement history. |
See docs/README.md for the documentation authority map.
The board is generated from committed human-owned source:
kicad-cli owns headless
ERC/DRC/netlist/export checks.04_kicad/ is a mutable current snapshot and is never hand-source
authority. Immutable history lives under release streams.This makes design changes diffable and rebuildable. It also means a generator defect can become a physical defect, so freshness, parity, nonzero coverage, registered models, and independent review are first-class gates.
A release is an immutable reviewed candidate archive. It is not automatically
an order event. A design can be electrically sound and sealed while remaining
DO-NOT-ORDER because stock, uploader selections, physical fit, or first-
article evidence is owed.
PCB and enclosure versions are independent streams. Current enclosure release
tooling publishes immutable INCOMPLETE candidates bound to one exact PCB
release without forcing that PCB to be resealed; it does not yet publish a
higher readiness claim from caller-supplied scope status.
A future firmware stream, exact product lock, and integrated product-level
digital twin remain tracked work, not current release authority.
Core documentation and planning use normal Python 3. KiCad operations require
the KiCad-bundled Python where import pcbnew succeeds plus kicad-cli.
TSX generation requires the pinned tscircuit/Bun environment. Fresh routing
requires the configured KiCadRoutingTools installation; replaying a selected
authenticated route authority does not.
Python entry points expose --help; shell-conductor forms are documented in
the execution graph. Use the owning current command rather than copying an old
invocation from a project journal.
At minimum:
python3 skills/pcb-design/scripts/skill_authority_check.py
python3 tests/t1_skill_progressive_disclosure.py
python3 tests/t1_pcb_documentation.py
python3 scripts/contracts_audit.py --walk --root skills/pcb-designRun the domain suites affected by the change, then commit at a green boundary.
Except where otherwise noted, all original content in this repository is licensed under the MIT License. This includes software, documentation, prompts, schematics, PCB layouts, mechanical CAD files, and generated design artifacts.
Third-party materials remain subject to their respective copyright and license terms and are not relicensed by this repository.
See third-party notices for material provenance and contribution guidelines for new submissions.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 100n INA | Capacitor_SMD:C_0805_2012Metric | CB1, CB2, CB3, CB4, CB5, CB6 |
| 6 | 100n diff | Capacitor_SMD:C_0805_2012Metric | CD1, CD2, CD3, CD4, CD5, CD6 |
| 6 | 10R sense+ | Resistor_SMD:R_0805_2012Metric | RP1, RP2, RP3, RP4, RP5, RP6 |
| 6 | 10R sense- | Resistor_SMD:R_0805_2012Metric | RN1, RN2, RN3, RN4, RN5, RN6 |
| 6 | 3557-2 ATO 30A MAX | bbar:FuseHolder_Keystone_3557-2 | F1, F2, F3, F4, F5, F6 |
| 6 | INA238AIDGSR | Package_SO:MSOP-10_3x3mm_P0.5mm | U1, U2, U3, U4, U5, U6 |
| 6 | WSLP2726 0.5mR | bbar:R_Shunt_WSLP2726 | RS1, RS2, RS3, RS4, RS5, RS6 |
| 4 | MountingHole_3.2mm_M3 | MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | 22u 3V3 | Capacitor_SMD:C_1206_3216Metric | C5, C6 |
| 2 | 4u7 50V | Capacitor_SMD:C_1210_3225Metric | C1, C2 |
| 1 | +12-24V IN M5 LUG | bbar:Lug_M5 | J7 |
| 1 | 0466002 2A | Fuse:Fuse_1206_3216Metric | F7 |
| 1 | 100k UVLO lo | Resistor_SMD:R_0805_2012Metric | R27 |
| 1 | 100n U11 | Capacitor_SMD:C_0805_2012Metric | C9 |
| 1 | 100n U7 | Capacitor_SMD:C_0805_2012Metric | C8 |
| 1 | 100n VIN | Capacitor_SMD:C_0805_2012Metric | C3 |
| 1 | 100n VUSB | Capacitor_SMD:C_0805_2012Metric | C13 |
| 1 | 100n boot | Capacitor_SMD:C_0805_2012Metric | C4 |
| 1 | 100n corridor 3V3 | Capacitor_SMD:C_0805_2012Metric | C14 |
| 1 | 10k ALERT pu | Resistor_SMD:R_0805_2012Metric | R17 |
| 1 | 10k CS pu | Resistor_SMD:R_0805_2012Metric | R19 |
| 1 | 10k EN pu | Resistor_SMD:R_0805_2012Metric | R21 |
| 1 | 10k FB lo | Resistor_SMD:R_0805_2012Metric | R25 |
| 1 | 10k IO2 pu | Resistor_SMD:R_0805_2012Metric | R18 |
| 1 | 10k IO8 pu | Resistor_SMD:R_0805_2012Metric | R20 |
| 1 | 10u LDO in | Capacitor_SMD:C_0805_2012Metric | C11 |
| 1 | 1k ST LED | Resistor_SMD:R_0805_2012Metric | R29 |
| 1 | 1u EN | Capacitor_SMD:C_0805_2012Metric | C10 |
| 1 | 22u LDO out | Capacitor_SMD:C_1206_3216Metric | C12 |
| 1 | 22u SWPA6045S | Inductor_SMD:L_Sunlord_SWPA6045S | L1 |
| 1 | 22u U7 | Capacitor_SMD:C_1206_3216Metric | C7 |
| 1 | 2k PWR LED | Resistor_SMD:R_0805_2012Metric | R28 |
| 1 | 33k FB hi | Resistor_SMD:R_0805_2012Metric | R24 |
| 1 | 4k7 SCL pu | Resistor_SMD:R_0805_2012Metric | R16 |
| 1 | 4k7 SDA pu | Resistor_SMD:R_0805_2012Metric | R15 |
| 1 | 560k UVLO hi | Resistor_SMD:R_0805_2012Metric | R26 |
| 1 | 5k1 CC1 | Resistor_SMD:R_0805_2012Metric | R22 |
| 1 | 5k1 CC2 | Resistor_SMD:R_0805_2012Metric | R23 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U9 |
| 1 | B5819W OR | Diode_SMD:D_SOD-123 | D8 |
| 1 | BOOT | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW2 |
| 1 | DEBUG UART DNP | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J10 |
| 1 | ESP32-C3-WROOM-02-N4 | bbar:ESP32-C3-WROOM-02_D03 | U7 |
| 1 | GND REF M4 LUG | bbar:Lug_M4 | J8 |
| 1 | KT-0805G PWR | LED_SMD:LED_0805_2012Metric | LED1 |
| 1 | KT-0805G ST | LED_SMD:LED_0805_2012Metric | LED2 |
| 1 | LMR16006XDDCR | Package_TO_SOT_SMD:TSOT-23-6 | U8 |
| 1 | PORT 1 M4 LUG | bbar:Lug_M4 | J1 |
| 1 | PORT 2 M4 LUG | bbar:Lug_M4 | J2 |
| 1 | PORT 3 M4 LUG | bbar:Lug_M4 | J3 |
| 1 | PORT 4 M4 LUG | bbar:Lug_M4 | J4 |
| 1 | PORT 5 M4 LUG | bbar:Lug_M4 | J5 |
| 1 | PORT 6 M4 LUG | bbar:Lug_M4 | J6 |
| 1 | RESET | Button_Switch_SMD:SW_Push_1P1T_XKB_TS-1187A | SW1 |
| 1 | SMBJ33A tap TVS | Diode_SMD:D_SMB | D10 |
| 1 | SMCJ33A bus TVS | Diode_SMD:D_SMC | D9 |
| 1 | SS310 catch | Diode_SMD:D_SMA | D11 |
| 1 | SS310 rev block | Diode_SMD:D_SMA | D7 |
| 1 | TYPE-C-31-M-12 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J9 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U10 |
| 1 | W25Q64JVSSIQ | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U11 |

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

nathanfraske/CEC-Platform
ONE board file, kept current by the wave (owner directive 2026-07-25: "the current best should be placed into a candidate folder per board and kept current with only one board ideally so we have a reference").

lindestad/wind-controller
LINDESTAD simracing wind controller: ESP32-C3 Zephyr firmware, KiCad PCB and SimHub integration

NilsEngelbach/air-quality-pcb
Seventh iteration: ESP8266 → ESP32-C3 (native USB, no UART bridge), fixes from the v6 design review, right-angle switches with longer actuators, a STEMMA QT port for optional sensors, and charge-status sensing.

RSXLX/sunny-the-growing-sunflower-lamp
SUNNY — The Growing Sunflower Lamp | A personal lamp with customizable exteriors, traceable fabrication, and a local creative workspace.

develmusa/Thermomine
Thermomine is a 3D-printed naval mine that sits on the gravel of your tank. A sealed LED inside glows blue when the water is too cold, green when it's just right, and red when it's too warm.

Connicpu/thermostat
DIY Zigbee thermostat (ESP32-C6) with day/night schedule and a Home Assistant Lovelace card

verIdyia/astra-board
ESP32-C3 development board: a documented AI-assisted PCB experiment

It measures 165 × 64 mm and has 2 copper layers, 1.6 mm thick.
101 parts, built around the ESP32-C3-WROOM-02-N4, INA238AIDGSR, LMR16006XDDCR and W25Q64JVSSIQ. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the misko/prompt2device repository on GitHub, at the commit this page was made from: the board is archived_projects/ble-bus-bar/06_build/route/rB.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).