Skill instructions
design-pcb3.95 KB
View saved version →
---
name: design-pcb
description: Design a circuit and a placed, routed PCB from a specification using Embedr tools.
---
1. Create or read the real project. Save the original requirements and material assumptions. Keep its canonical Open in Embedr link visible.
2. Load get_design_guidance for zener-language and the relevant PCB workflow. Read exact referenced resources through read_design_guidance_resource. Learn the deployed syntax; do not invent source language features or assume a local shell.
3. Search components and inspect grounded records and raw component evidence. Install suitable dependencies, or author project-local source/dependencies when catalog coverage is incomplete. Missing catalog coverage does not forbid a circuit.
4. Write source with apply_project_patch, using the latest baseRevisionId and a fresh idempotencyKey. Every engineering mutation also requires those guards. A retry of the same request uses the same key; changed inputs use a new key.
5. Poll every accepted operation with get_operation until terminal. Each call waits up to 20 seconds for the job, so call it again straight away while it is still running; do not narrate each poll. queued/running means work is accepted, not that the PCB is ready. Interpret the actual result, preserve useful partial files, repair diagnostics and retry through explicit tools.
6. Build, inspect the netlist and synchronize the layout. Define a real outline and board rules. For a first pass on a supported rectangular, unconstrained board, use auto_place_pcb. It reads native locks and fingerprint, rejects unsupported geometry/copper/keepouts and incomplete placements before writing, and preserves fixed refs. Use preview when hand placement is worth keeping; preview does not save. Keep manual place_pcb available for exact x/y/rotation/locked changes and unsupported or constrained boards.
- Await placement terminal success. Then call render_pcb with projectId, layoutPath and width:1600; poll get_operation until its image is returned. Inspect the actual MCP image content and result.revisionId, not only a widget or text report.
- Inspect current placement with inspect_pcb_placement and await its result. Check the project, layout, revision and fingerprint. If a newer edit intervened, re-inspect and re-render. An older image is not evidence of the new revision.
- Adjust selected refs through place_pcb with current baseRevisionId, expectedSha256 and a fresh idempotencyKey for changed inputs. Await success, render again and inspect the new image/revision. Repeat as needed. Render shows the saved board; after an unsaved preview it does not show the candidate.
- The image is a simplified raster and placement uses rendered envelopes and estimated connectivity. Neither proves full geometry, routability or manufacturing readiness. Keep actual validation authoritative, preserve locks and critical geometry, and report unsupported constraints honestly.
- Run the selected self-hosted router for the accepted placement. Report actual routing coverage and unconnected nets.
7. Run revision-specific checks, inspect findings and make repairs. Compiled, copper present, routed and manufacturing ready are different states. Never infer readiness from a preview alone.
8. Show the real project using show_project. Export the requested native/fabrication/BOM outputs for the accepted revision, then follow review-manufacturing to verify the final saved revision and automatically output its Order PCB link when DRC and DFM are clean. Do not wait for a separate order request or direct the user to a viewer Order button.
If a browser edit causes REVISION_CONFLICT, read the latest project, compare snapshots where needed and rebase the requested change. Do not blindly restore or overwrite newer web work. A preserved candidate can be downloaded for recovery.
Do not use a hidden Embedr generative loop. Further design decisions belong to this conversation. Accepted deterministic jobs can finish after disconnect; use get_operation to resume.
get-started716 Bytes
View saved version →
---
name: get-started
description: Connect Embedr and understand saved projects and engineering responsibilities before starting.
---
Connect your Embedr account when prompted. Projects created here are ordinary cloud projects that remain editable in Embedr. No paid Embedr AI subscription is required for host-led engineering reasoning.
Ask for the design requirements, then follow design-pcb. Keep the actual saved project link visible. Treat renders, routing, checks, exports and quotes as separate evidence. Report failures accurately. Manufacturer file transfer requires explicit approval for the concrete destination and files; a quote or Order PCB project link is not approval to transfer, purchase or pay.
inspect-and-revise1.49 KB
View saved version →
---
name: inspect-and-revise
description: Inspect and revise an existing Embedr PCB while preserving unrelated design intent.
---
Read get_project and inspect the relevant board and placement. Viewer selections are stable entity IDs bound to project, board and revision in millimetres and KiCad XY coordinates. If the revision differs, clear or resolve the selection before editing.
Use explicit placement, geometry, copper, zones or rule tools for the requested change. Preserve unrelated footprints, holes, locks and copper. Prefer a preview when a tool supports it. Read the current revision before each mutation; stale writes must fail instead of replacing newer work.
For electrical source changes, a successful build alone does not update native footprint values or the fabrication BOM. Use sync_pcb_layout check mode, reconcile source/layout agreement when needed, and verify changed refs, values and footprints in the saved native board and exported BOM. Preserve unrelated placement, copper and physical rules during synchronization. Do not report a resistor-value change from source alone.
Poll accepted operations, inspect the actual changed board, reroute affected connections when needed, rerun relevant checks and regenerate stale fabrication packages. Always provide the Open in Embedr link. Follow review-manufacturing to automatically finish with the Order PCB link once the latest saved revision is DRC/DFM-clean and manufacturing readiness passes. Explain remaining findings using backend evidence.
onboarding952 Bytes
View saved version →
---
name: onboarding
description: Start using Embedr engineering tools and connect a real saved workspace.
---
Use Embedr for electronics and PCB design. Link the user's Embedr account through the host's normal OAuth flow when required. No model API key or paid Embedr plan is required for the core design journey.
Call get_workspace_capabilities. Create a project immediately with the user's original brief and a unique idempotency key. Return its Open in Embedr link. Projects, files and ownership are the same as the web app.
Accept any circuit or PCB brief. Use explicit reversible assumptions where practical. If an actual tool capability or resource limit blocks work, explain the precise blocker, retain partial work and offer a useful next action. Do not invent a category or complexity allowlist.
You own all reasoning and repair. Use explicit source/component/engineering operations; do not send the brief to another cloud model or agent.
review-manufacturing2.92 KB
View saved version →
---
name: review-manufacturing
description: Return the order link after a completed PCB design or revision passes DRC and DFM; obtain quotes and manufacturer handoffs when requested.
---
After design or revision work and any exports have completed, read the current project and revision. Run `check_pcb` and `get_manufacturing_readiness` for the same board and selected vendor, process and options. Poll accepted operations with `get_operation` until terminal and inspect their actual results. Repair remaining DRC and DFM findings and rerun the checks after changes. Only treat the design as ready when DRC and DFM pass without outstanding findings, readiness reports `canOrder: true` and `stale: false`, and the evidence matches the latest saved revision. Failed, missing, stale or not-run checks do not qualify; explain concrete blockers instead of claiming readiness.
When those checks are clean, automatically finish with a clickable `[Order PCB](...)` link in the conversation. Use the canonical `manufacturingUrl` returned for the project when available. Otherwise use the canonical `openInEmbedrUrl` from `get_project` or `show_project`, setting its `tab` query parameter to `manufacturing` while preserving the rest of the URL. Do not invent project IDs, slugs or provider URLs. Do not ask whether the user wants the link or direct them to a viewer Order button. Returning this project link needs no quote, manufacturer upload or purchase.
When the user requests a quote or manufacturer handoff, export matching files and request a live quote for the desired quantity and shipping inputs. State exactly what the quote includes: a bare PCB quote is not an assembled-device price. Show the quote currency, options, package/revision identity and any expiry reported by the vendor.
Use the advertised canonical specification fields: `quantity`, `widthMm`, `heightMm`, `thicknessMm`, `layers`, and `finishedCopper`. Select the real process profile and provider options. The quote tool derives omitted drill size from the saved board and returns its exact `spec`; reuse that specification, `quoteId`, and `buildDays` for the handoff. Do not guess dimension aliases or copy defaults from another design. Shipping can remain unquoted for PCBWay file review, and contact/shipping details can be completed on the provider's site.
Ask the user to explicitly approve uploading the selected design package to the named manufacturer. Only then call create_manufacturing_handoff with the exact package and options, current baseRevisionId and an idempotency key. A successful handoff supplies a vendor review URL. Label it Review & order and report files transferred or review opened. Do not say an order was paid or confirmed without actual vendor evidence. Do not submit payment.
After the user explicitly approves transfer of the checked package to the chosen manufacturer, call `create_manufacturing_handoff` with `transferApproved: true`. Never infer transfer approval from a quote request.