Agent skill

Jlcpcb

by aklofas in aklofas/kicad-happy

JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow.

MITAuto-check passed

Install Jlcpcb

skills CLI
$ npx skills add aklofas/kicad-happy --skill jlcpcb -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aklofas/kicad-happy jlcpcb --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jlcpcb .claude/skills/jlcpcb && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jlcpcb
GitHub stars
1.4k
Used in
1 other repo
Token cost
~2.7k tokens
SKILL.md length
1,213 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow.

  • Works in 3 steps: In KiCad schematic editor, add an LCSC… → Export BOM as CSV with columns:… → Rename columns to match JLCPCB's…
  • The user mentions JLCPCB
  • SKILL.md covers Related Skills, Assembly Parts Library, BOM Format for Assembly and JLCPCB Official API (Approval…, plus 5 more sections
  • Calls python3; reaches jlcpcb.com and cart.jlcpcb.com

What it does

Jlcpcb is an agent skill from aklofas/kicad-happy. JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow. Use with KiCad for JLCPCB manufacturing. Use this skill when the user mentions JLCPCB, wants to order PCBs or assembled boards, needs prototype bare PCBs and stencils, wants to know JLCPCB design rules and capabilities, or is asking about PCB manufacturing costs or turnaround times. For gerber/CPL export, stencil ordering, and BOM management, see the bom skill.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with EasyEDA. The repository describes itself as: AI coding agent skills for KiCad electronics design. Works with Claude Code and OpenAI Codex. Analyze schematics, review PCB layouts, EMC pre-compliance, SPICE simulation… The licence is MIT.

When your agent uses it

  • The user mentions JLCPCB
  • Wants to order PCBs
  • Assembled boards
  • Needs prototype bare PCBs and stencils

Example prompts

  • “/jlcpcb”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. In KiCad schematic editor, add an LCSC field to each symbol with the LCSC part number
  2. Export BOM as CSV with columns: Reference, Value, Footprint, LCSC
  3. Rename columns to match JLCPCB's expected format

What it can do on your machine

Read from SKILL.md and the folder at commit 0684046. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • jlcpcb.com
    • cart.jlcpcb.com
    • api.jlcpcb.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jlcpcb loads about 2.7k tokens when it runs. Until then it costs about 128 tokens; SKILL.md has 1,213 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~128
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aklofas/kicad-happy at commit 0684046, republished under its MIT licence (© aklofas). 1,213 words, ~2,705 tokens.

Download SKILL.mdSave it as .claude/skills/jlcpcb/SKILL.md (or your agent's skills folder).
name
jlcpcb
description
JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow. Use with KiCad for JLCPCB manufacturing. Use this skill when the user mentions JLCPCB, wants to order PCBs or assembled boards, needs prototype bare PCBs and stencils, wants to know JLCPCB design rules and capabilities, or is asking about PCB manufacturing costs or turnaround times. For gerber/CPL export, stencil ordering, and BOM management, see the `bom` skill.

JLCPCB — PCB Fabrication & Assembly

JLCPCB is a PCB fabrication and assembly service based in Shenzhen, China. It is a sister company to LCSC Electronics (common ownership) — they share the same parts library.

Typical usage: Order bare prototype PCBs + framed stencil from JLCPCB during prototyping (parts sourced separately from DigiKey/Mouser, hand-assembled in lab). For production runs (100s qty), order fully assembled boards from JLCPCB using LCSC parts. PCBWay is an alternative assembler. For component searching, see the lcsc skill. For BOM management, gerber/CPL export, and stencil ordering, see the bom skill.

SkillPurpose
kicadRead/analyze KiCad project files, DFM scoring against JLCPCB capabilities
bomBOM management, gerber/CPL export, stencil ordering
digikeySearch DigiKey (prototype sourcing, primary — also preferred for datasheet downloads via API)
mouserSearch Mouser (prototype sourcing, secondary)
lcscSearch LCSC (production sourcing — JLCPCB uses LCSC parts library)
pcbwayAlternative PCB fabrication & assembly
emcEMC pre-compliance risk analysis — run before fab to catch EMC issues
spiceSPICE simulation — verify analog subcircuits before committing to fab

Assembly Parts Library

Part Categories
CategoryDescriptionAssembly Fee
BasicCommon parts (resistors, caps, diodes, common ICs) pre-loaded on pick-and-place machinesNo extra fee
Extended300k+ less common parts loaded on demand$3 per unique extended part

JLCPCB occasionally promotes a subset of frequently-used extended parts with a discounted or waived feeder fee (the program's name and terms shift over time). Check the current JLCPCB parts library page for any specific extended part before assuming the standard $3 fee applies.

LCSC Part Numbers

Every assembly component is identified by an LCSC Part Number (Cxxxxx, e.g., C14663). This is the definitive identifier for BOM matching. See the lcsc skill for searching parts.

Parts Search (JLCPCB-Specific)
  • Parts library: https://jlcpcb.com/parts/componentSearch?searchTxt=<query>
  • Basic parts only: https://jlcpcb.com/parts/basic_parts

BOM Format for Assembly

JLCPCB accepts CSV, XLS, or XLSX BOMs with these columns:

ColumnRequiredDescription
Comment / ValueYesComponent value (e.g., 100nF, 10k)
DesignatorYesReference designators, comma-separated (e.g., C1,C2,C5)
FootprintYesPackage/footprint name
LCSC Part #RecommendedLCSC part number (Cxxxxx) — guarantees exact match

The column header for LCSC numbers must be exactly "LCSC Part #" or "LCSC Part Number" — typos cause upload failures.

KiCad BOM Export for JLCPCB
  1. In KiCad schematic editor, add an LCSC field to each symbol with the LCSC part number
  2. Export BOM as CSV with columns: Reference, Value, Footprint, LCSC
  3. Rename columns to match JLCPCB's expected format:
    • Reference -> Designator
    • Value -> Comment
    • Footprint -> Footprint
    • LCSC -> LCSC Part #

For gerber export settings, CPL format, and stencil ordering, see the bom skill.

JLCPCB Official API (Approval Required)

Apply at https://api.jlcpcb.com. Access is gated — requires review based on order history and business profile.

Available APIs (once approved):

  • Components API — real-time pricing, inventory, component specs
  • PCB API — upload gerbers, get quotes, place orders, track status
  • Stencil API — stencil quoting and ordering
  • 3D Printing API — SLA/MJF/SLM/FDM ordering

PCB Design Rules (JLCPCB Capabilities)

Standard PCB (1-2 layers)
ParameterMinimum
Trace width0.127mm (5mil)
Trace spacing0.127mm (5mil)
Via diameter0.45mm
Via drill0.2mm
Annular ring0.125mm
Min hole size0.2mm
Board thickness0.4-2.4mm (default 1.6mm)
Min board size6x6mm
Max board size500x400mm (2-layer)
Multi-layer (4+ layers)
ParameterMinimum
Trace width0.09mm (3.5mil)
Trace spacing0.09mm (3.5mil)
Via diameter0.25mm
Via drill0.15mm
Board thickness0.6-2.4mm
Importing DRU into KiCad

If you have a JLCPCB .kicad_dru design rules file, import it in KiCad Board Editor > Board Setup > Design Rules > Import Settings.

Assembly Constraints

Economic vs Standard Assembly
FeatureEconomicStandard
SidesTop onlyTop + Bottom
Component typesSMD onlySMD + through-hole
Min component size020101005
Fine-pitch BGA/QFPDown to 0.5mm pitchDown to 0.4mm pitch
Turnaround~3-5 days~3-5 days
Extended part fee$3 per unique part$3 per unique part
General Constraints
  • Minimum order: 5 PCBs for assembly
  • Unique parts limit: No hard limit, but each extended part adds $3
  • Basic parts: No extra fee, pre-loaded on machines

Rotation Offsets

JLCPCB's pick-and-place uses different rotation conventions than KiCad for some footprints. Common offsets:

Footprint FamilyTypical Offset
SOT-23, SOT-23-5, SOT-23-6+180°
SOT-223+180°
SOIC-8, SOIC-16+90° or +270°
QFN (all sizes)+90°
SMA/SMB/SMC diodes+180°
USB-C connectorsVaries — check datasheet

To fix rotation issues:

  1. Add rotation corrections directly in the CPL file before uploading (adjust the Rotation column)
  2. For custom footprints, verify pin 1 orientation matches JLCPCB expectations
  3. JLCPCB's review step catches major errors, but subtle 180° rotations on symmetric parts (caps, resistors) may slip through
  4. After first assembly order, note any rotation corrections needed and apply them to future CPL exports
Show full SKILL.md (481 more words)Show less

Ordering Workflow

Prototype Order (Bare PCB + Stencil)
  1. Export gerbers from KiCad (see bom skill for export settings)
  2. Upload gerbers to https://cart.jlcpcb.com/quote — configure layers, thickness, color, qty
  3. Add a framed stencil to the cart (uses paste layers from your gerbers)
  4. Order — PCBs and stencil typically arrive in ~1 week
Production Order (Assembled Boards)
  1. Export gerbers from KiCad (see bom skill for export settings)
  2. Export BOM as CSV with LCSC part numbers (format above)
  3. Export CPL (placement file) as CSV (see bom skill for format)
  4. Upload gerbers to https://cart.jlcpcb.com/quote — configure layers, thickness, color, qty
  5. Enable "PCB Assembly", select Economic or Standard
  6. Upload BOM and CPL files
  7. Review part matching — fix any unmatched parts by searching LCSC numbers
  8. Confirm and order
Translating Altium / KiCad BOM and CPL files

For boards exported from Altium (or other tools) whose BOM/CPL formats don't match JLCPCB's expected columns, the bom skill ships translate_bom_pnp.py to convert them. Two subcommands:

bash
# BOM: KiCad/Altium CSV → JLCPCB BOM CSV (Comment, Designator, Footprint,
#                                         LCSC Part #, MPN, Manufacturer,
#                                         Quantity, Notes)
python3 skills/bom/scripts/translate_bom_pnp.py bom input_bom.csv -o jlc_bom.csv

# CPL: input CPL → JLCPCB Pick-and-Place CSV (Designator, Mid X, Mid Y,
#                                              Layer, Rotation), with mil→mm
#                                              and TopLayer/BottomLayer
#                                              normalization
python3 skills/bom/scripts/translate_bom_pnp.py pnp input_cpl.csv -o jlc_cpl.csv
The 3-step PCBA upload workflow (avoids rejection)

JLCPCB's PCBA web upload rejects orders when the CPL contains designators that aren't in the BOM (mechanical holes, fiducials, test points, etc. that appear in the CPL output but aren't assembly components). The translator's --bom filter mode solves this:

  1. Translate the BOM first — produces the JLCPCB-format BOM and establishes the authoritative designator set:

    bash
    python3 skills/bom/scripts/translate_bom_pnp.py bom input_bom.csv -o jlc_bom.csv
  2. Translate the CPL with --bom filter — intersects CPL designators with BOM designators, dropping orphans:

    bash
    python3 skills/bom/scripts/translate_bom_pnp.py pnp input_cpl.csv -o jlc_cpl.csv --bom jlc_bom.csv

    The returned filtered_orphans count plus filtered_orphan_samples list lets the operator confirm which CPL rows were dropped — sanity- check this list before uploading. Common orphans (mounting holes, fiducials, test points) are expected; anything else may indicate a BOM/PCB mismatch worth investigating.

  3. Tabulate consigned-parts cost separately — JLCPCB's quote does not auto-itemize consigned (user-supplied) part costs. Build a quote summary that shows: PCB fabrication, PCBA assembly fee, basic vs extended parts cost (per JLCPCB invoice), and a separate user-sourced parts subtotal. Without this breakdown the quote understates true unit cost by the consigned-parts amount.

This workflow is documented because JLCPCB's web upload UX silently rejects orphan-designator CPLs with an unhelpful error; the parity check via --bom is the single highest-value step in shipping a clean PCBA order.

Tips

  • Prefer Basic parts — no extra fee, always in stock, faster assembly
  • Check stock before ordering — extended parts can go out of stock; use the lcsc skill to search
  • Panel by JLCPCB — for small boards, let JLCPCB panelize (cheaper) vs custom panels
  • Lead-free solder — default is leaded (HASL); select lead-free HASL or ENIG if needed
  • Impedance control — available for multi-layer boards, specify stackup in order notes
  • Castellated holes — supported, enable in order options
  • V-cuts and mouse bites — supported for panel separation
  • Silkscreen minimum — 0.8mm height, 0.15mm line width for readable text
  • Edge clearance — keep copper >=0.3mm from board edge (0.5mm recommended)

© aklofas, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/jlcpcb of aklofas/kicad-happy.

Open the folder on GitHubat commit 0684046

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in aklofas/kicad-happy, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Jlcpcb next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jlcpcb compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jlcpcb this skillaklofas/kicad-happy1.4k1 repos~2.7kAutomated safety check: PassMIT
EasyEDA Pro API Bridgeeasyeda/easyeda-api-skill878—~7.8kAutomated safety check: PassMIT
EasyEDA to KiCad Importerjamro/tiny-engineer591—~569Automated safety check: PassCustom licence
Kicad Manufacturemixelpixx/Konnect927—~2.2kAutomated safety check: PassAGPL-3.0
Datasheetsbiosshot/easyeda-copilot170—~1.2kAutomated safety check: PassMIT
Easyeda Agentzhoushoujianwork/easyeda-agent614—~2.1kAutomated safety check: PassMIT

Similar skills

  • EasyEDA Pro API Bridge

    easyeda/easyeda-api-skill

    Gives an agent the EasyEDA Pro API reference and a WebSocket bridge to run code in a live EasyEDA client, for PCB, schematic and library work and extension development.

    878 GitHub stars~7.8k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • EasyEDA to KiCad Importer

    jamro/tiny-engineer

    Imports an LCSC part into a Tiny Engineer KiCad board as library files (symbol, footprint, 3D model) using easyeda2kicad and a bundled script.

    591 GitHub stars~569 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Kicad Manufacture

    mixelpixx/Konnect

    Manufacturing and fabrication workflow for KiCAD projects via MCP tools.

    927 GitHub stars~2.2k tokensUpdated 4 days ago
    Agent WorkflowsAuto-check passed
  • Datasheets

    biosshot/easyeda-copilot

    Download component datasheet PDFs, locate useful pages, and read verified pinouts, electrical limits, thermal data and application notes using the agent's PDF tools.

    170 GitHub stars~1.2k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Easyeda Agent

    zhoushoujianwork/easyeda-agent

    通过本地 easyeda CLI、daemon 和连接器操作嘉立创EDA专业版(EasyEDA Pro):用可迁移样例和参数化数据构建或修复原理图、布局布线 PCB,并回读连接、几何、DRC 与保存结果。适用于已有工程操作及数据驱动电路设计。

    614 GitHub stars~2.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • JLCPCB BOM Verifier

    jamro/tiny-engineer

    Checks a KiCad board's production BOM against the schematic, PCB footprints and JLCPCB's parts catalog, then explains which failures are real.

    591 GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from aklofas/kicad-happy

All 11 skills in this repo
  • Datasheets

    aklofas/kicad-happy

    Extract structured specifications from electronic component datasheet PDFs — pinouts, electrical characteristics, peripherals, topology, and features.

    1.4k GitHub starsUsed in 1 repo~2.4k tokens
    Auto-check passed
  • Emc

    aklofas/kicad-happy

    EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…

    1.4k GitHub starsUsed in 1 repo~2.8k tokens
    Auto-check passed
  • Bom

    aklofas/kicad-happy

    BOM (Bill of Materials) management for electronics projects — the workflow skill that coordinates DigiKey, Mouser, LCSC, element14, JLCPCB, PCBWay, and KiCad skills around a unified BOM lifecycle.

    1.4k GitHub starsUsed in 1 repo~5.5k tokens
    Auto-check passed
  • Digikey

    aklofas/kicad-happy

    Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets.

    1.4k GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check passed
  • Element14

    aklofas/kicad-happy

    Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets, analyze specifications.

    1.4k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Kicad

    aklofas/kicad-happy

    Analyze KiCad projects and PDF schematics: schematics, PCB layouts, Gerbers, footprints, symbols, netlists, and design rules.

    1.4k GitHub starsUsed in 1 repo~20k tokens
    Auto-check passed

Works with

Questions about Jlcpcb

What does Jlcpcb do?

JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow. Jlcpcb is an agent skill from aklofas/kicad-happy. JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow.

When should I use Jlcpcb?

Jlcpcb fits situations like: the user mentions JLCPCB; wants to order PCBs; assembled boards; needs prototype bare PCBs and stencils.

How do I install Jlcpcb in Claude Code?

Run `npx skills add aklofas/kicad-happy --skill jlcpcb -a claude-code`. Or copy the skill folder (skills/jlcpcb in aklofas/kicad-happy) into .claude/skills/jlcpcb in your project. Claude Code loads it when a task matches its description.

How do I install Jlcpcb in Codex?

Run `npx skills add aklofas/kicad-happy --skill jlcpcb -a codex`. Or copy the skill folder (skills/jlcpcb in aklofas/kicad-happy) into .agents/skills/jlcpcb in your project. Codex loads it when a task matches its description.

Can I use Jlcpcb in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aklofas/kicad-happy --skill jlcpcb -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jlcpcb, .gemini/skills/jlcpcb, .github/skills/jlcpcb and .opencode/skills/jlcpcb in your project.

What does Jlcpcb need to run?

Going by SKILL.md and its folder, Jlcpcb needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Jlcpcb access the network?

SKILL.md names 3 domains. In commands or code: jlcpcb.com, cart.jlcpcb.com and api.jlcpcb.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Jlcpcb safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jlcpcb use?

Jlcpcb is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jlcpcb use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Jlcpcb?

Skills that share tags, products or a category with Jlcpcb: EasyEDA Pro API Bridge (easyeda/easyeda-api-skill, 878 stars), EasyEDA to KiCad Importer (jamro/tiny-engineer, 591 stars), Kicad Manufacture (mixelpixx/Konnect, 927 stars) and Datasheets (biosshot/easyeda-copilot, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jlcpcb?

aklofas (a GitHub user) maintains it in aklofas/kicad-happy, which has 1,361 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.

Source: aklofas/kicad-happy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.