altium-pcb-placement

altium-pcb-placement is a skill for Claude Code, Codex from ScottJeong/altium-claude-skills. It costs 250 tokens per session (4,888 once invoked), scanned A, original, MIT.

A workflow for placing electronic components on a printed circuit board in Altium. It derives board size and rotations, creates a 1:1 placement drawing for review, then adds coordinates and checks for overlaps.

In plain words
What is it for?
It helps plan board outlines, component zones, connector locations, main-chip rotations, and test-point positions from a schematic and component-library data.
Why use it?
It separates measurable placement decisions from choices that depend on the case, connectors, and other physical constraints. This helps catch layout changes and collisions before they are entered into the Altium board file.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It helps plan board outlines, component zones, connector locations, main-chip rotations, and test-point positions from a schematic and component-library data.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/scottjeong/altium-claude-skills/altium-pcb-placement
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add ScottJeong/altium-claude-skills --skill altium-pcb-placement
Clone the repo
git clone --depth 1 https://github.com/ScottJeong/altium-claude-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for altium-pcb-placement

README.md
[![agentmods](https://agentmods.dev/badge/skills/scottjeong/altium-claude-skills/altium-pcb-placement/github.svg)](https://agentmods.dev/skills/scottjeong/altium-claude-skills/altium-pcb-placement)
Your own site
<a href="https://agentmods.dev/skills/scottjeong/altium-claude-skills/altium-pcb-placement"><img src="https://agentmods.dev/badge/skills/scottjeong/altium-claude-skills/altium-pcb-placement/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for altium-pcb-placement

Your own site · 80×15
<a href="https://agentmods.dev/skills/scottjeong/altium-claude-skills/altium-pcb-placement"><img src="https://agentmods.dev/badge/skills/scottjeong/altium-claude-skills/altium-pcb-placement.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 250 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,888 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00250 $0.04888
Opus 5 $0.00125 $0.02444
Sonnet 5 $0.00050 $0.00978
Haiku 4.5 $0.00025 $0.00489

Measured 12d ago against content hash 0a4c278ea165, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

altium-pcb-placement scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

The scan reads SKILL.md. This mod also ships 9 executable files (scripts/apply_outline.py, scripts/connectivity_matrix.py, scripts/connector_facing.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

altium-pcb-placement/SKILL.md · 310 lines

How it starts

The opening of the file, as written. The whole thing — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Altium PCB 배치

배치는 두 종류가 섞여 있다. 섞어서 다루면 둘 다 망한다.

성격 처리
회전·사이즈 데이터에서 유도된다. 정답이 하나다 계산해서 근거와 함께 제시
어느 변에 뭘 둘까 사용자 취향·기구 제약. 정답이 없다 물어보고 그림으로 수렴

하나만 지킨다면 이것

가안은 반드시 그림에서 수렴시킨 다음 Altium 에 넣는다. 그림은 싸고 PcbDoc 은 비싸다.

가안은 2~4회 바뀐다고 보고 시작한다. 한 번에 맞지 않는다. 주로 바뀌는 것은 이 넷이고, 전부 §0 에서 미리 물으면 줄일 수 있다.

  • 큰 커넥터를 어느 변에 둘지
  • 커넥터를 한 변에 몰지, 기능별로 흩을지
  • 주요 IC 의 회전 기준을 무엇으로 잡을지
  • 보드 크기 목표

배치 하나하나에 이유를 댈 수 없으면 그건 아직 가안이 아니다. "왜 여기?" 에 "딱히" 라고 답할 부품이 있으면 그만큼 보드가 크다.

0. 사용자 제약을 먼저 캔다 — 여기서 회차가 갈린다

계산 전에 물어본다. 나중에 알면 전부 다시 그린다.

  • 큰 커넥터는 어느 변인가. 방향이 보드 종횡비를 통째로 결정한다
  • 커넥터를 한 변에 몰 것인가, 기능별로 흩을 것인가
  • 결합 상대가 있는가 — 상대 보드가 위로 겹치는지 옆으로 나가는지. 라이트앵글이면 대개 평면 연장이라 높이 간섭이 없다. 앵글/스트레이트를 확인한다
  • 기구 제약 — 케이스, 고정 홀, 높이 제한
  • 보드 크기 목표가 있는가

1. 제약 수집

python scripts/connectivity_matrix.py <SchDoc> --ref <기준부품>
  • 부품쌍 넷 수 — 존 분할의 1차 근거. 16넷으로 묶인 두 부품은 붙여 놓는다
  • TP 소속 — 테스트포인트를 어느 부품 옆에 둘지
  • 기준부품 핀별 상대 — §2 회전 결정의 입력값

파이썬은 altium_monkey 가 설치된 3.12 venv 인터프리터를 쓴다 (이 패키지가 Python <3.13 을 요구한다). 아래에서는 그걸 python 이라고 쓴다.

치수는 라이브러리에서 잰다. PCB 는 필요 없다

python scripts/measure_from_lib.py <SchDoc> --libs <라이브러리폴더>

회로도가 참조하는 풋프린트 이름을 뽑아 .PcbLib 에서 bbox 를 잰다. PcbDoc 도, Update PCB 도 필요 없다. 외주 PCB 설계업체에 넘길 가안처럼 애초에 PCB 문서가 없는 경우가 오히려 흔하다.

출처 얻는 것 비고
라이브러리 .PcbLib 풋프린트 bbox·패드·홀 — 원본 기본 경로
PcbDoc (있으면) 같은 값 + 현재 배치·회전 복사본이다 (아래)
벤더 도면 PDF 몸체, 레버 스윙, 높이, 볼트홀 — 풋프린트에 없는 것 altium-library measure_drawing.py

PcbDoc 은 풋프린트를 복사해 들고 있다. 라이브러리를 고쳐도 Tools ▸ Update From PCB Libraries 전까지 PcbDoc 은 옛 모양 그대로다. 실측 17건 중 2건이 이것 때문에 0.2~0.5mm 어긋났다. 라이브러리가 원본이다.

라이브러리가 없으면 데이터시트로 간다 — 추정으로 가지 않는다

PCB 외주 설계업체를 쓸 때는 풋프린트 라이브러리를 아예 안 만드는 게 흔하다. 그 경우가 배치 가안이 가장 필요한 경우이기도 하다. 라이브러리 없음은 정상 상황이지 포기 사유가 아니다.

부품마다 이 사다리를 위에서부터 내려간다. 맨 아래로 떨어지지 마라.

# 출처 얻는 것 표시
1 라이브러리 .PcbLib 실제 랜드+실크 실측
2 데이터시트 권장 랜드패턴 / PCB layout 뷰 랜드 실치수 → 코트야드만 더함 실측
3 데이터시트 몸체 치수표 (D/E/e/b/L) 랜드를 유도 → 코트야드 유도값
4 패키지 이름만 (QFN32 4x4) IPC-7351 표준 랜드 유도값
5 추정 금지

Read the full file on GitHub · 310 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 310 lines · 0 tokens per session scan A 0a4c278ea165

Subscribe to this mod's changes

altium-pcb-placement is a skill published in the GitHub repository ScottJeong/altium-claude-skills (2 stars, last pushed 15d ago), licensed MIT. It adds 250 tokens to every session and 4,888 once invoked, about $0.0013 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

kicad

Analyze KiCad projects and PDF schematics: schematics, PCB layouts, Gerbers, footprints, symbols, netlists, and design rules. Reviews designs for bugs, traces nets, cross-references schematic to PCB, extracts BOM data, checks DRC/ERC, DFM, power trees, and regulator circuits. Every finding carries a confidence label…

aklofas/kicad-happy · 240 tokens

digikey

Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets. Find parts by keyword or MPN, check pricing/stock, download datasheets via API, analyze specifications. Sync and maintain a local datasheets directory — extract…

aklofas/kicad-happy · 179 tokens

datasheets

Extract structured specifications from electronic component datasheet PDFs — pinouts, electrical characteristics, peripherals, topology, and features. Cache extractions per project for consumption by schematic and PCB analyzers. Primary consumer infrastructure for kicad, emc, spice, and thermal analyzers. Use this…

aklofas/kicad-happy · 156 tokens

element14

Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets, analyze specifications. One unified API covers all three storefronts (Newark for US, Farnell for UK/EU, element14 for APAC). Free API key, simple query-parameter…

aklofas/kicad-happy · 188 tokens

emc

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 skew, board edge radiation, PDN impedance, return paths, crosstalk, ESD protection, shielding, and magnetic leakage from…

aklofas/kicad-happy · 214 tokens

jlcpcb

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…

aklofas/kicad-happy · 113 tokens