eda-pcb

PCB layout and routing. Component placement, trace routing, copper pours, design rule configuration, and layout optimization for manufacturability.

12 stars

Best use case

eda-pcb is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

PCB layout and routing. Component placement, trace routing, copper pours, design rule configuration, and layout optimization for manufacturability.

Teams using eda-pcb should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/eda-pcb/SKILL.md --create-dirs "https://raw.githubusercontent.com/l3wi/claude-eda/main/templates/claude/skills/eda-pcb/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/eda-pcb/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How eda-pcb Compares

Feature / Agenteda-pcbStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

PCB layout and routing. Component placement, trace routing, copper pours, design rule configuration, and layout optimization for manufacturability.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# EDA PCB Skill

PCB layout, component placement, and routing.

## Auto-Activation Triggers

This skill activates when:
- User asks to "layout PCB", "place components", "route traces"
- User is working with `.kicad_pcb` files
- User asks about placement, routing, copper pours, vias
- Project has schematic but no PCB layout
- User mentions DFM, trace width, or clearance

## Context Requirements

**Requires:**
- `hardware/*.kicad_sch` - Completed schematic with netlist
- `docs/component-selections.md` - Component details
- `docs/design-constraints.json` - Board size, layer count, etc.
- `datasheets/` - For placement/routing recommendations

**Produces:**
- `hardware/*.kicad_pcb` - KiCad PCB file
- `docs/pcb-status.md` - Layout progress tracking

## Workflow

### 1. Load Context
```
@docs/design-constraints.json
@docs/component-selections.md
@docs/schematic-status.md
@datasheets/ (for placement guidance)
```

### 1.5 Pre-Layout Validation

**Before starting layout, verify:**

| Check | Source | Action if Missing |
|-------|--------|-------------------|
| Schematic ERC clean | schematic-status.md | Complete schematic first |
| Layer count decided | design-constraints.json | See `LAYER-COUNT-DECISION.md` |
| Stackup selected | design-constraints.json | See `STACKUP-DECISION.md` |
| Board dimensions | design-constraints.json | Define constraints |
| Critical interfaces | design-constraints.json | USB, SPI speeds, etc. |
| Thermal budget | design-constraints.json | Power dissipation known |

**Extract key constraints:**
```json
{
  "board": {
    "layers": 4,
    "thickness": 1.6,
    "dimensions": {"width": 50, "height": 40}
  },
  "dfmTargets": {
    "manufacturer": "JLCPCB",
    "minTraceWidth": 0.15,
    "minClearance": 0.15,
    "impedanceControl": true
  },
  "interfaces": {
    "usb": true,
    "highSpeedSpi": false
  },
  "thermal": {
    "maxPowerDissipation": 2.5
  }
}
```

**Architecture Validation Warnings:**

| Condition | Warning |
|-----------|---------|
| USB + 2-layer board | Cannot achieve 90Ω impedance |
| Buck converter + no ground plane | EMI issues likely |
| WiFi/BLE + 2-layer | Antenna performance degraded |
| High-speed SPI (>20MHz) + long traces | Signal integrity risk |
| No thermal plan + >1W dissipation | Thermal issues likely |

### 2. Initialize PCB
1. Create PCB file or open existing
2. Import netlist from schematic
3. Set board outline per constraints
4. Configure layer stackup
5. Set design rules

### 3. Configure Design Rules
Set rules appropriate for manufacturer:

```
JLCPCB standard:
- Min trace width: 0.127mm (5mil)
- Min clearance: 0.127mm (5mil)
- Min via drill: 0.3mm
- Min via annular ring: 0.13mm
```

### 4. Place Components

**Priority order:**
1. **Fixed position items** - Connectors (edge), mounting holes
2. **MCU/Main IC** - Central location
3. **Crystal/oscillator** - Within 5mm of MCU
4. **Power components** - Near input, thermal considerations
5. **Decoupling capacitors** - Adjacent to IC power pins
6. **Sensitive analog** - Away from noisy digital
7. **Remaining components** - Grouped by function

