← 返回 Skills 市场
jasonyang170

Jlceda Plugin Builder

作者 JasonYANG17 · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
136
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install extension-dev-skill
功能描述
AI Skill for building EasyEDA Pro extension plugins. Used when users need to create, modify, or debug JLCEDA/EasyEDA Pro plugins, including generating plugin...
使用说明 (SKILL.md)

JLCEDA Plugin Builder

Build extension plugins for EasyEDA Pro. Provides a complete API query workflow, code generation standards, and debugging toolchain.

Core Principles

  1. Never guess APIs — Check the Skill's index.d.ts first; if not found = does not exist
  2. Verify class existence before use — Search class name with grepSearch; no results = do not use
  3. Verify API mount path — The class where a method is defined ≠ the property it's mounted on under eda
  4. Verify return type methods — Different methods on the same class may return completely different interface types
  5. Browser APIs are forbidden in the main process — Cannot use localStorage, window, document; allowed inside iframe
  6. Document type values — SCH=1, PCB=3, FOOTPRINT=4 (PCB is not 2)

When to Use

Applicable:

  • Creating or modifying EasyEDA Pro extension plugins
  • Querying API method signatures in @jlceda/pro-api-types
  • Configuring extension.json, locales i18n files, or build processes
  • Automating plugin import/debugging via eext-dev-mcp MCP tools

Not applicable:

  • General TypeScript/JavaScript questions unrelated to EasyEDA Pro
  • Non-EasyEDA Pro EDA tools
  • Workspace has no extension.json and user did not request initialization

API Query Workflow (Four Steps)

API type definition location: the index.d.ts file bundled with this Skill (sourced from @jlceda/pro-api-types). Always search in this file; do not look in node_modules.

Step 1: Find the Correct Class

grepSearch "SCH_PrimitiveComponent"   # Schematic component class
grepSearch "PCB_PrimitiveVia"         # PCB via class

Step 2: Verify the Class Is Mounted on the eda Object

grepSearch "sch_PrimitiveComponent:"  # Note the colon
grepSearch "dmt_SelectControl:"       # Verify mount path

Step 3: Find the Method and Confirm Its Signature

grepSearch "getCurrentDocumentInfo"

Then use readFile to read the full signature and confirm parameter types and return type.

Step 4: Verify the Return Interface Has the Required Methods

# Search the returned interface type to confirm it has the needed methods
grepSearch "ISCH_PrimitiveComponent$1"  # Interfaces with $1 suffix usually have more methods

No search results = does not exist. Do not use!

Execution Workflow

  1. Plan — Understand requirements, confirm target editor (home/sch/pcb) and core functionality
  2. Init — If workspace is not initialized, run project initialization; otherwise skip
  3. Query — Dynamically query required APIs (four-step method); every API must be verified
  4. Validate — Verify all type signatures are complete with no guesswork; if uncertain, return to Query
  5. Confirm — Present implementation plan to user (API list, dependencies, data flow, file changes); wait for confirmation in Supervised mode. In Autopilot mode, skip this step for straightforward changes; only pause for complex or destructive operations
  6. Execute — Generate code; each API call corresponds to a verified signature, wrapped in try/catch
  7. Check — Check runtime environment constraints; confirm no forbidden operations; if violations found, return to Execute to fix

API Verification Checklist (Required Before Using Any API)

  • grepSearch found the method name; confirmed return type
  • readFile read the full signature; confirmed all parameter types and counts
  • Confirmed eda.xxx_YYY class exists in the class EDA property list
  • Confirmed API is mounted on the correct module
  • Verified the returned interface type also has the required methods
  • If using getAllPrimitiveId, must use a concrete type (not an abstract class)
  • Document type checks use the correct documentType values

Runtime Environment Constraints

Requirement ❌ Forbidden ✅ Recommended
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.)
IFrame data passing (window as any).__xxx = data (main process and iframe window are isolated); window.parent.eda ✅ Option A (recommended): Store with eda.sys_Storage.setExtensionUserConfig(key, value), read in iframe with getExtensionUserConfig(key); ✅ Option B: Call eda API directly from iframe (both main process and iframe can access the eda object; just use eda directly)

Project Initialization

When extension.json does not exist in the workspace:

git clone https://github.com/easyeda/pro-api-sdk.git \x3Cproject-name>
cd \x3Cproject-name>
npm install
npm run compile

Failure Strategies

  • API does not exist: Stop immediately, inform the user
  • Signature uncertain: Stop generation, return to query step
  • Workspace not initialized: Prompt user to initialize first
  • Forbidden DOM API used: Automatically replace with eda.sys_* alternatives
  • Menu ID conflict: Automatically add prefix to differentiate (e.g., my-plugin-home, my-plugin-sch)

