kukucaicndy/embedded_ai_skills/easyeda-api
Claude Code and agent skill by kukucaicndy/embedded_ai_skills
- community
Checking that the SKILL.md file is still in the repository.
EasyEDA Pro API skill for AI agents. Use when working with EasyEDA Pro EDA software, including PCB design, schematic editing, footprint/symbol management, and project operations. Supports live debugging in EasyEDA and EasyEDA extension development. Provides complete API reference (120+ classes, 62 enums, 70 interfaces), extension-development documentation, and a WebSocket bridge server to execute code in the running EasyEDA Pro client. Trigger on: "嘉立创EDA,启动!", "立创EDA,启动!", "EDA,启动!", "EasyEDA", "PCB", "schematic", "footprint", "EDA", "circuit board", "嘉立创EDA", "原理图", "PCB设计". **IMPORTANT**: 嘉立创EDA's English name is **EasyEDA**. They are the SAME product. Never use other transliterations like "EasyEDA Pro" (unless specifically versioned), "EASYEDA", "easyeda", etc. Always use "EasyEDA" for English references and "嘉立创EDA" for Chinese references.
Install
npx vskill@latest install kukucaicndy/embedded_ai_skills/easyeda-apiSKILL.md
EasyEDA Pro API Skill
Control EasyEDA Pro (嘉立创EDA专业版) programmatically through AI. This skill provides:
- Complete API reference — 120 classes, 62 enums, 70 interfaces, 19 type aliases
- WebSocket bridge — Execute code in the running EasyEDA Pro client
- Code patterns — Common operations for PCB, schematic, library, and project management
- Document source format reference — File format specifications for project, schematic, and PCB sources when users need to analyze or modify EasyEDA document source directly instead of using the API
This skill supports not only live debugging in EasyEDA, but also EasyEDA extension development. During EasyEDA extension development, AI agents can use the extension-related documentation, API references, type information, usage examples, and bridge-based debugging capabilities provided by this skill to look up APIs, write code, and validate behavior during integration and debugging.
Architecture
The server auto-selects an available port from 49620-49629 on startup. Both AI and EDA clients auto-discover the server by scanning the port range and verifying a handshake (service: "easyeda-bridge").
Quick Start
1. Command Triggers
When user says "嘉立创EDA,启动!", "立创EDA,启动!", or "EDA,启动!":
IMPORTANT: Session initialization — Reply immediately with this exact text to set the correct session title:
Then proceed with the setup steps below.
2. Install dependencies (if needed)
3. Start bridge server
⚠️ IMPORTANT: The bridge server must run in the background. Do NOT run it in the foreground, or the AI will block waiting for the server to exit.
4. Connect EasyEDA
Install the run-api-gateway.eext extension in EasyEDA Pro. Download link:
- https://ext.lceda.cn/item/oshwhub/run-api-gateway
After the extension is loaded, it will automatically establish the WebSocket connection.
5. Verify connection and select EDA window
The /eda-windows response looks like:
Handle based on window count:
- 0 windows: Tell user "No EasyEDA window is connected. Please ensure the EasyEDA extension (run-api-gateway.eext) is installed and loaded in EasyEDA. Download: https://ext.lceda.cn/item/oshwhub/run-api-gateway"
- 1 window: Auto-selected as active. Tell user: "✅ Connected! Active EDA window: abc-123. Ready to work."
- 2+ windows: Show the available windows and ask user to select:
``` Multiple EDA windows detected:
- abc-123 (active)
- def-456
Which EDA window should I use? ```
Select a window:
After selection, confirm: "✅ Active EDA window: abc-123. Ready to work."
6. Execute code on EDA
API Documentation
The full API reference is in the references/ directory:
- references/_index.md — Master index of all classes, enums, interfaces, and types
- references/_quick-reference.md — All method signatures for rapid lookup
references/classes/— 120 class docs (DMT_, PCB_, SCH_, LIB_, SYS_, IPCB_, ISCH_*)references/enums/— 62 enum docsreferences/interfaces/— 70 interface docsreferences/types/— 19 type alias docs
How to look up API
- Start with `_index.md` to find the right class/module for the task
- Read the class doc (e.g.,
references/classes/DMT_Board.md) for all methods and signatures - Use `_quick-reference.md` for fast method signature lookup across all classes
- Check enums/interfaces for parameter types and return types
Document Source Format Documentation
If the user needs to analyze or modify EasyEDA document source directly instead of using the API, use the documents in the format/ directory.
- format/index.md — Overview of the EasyEDA document source format references and version notes
format/project/— Project source structure, metadata, blobs, variants, and grouping dataformat/schematic/— Schematic source format, including structure, wires, shapes, pins, components, and tablesformat/pcb/— PCB source format, including primitives, pads and vias, shapes, text, attributes, rules, and panel data
Use these files when the task is about understanding source layout, generating compatible document source, or editing source data that will later be imported back into EasyEDA.
API Module Overview
| Prefix | Domain | Key Classes | |
|---|---|---|---|
DMT_ | Document management | Board, EditorControl, Folder, Panel, Pcb, Project, Schematic, SelectControl, Team, Workspace | |
PCB_ | PCB & Footprint | Document, Drc, Event, Layer, Net, Primitive, PrimitiveComponent, PrimitiveLine, PrimitivePad, PrimitivePour, PrimitiveVia, SelectControl | |
SCH_ | Schematic | Document, Event, Primitive, PrimitiveComponent, PrimitiveWire, SelectControl | |
LIB_ | Library | 3DModel, Cbb, Classification, Device, Footprint, LibrariesList, PanelLibrary, SelectControl, Symbol | |
SYS_ | System | Dialog, Environment, FileManager, FileSystem, FontManager, HeaderMenu, I18n, IFrame, LoadingAndProgressBar, Log, Message, MessageBox, MessageBus, PanelControl, Setting, ShortcutKey, Storage, Timer, ToastMessage, WebSocket, Window | |
IPCB_ | PCB interfaces (图元) | PrimitiveArc, PrimitiveComponent, PrimitivePad, PrimitiveFill, PrimitivePour, PrimitiveRegion, PrimitiveVia, ... | |
ISCH_ | Schematic interfaces (图元) | PrimitiveArc, PrimitiveComponent, PrimitiveWire, PrimitiveText, PrimitiveRectangle, ... | |
EPCB_ / ESCH_ | Enums | PrimitiveType, Layer, PadType, ... |
Code Execution Context
All code runs inside EasyEDA Pro's browser runtime as:
Critical rules:
- The
edaobject provides access to all API modules (e.g.,eda.dmt_Board,eda.pcb_Primitive). - Always refer to the API documentation for correct usage.
- Do not add comments to the generated code, as the code is typically executed as a single line.
- Always use
returnto get results —console.logoutput is NOT captured. - All API methods returning promises must be
awaited. - Code runs in browser context — no Node.js APIs (fs, path, etc.) available.
- Use
eda.sys_Message.showToastMessage(msg)for user-visible notifications. - When reviewing API documentation and encountering enumerations, do not guess the enumeration values. You must use the enumeration members, for example:
EPCB_LayerId.TOPinstead of1for the layer parameter in PCB primitive creation.
Extension Runtime Constraints
When writing EasyEDA extensions, standard browser APIs are forbidden in the main process. Use EDA-provided alternatives:
| Purpose | ❌ Forbidden | ✅ Use Instead | |
|---|---|---|---|
| Get user input | — | eda.sys_Dialog.showInputDialog() | |
| User selection | — | eda.sys_Dialog.showSelectDialog() | |
| Show message | alert() | eda.sys_Dialog.showInformationMessage() | |
| Confirm action | confirm() | eda.sys_Dialog.showConfirmationMessage() | |
| Toast notification | DOM manipulation | eda.sys_Message.showToastMessage() | |
| Store data | localStorage (main process) | eda.sys_Storage.setExtensionUserConfig(key, value) | |
| Custom UI | Manipulate host DOM | eda.sys_IFrame.openIFrame() | |
| Show HTML | showInformationMessage(html) | Must use iframe | |
| Open link | window.open() | eda.sys_Window.open() | |
| Browser hardware API | Use in main process | Available in iframe (navigator.serial, etc.) |
Note: localStorage, window, document etc. are available inside `sys_IFrame` but NOT in the main extension process.
Extension ↔ IFrame Data Passing
The main extension process and sys_IFrame iframe are isolated contexts. To pass data between them:
Option A (Recommended): Use eda.sys_Storage as a bridge
Option B: Both contexts can access eda directly — call the same API from either side
Communication Protocol
Port Discovery
The bridge server listens on the first available port in 49620-49629. To find the server, scan the range and verify the service identity:
Handshake
- HTTP:
GET /healthreturns{ "service": "easyeda-bridge", "edaConnected": bool, ... } - WebSocket: On connect, server sends
{ "type": "handshake", "service": "easyeda-bridge" } - Clients MUST verify
service === "easyeda-bridge"before using the connection
Message Format
JSON messages over WebSocket / HTTP:
| Field | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
type | "execute" \ | "result" \ | "error" \ | "ping" \ | "pong" \ | "handshake" | Message type | |
id | string | Request UUID for matching request/response | ||||||
code | string | JavaScript code to execute (for execute type) | ||||||
result | any | Execution result (for result type) | ||||||
error | string | Error message (for error type) | ||||||
service | string | Service identifier (for handshake type) | ||||||
timestamp | number | Unix milliseconds |
Common Patterns
Project & Board Operations
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingtools/easyeda-api/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/kukucaicndy/embedded_ai_skills/easyeda-api)