See `reference/PLACEMENT-STRATEGY.md` for detailed guidelines.

### 5. Route Critical Signals First

**Priority:**
1. Power delivery (wide traces, pours)
2. Crystal/oscillator (short, guarded)
3. USB differential pairs (90Ω impedance)
4. High-speed signals (length matching)
5. Sensitive analog (away from digital)
6. General signals

See `reference/ROUTING-RULES.md` for trace width and clearance guidelines.

### 6. Create Copper Pours
- GND pour on bottom layer (2-layer)
- Or GND on layer 2, power on layer 3 (4-layer)
- Thermal relief on pads
- Stitch vias for plane continuity

### 7. Route Remaining Signals
- Follow schematic groupings
- Minimize vias
- Avoid acute angles (use 45°)
- Keep trace lengths reasonable

### 8. DRC Check
- Run design rule check
- Fix violations
- Document intentional exceptions

### 9. Visual Review
- Generate board images
- Check silkscreen readability
- Verify component orientation marks
- Review for manufacturing issues

### 10. Pre-Manufacturing Review

**Validation checklist before ordering:**

| Category | Check | Reference |
|----------|-------|-----------|
| DRC | 0 errors, 0 warnings | `DRC-VIOLATIONS-GUIDE.md` |
| Clearances | Meet manufacturer minimums | `DFM-RULES.md` |
| Via sizes | Drill ≥ 0.3mm (JLCPCB std) | `DFM-RULES.md` |
| Annular rings | ≥ 0.13mm (1oz copper) | `DFM-RULES.md` |
| Trace widths | Power traces sized for current | `ROUTING-RULES.md` |
| USB traces | 90Ω impedance, length matched | `HIGH-SPEED-ROUTING.md` |
| Silkscreen | Not on pads, readable | Visual check |
| Board outline | Closed shape, proper clearance | `DFM-RULES.md` |

**Thermal verification:**
- [ ] Power components have thermal relief
- [ ] Thermal vias under QFN/thermal pads
- [ ] Heat sink areas connected to copper pour
- [ ] No thermal bottlenecks (narrow traces for high current)

**Signal integrity verification:**
- [ ] High-speed signals over solid ground
- [ ] Return paths not broken by splits
- [ ] Crystal area guarded, no traces crossing
- [ ] Antenna keep-out respected (if applicable)

## Output Format

### pcb-status.md

```markdown
# PCB Layout Status

Project: [name]
Updated: [date]

## Board Specifications
- Size: X × Y mm
- Layers: N
- Thickness: 1.6mm

## Progress
- [x] Board outline defined
- [x] Mounting holes placed
- [x] Critical components placed
- [x] All components placed
- [ ] Power routing complete
- [ ] Signal routing complete
- [ ] Copper pours added
- [ ] DRC clean

## Layer Usage
| Layer | Usage |
|-------|-------|
| F.Cu | Signals, components |
| B.Cu | GND pour, some signals |

## DRC Status
- Errors: X
- Warnings: Y
- Unrouted nets: Z

## Design Rules
- Trace width: 0.2mm (signals), 0.5mm (power)
- Clearance: 0.2mm
- Via: 0.3mm drill, 0.6mm pad

## Notes
- [Any special considerations]

## Next Steps
- [What remains to be done]
```

## Guidelines

- Always check datasheets for recommended layouts
- Keep high-current paths short and wide
- Maintain ground plane integrity under sensitive signals
- Consider thermal management early
- Use the DRC frequently during layout

## Reference Documents

| Document | Purpose |
|----------|---------|
| `reference/PLACEMENT-STRATEGY.md` | Component placement guidelines |
| `reference/ROUTING-RULES.md` | Trace width and routing rules |
| `reference/EMI-CONSIDERATIONS.md` | EMI/EMC best practices |
| `reference/DFM-RULES.md` | Design for manufacturing rules |
| `reference/DRC-VIOLATIONS-GUIDE.md` | Common DRC errors and fixes |
| `reference/STACKUP-DECISION.md` | Layer stackup selection |
| `reference/HIGH-SPEED-ROUTING.md` | USB, SPI, I2C, antenna routing |