References

  • Complete API module list, enum definitions → resources/api-reference.md
  • Common pitfalls and lessons learned → resources/experience.md
  • MCP tool documentation → "MCP Tools" section in resources/api-reference.md
安全使用建议
This skill appears to be a focused EasyEDA Pro extension development helper, but before installing or using it you should: 1) Verify whether an index.d.ts file (the skill repeatedly cites it as authoritative) is actually included or available in your workspace — the provided package does not list it. If it is missing, ask the skill author or include a trusted index.d.ts from the official @jlceda/pro-api-types package. 2) Inspect/confirm the external GitHub repositories the skill may clone or recommend (pro-api-sdk, extension-dev-mcp-tools) before allowing the agent to run git clone / npm install / npm run build. 3) Be aware the skill will read project files (extension.json, code, type definitions) and may run build/debug tools — do not run it in a workspace containing secrets or credentials. 4) If you plan to allow autonomous operation, prefer supervised mode until you validate its behavior (especially because of the missing index.d.ts). If the author cannot explain the missing type file or provide a trusted source for it, treat the package as incomplete and do not run automated builds.
功能分析
Type: OpenClaw Skill Name: extension-dev-skill Version: 0.1.0 The skill facilitates EasyEDA Pro plugin development but includes high-risk capabilities such as shell command execution for project initialization (e.g., 'npm install' and 'git clone' in SKILL.md) and remote browser control via the Chrome Debugging Protocol through the 'eext-dev-mcp' service (resources/api-reference.md). It also provides instructions for an 'Autopilot' mode that allows the agent to execute changes without user confirmation for straightforward tasks. While these features are plausibly required for the stated development and debugging purposes, the combination of shell access and browser manipulation represents a significant security surface.
能力评估
Purpose & Capability
The name/description match the instructions (plugin development for EasyEDA Pro). However SKILL.md and AGENTS.md both insist the authoritative index.d.ts is bundled and must be searched for API verification, yet the provided file manifest does not include index.d.ts. Asking the agent to read a file that isn't bundled is an incoherence: either the skill expects access to workspace files outside the skill bundle, or the package is incomplete.
Instruction Scope
Runtime instructions are narrowly scoped to building/modifying EasyEDA plugins and specify concrete safe alternatives to forbidden browser APIs. They instruct the agent to run searches (grepSearch), read files (readFile), clone public GitHub repos, and use npm build steps — all reasonable for a dev skill. The unusual constraint 'always search the bundled index.d.ts; do not look in node_modules' is restrictive and conflicts with the missing index.d.ts, which could cause unexpected behavior or force the agent to access other workspace files.
Install Mechanism
Instruction-only skill with no install spec and no code files to execute. This is low risk from an installation perspective; operations that modify disk (git clone, npm install, build) are invoked only as explicit workflow steps, not as an automatic installer.
Credentials
The skill requests no environment variables, no credentials, and no config paths. All recommended operations (git clone public repos, npm) are proportional to a plugin-development skill.
Persistence & Privilege
always:false and no special persistence or cross-skill configuration changes are requested. The skill allows normal autonomous invocation (platform default), which is not by itself a red flag; combined with the earlier inconsistency it warrants caution but not a privilege concern.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install extension-dev-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /extension-dev-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
jlceda-plugin-builder version 0.1.0 initial release: - Provides a skill for creating, modifying, and debugging EasyEDA Pro extension plugins. - Enables intelligent API querying from bundled type definitions (`index.d.ts`), with strict verification and no guesswork. - Supports configuration of `extension.json`, localization files, and plugin build workflows. - Includes clear runtime constraints and recommended methods for plugin environment interaction. - Guides plugin developers through API validation, initialization, and execution best practices for EasyEDA Pro. - Reference documentation and workflows are included to avoid common plugin development pitfalls.
元数据
Slug extension-dev-skill
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Jlceda Plugin Builder 是什么?

AI Skill for building EasyEDA Pro extension plugins. Used when users need to create, modify, or debug JLCEDA/EasyEDA Pro plugins, including generating plugin... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 136 次。

如何安装 Jlceda Plugin Builder?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install extension-dev-skill」即可一键安装,无需额外配置。

Jlceda Plugin Builder 是免费的吗?

是的,Jlceda Plugin Builder 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Jlceda Plugin Builder 支持哪些平台?

Jlceda Plugin Builder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Jlceda Plugin Builder?

由 JasonYANG17(@jasonyang170)开发并维护,当前版本 v0.1.0。

💬 留言讨论