Readable Schematic Layout logo

Readable Schematic Layout

Community
John-owo
readable-schematic-layout

把 KiCad 原理圖與 PCB 佈局畫成符合人類習慣、方便除錯的樣子:用 KiCad 內建 symbol、電源 symbol、實際畫線、依電流/訊號流向分區、文字不重疊,佈局對應原理圖分區並留好除錯點。只改畫法時以 netlist 連線分群比對證明電路不變。Use when drawing, redrawing, cleaning up or reviewing a schematic or PCB layout for readability/debuggability — "原理圖好讀", "改成人類畫法", "文字重疊", "用內建 symbol", "方便除錯", "整理原理圖", "layout 好除錯", "readable schematic", "redraw schematic".

Overview

PublisherJohn-owo
Repositorypcb-agent-workflow
Skill namereadable-schematic-layout
Stars
72
Forks
10
Bundled files
5
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by John-owo on GitHub. Read the source before you install it.

Installation

Install the Readable Schematic Layout AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/John-owo/pcb-agent-workflow/tree/main/skills/readable-schematic-layout
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/John-owo/pcb-agent-workflow.git /tmp/pcb-agent-workflow
mkdir -p .claude/skills
cp -r /tmp/pcb-agent-workflow/skills/readable-schematic-layout .claude/skills/readable-schematic-layout
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Readable Schematic Layout in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Readable Schematic Layout on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Readable Schematic Layout is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

人類好讀、好除錯的原理圖與佈局

目標讀者是拿著電表、示波器除錯的人:看圖就知道電從哪裡來、訊號往哪裡去、該量哪一點。 專案自己的協作規則(單一寫入者、改檔前先保全版本、審查流程)優先;本 skill 只規定「畫法」與「證明沒改到電路」。

0. 開工前要問使用者的決策(不要自己決定)

只有要改檔時才問;只是審查可讀性、不改檔,就直接審,結果列成建議清單。要改檔時一次問完,答完才動檔:

  1. 正本是誰:程式產生器(腳本輸出 .kicad_sch),還是直接編輯 .kicad_sch(KiCad GUI、KiCad MCP 或腳本)?改成直接編輯後,產生器要刪除或停用,否則重跑會蓋掉人工修改。
  2. 誰操作:agent(MCP/腳本,不開 GUI)或使用者開 GUI。同一時間只有一位寫入者。
  3. IC 是否換內建 symbol(有的才換;沒有的重畫自訂 symbol)。
  4. 網路名稱:保留原名(文件、韌體、審查紀錄不用改),或改 KiCad 標準名(+3V3)。
  5. 跨頁訊號:頁邊 global label,或 hierarchical label+根頁連線。
  6. MCP 做不到時的備案:小腳本直接改文字檔,或停下來問。
  7. 審查者:另一個 agent、唯讀子代理,或使用者目視。

1. 原理圖畫法

Symbol

  • 分立元件一律用 KiCad 內建 symbol:MOS Transistor_FET:<MPN> 或 Device:Q_NMOS/Q_PMOS、開關 Switch:SW_SPDT/SW_Push、電池 Device:Battery_Cell、TVS/ESD Device:D_TVS(雙向)或 Power_Protection:*、天線 Device:Antenna_Shield、測試點 Connector:TestPoint、R/C/L/LED Device:*。不要用畫成方框的自訂 symbol 代表這些元件。
  • IC 有內建 symbol 就用(例如 RF_GPS:MAX-M10S、Power_Management:TPS22919DCK、Logic_LevelTranslator:SN74LVC1T45DBV)。查法:KiCad 10 的內建庫是一個 symbol 一個檔,看 KiCad 安裝目錄的 share/kicad/symbols/<庫名>.kicad_symdir/<名稱>.kicad_sym 是否存在;舊版(單一 <庫名>.kicad_sym)則在檔內搜尋 symbol "<名稱>"。上面的名稱在 KiCad 10.0.6 的官方庫都存在(2026-10 確認)。
  • 沒有內建 symbol 的 IC/模組自己畫:電源腳在上、GND 在下、輸入在左、輸出在右;同功能的腳(SPI、UART、電源、控制)排在一起;腳名照規格書;未用腳標 no-connect。
  • 換 symbol 一定核對腳號 = footprint 焊盤號。內建 symbol 的腳號常和自建 footprint 不同(例:SPDT 開關的公共端、電池 +/−、天線饋入/接地)。對不上時換 symbol 或改用自訂 symbol,不改 footprint、不改連線;確實要改時先問使用者。
  • 換 symbol 時保留位號、值、footprint、Datasheet、Description 與所有自訂欄位(Manufacturer、MPN、供應商料號、DNP 等)。