**Upstream documents:**
| Document | What to Extract |
|----------|-----------------|
| `LAYER-COUNT-DECISION.md` (eda-architect) | Layer count rationale |
| `THERMAL-BUDGET.md` (eda-architect) | Power dissipation limits |
| `DECOUPLING-STRATEGY.md` (eda-research) | Cap values and placement |
| `SCHEMATIC-REVIEW-CHECKLIST.md` (eda-schematics) | Pre-layout verification |

## Next Steps

After PCB layout is complete:
1. Run `/eda-check` for comprehensive validation
2. Update `design-constraints.json` stage to "validation"

Related Skills

eda-schematics

12
from l3wi/claude-eda

Schematic capture and wiring. Create schematic sheets, place symbols, add wires and net labels, organize hierarchical designs.

eda-research

12
from l3wi/claude-eda

Component research and procurement. Search JLC for components, analyze datasheets, compare options, and document selections with rationale.

eda-drc

12
from l3wi/claude-eda

Design validation and review. Run DRC/ERC checks, verify against constraints, check component availability, and prepare comprehensive validation reports.

eda-architect

12
from l3wi/claude-eda

Electronics project architecture and constraint definition. Guides users through defining project requirements, power systems, interfaces, and physical constraints.

swe-cli-skills

12
from SylphAI-Inc/skills

Senior engineer CLI expertise for AI agents — workflows, safety guardrails, gotchas, and anti-patterns across cloud, IaC, containers, databases, dev tools, and platforms

DevOps & Infrastructure

PicoClaw Fleet

11
from EricGrill/agents-skills-plugins

Orchestrate a fleet of remote PicoClaw workers over SSH for fast, ephemeral one-shot tasks.

DevOps & Infrastructure

VibeCollab — Setup Instructions for AI Assistants

9
from flashpoint493/VibeCollab

You are helping a user set up VibeCollab in their project.

Workflow & Productivity

raycast-extension-docs

9
from lemikeone/Codex-skill-raycast-extension

Guidance for building, debugging, and publishing Raycast extensions using the Raycast documentation set. Use when Codex needs to create or modify Raycast extensions (React/TypeScript/Node), consult Raycast API reference or UI components, build AI extensions, handle manifest/lifecycle/preferences, troubleshoot issues, or prepare/publish extensions to the Raycast Store or Teams.

Coding & Development

evomap

9
from hyz0906/paper

Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, register as a worker, create and express recipes, collaborate in sessions, bid on bounties, resolve disputes, and earn credits via the GEP-A2A protocol. Use when the user mentions EvoMap, evolution assets, A2A protocol, capsule publishing, agent marketplace, worker pool, recipe, organism, session collaboration, or service marketplace.

AI Agent Marketplace

maestro

8
from Viniciuscarvalho/maestro

Intelligent skill knowledge gateway. Routes tasks to the right knowledge without loading all skills into context. MUST be consulted before any coding task — call the search_skills MCP tool to retrieve relevant expertise from 100+ indexed skills covering Swift, SwiftUI, concurrency, testing, architecture, performance, and security.

Coding & Development

opentui

7
from LeonardoTrapani/better-skills

Comprehensive OpenTUI skill for building terminal user interfaces. Covers the core imperative API, React reconciler, and Solid reconciler. Use for any TUI development task including components, layout, keyboard handling, animations, and testing.

Coding & Development

calm-ui

7
from brijr/vibe

Apply a restrained, Swiss/Japanese/Scandinavian/German-influenced product design system when building or refining UI in React, Next.js, TypeScript, and shadcn/ui. Use when the user asks to build, refine, critique, redesign, or review a page, screen, component, form, table, dashboard, layout, or other frontend interface, especially in projects using shadcn/ui. Do not use for marketing sites, landing pages, non-UI work, or requests for bold, playful, maximalist, or otherwise expressive aesthetics.

Frontend Development