連線與網路

  • 電源與地用電源 symbol(power:GND、power:+3V3…)。保留原網路名稱時,內建庫沒有的名稱(如 VSYS)在專案庫做同樣式的電源 symbol;網路名稱由 symbol 的 value 決定,做完要在 netlist 確認名稱正確。
  • 電源 symbol 方向固定:正電源朝上、GND 朝下。
  • 頁內元件之間實際畫線,不要每支腳都掛 label。label 只用在跨頁訊號(集中在頁邊的「介面欄」),或線太長會穿越其他區塊時。
  • 同一網路不要同時用 label 和不同名稱的電源 symbol。
  • 去耦電容畫在所屬 IC 電源腳旁,從腳拉線到電容再到 GND symbol。
  • 線不穿過元件本體;T 形接點要有 junction,避免四向交叉接點。
  • 未用腳放 no-connect;ERC 需要的 PWR_FLAG 放在電源進入點旁。

排版

  • 依電流/訊號流向由左到右:例如 電池 → 保護 → 反接 → 開關 → 系統電源 → 升壓/LDO → 負載;MCU → 位準轉換 → 模組 → RF 前端 → 天線。
  • 每個功能區用圖框圈起來並加標題,例如「電池保護」「5V 升壓」。
  • 電源在上、GND 在下;同類電路(一排下拉電阻、測試點)排成一列對齊。
  • 元件、線、label 放在 50 mil(1.27 mm)格點;symbol 只用 0°/90°/180°/270°。
  • 文字不可重疊:位號、值、label、註解、腳名彼此不重疊,也不壓在線或 symbol 上;值和位號放在 symbol 旁同一側。
  • 設計註解(電源開關規則、晶片勘誤、斷電隔離、腳位不接的原因)放在相關電路旁的空白處,必要時加框;不要只留在外部文件。
  • 測試點旁標網路名與預期值(例如 TP1 VBUS_SENSE, 無 USB 時 <0.5 V)。
  • 紙張不夠就換 A3 或拆頁,不要擠。根頁只放子頁方框與簡短的方塊說明。

2. PCB 佈局(方便除錯的部分)

只有要畫或審查佈局時才讀 references/layout.md:分區與位號、4 層板層別分工、測試點與除錯對照圖、手焊友善、佈局驗證。用 Konnect 改佈局前,先讀 references/konnect-limits.md。

3. 驗收:證明只改畫法、沒改電路

改圖前先保全(git commit 或完整副本),並把基準 netlist 複製出來。

  1. 匯出 netlist:kicad-cli sch export netlist --format kicadxml -o <new>.xml <root>.kicad_sch
  2. 比對連線分群與元件欄位(腳本在本 skill 目錄的 scripts/): python -I <skill 目錄>/scripts/compare_netlist.py <base>.xml <new>.xml [--names] 必須 IDENTICAL。保留原網路名稱時加 --names。任何差異都要能逐條說明,否則回頭修圖。
  3. ERC:kicad-cli sch erc --severity-all -o erc.rpt <root>.kicad_sch → 0 錯誤、0 警告。
  4. symbol/footprint 腳號: python -I <skill 目錄>/scripts/check_pin_pad.py <new>.xml --pcb <專案名>.kicad_pcb 還沒有 PCB 時改用 --footprints <footprint 資料夾>。必須 PASS;「pad without pin」逐條說明(例如固定用焊盤),「pin without pad」一律回頭修。
  5. 目視:kicad-cli sch export pdf → pdftoppm -r 110 -png → 逐頁看圖。pdftoppm 來自 poppler,Windows 沒有內建(可用 winget install oschwartz10612.Poppler 或 conda 的 poppler 安裝);沒有時直接開 PDF 看,或請使用者目視。檢查文字無重疊、線不穿元件、分區清楚、註解都在、流向從左到右。MCP 的重疊偵測工具可輔助,但不能取代目視。
  6. 交審查者看固定版本,重點是 netlist 比對結果與可讀性。

以上都通過才能說「畫法改完、電路不變」;這仍不代表電氣正確或實板可用。

4. 工具搭配

原則:MCP 負責讀現況和即時編輯,腳本與 kicad-cli 負責判定。MCP 回覆「成功」不算驗收,一律用第 3 節讀回。

步驟MCP腳本/CLI(相對於本 skill 資料夾)通過條件
開工前存基準—kicad-cli sch export netlist --format kicadxml → base.xml檔案存在
讀現況Konnect 0.12.1:get_project_info、list_schematic_components—讀回內容與磁碟檔一致
改畫法Konnect sch_components、sch_wiring、sch_hierarchyMCP 做不到的用小腳本改 .kicad_sch每張子頁改完就跑第 3 節 1–3 步
證明電路不變—scripts/compare_netlist.py、kicad-cli sch ercIDENTICAL、ERC 0
腳號對焊盤Konnect get_component_pads(只當輔助)scripts/check_pin_pad.pyPASS
PCB 即時調整Konnect pcb_components(經 KiCad IPC)kicad-cli pcb drc --schematic-parity回覆 source=ipc、DRC 0
目視—kicad-cli sch export pdf(加 pdftoppm)審查者看過
  • Konnect 版本不是 0.12.1 時,先跑 get_installation_info,再取得 tools/list(或用 konnect-call.mjs 的 listTools),以實際 schema 為準。安裝、設定與能力表見 pcb-agent-workflow 的 docs/workflow/kicad-tools.md。
  • 沒有 Konnect 時:讀取改用 kicad-cli 匯出,修改改用小腳本直接改文字檔(KiCad 沒開著該檔時),驗收照第 3 節不變。
  • 有些 KiCad MCP 工具會把設計資料送到遠端服務。對正式設計使用前逐一確認,並取得使用者同意。

5. 工具備忘

  • 用 KiCad MCP(例如 Konnect)時,先列出並載入原理圖相關工具組(元件、連線、批次、分析、匯出),以實際 schema 為準,不要猜參數。
  • MCP 做不到的動作(例如保留自訂欄位換 symbol)改用小腳本直接改 .kicad_sch 文字;一樣在檔案沒被 GUI 開啟時進行、一樣走第 3 節驗收。
  • 每完成一張子頁就跑一次第 3 節 1–3 步,不要全部畫完才比對。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Readable Schematic Layout AI skill do?

把 KiCad 原理圖與 PCB 佈局畫成符合人類習慣、方便除錯的樣子:用 KiCad 內建 symbol、電源 symbol、實際畫線、依電流/訊號流向分區、文字不重疊,佈局對應原理圖分區並留好除錯點。只改畫法時以 netlist 連線分群比對證明電路不變。Use when drawing, redrawing, cleaning up or reviewing a schematic or PCB layout for readability/debuggability — "原理圖好讀", "改成人類畫法", "文字重疊", "用內建 symbol", "方便除錯", "整理原理圖", "layout 好除錯", "readable schematic", "redraw schematic".

Why use Readable Schematic Layout on TypingMind?

Because you install it once and use it with any model. Readable Schematic Layout is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Readable Schematic Layout in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/John-owo/pcb-agent-workflow/tree/main/skills/readable-schematic-layout. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Readable Schematic Layout?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Readable Schematic Layout?

As many as you like. As long as a model supports skills, you can use Readable Schematic Layout with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Readable Schematic Layout AI skill free?

Yes. It is published on GitHub by John-owo under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