biosshot/easyeda-copilot/spice
Claude Code and agent skill by biosshot/easyeda-copilot
- community
Checking that the SKILL.md file is still in the repository.
Write and run ngspice simulations from circuit descriptions, component connections, or existing netlists. Search local SPICE models and produce numerical results and PNG plots using standalone Node.js scripts.
Install
npx vskill@latest install biosshot/easyeda-copilot/spiceSKILL.md
SPICE simulation
This skill is independent of an EDA editor and MCP. Requires Node.js >=20.19. The scripts run directly as JavaScript; no compilation or Python is needed. Resolve script paths relative to this SKILL.md, not the current working directory.
Workflow
- Obtain component values and actual net connections from the caller's schematic tools, supplied netlist, or circuit description. State the question being tested, supplies, input stimulus, load, and operating conditions. Detected circuit blocks are optional context, not a restriction on what can be simulated.
- Find device models with
node scripts/search.mjs "MPN". On first use it prepares two cache files:library.jsonlandindex.jsonwith byte offsets. It returns matching models, their text, exactmodelId, originalsourcePath, matching reasons, and validation scope.sourcePathis an archive identifier, not an existing filesystem path. Use--include-reviewonly when ordinary results are insufficient. Similar names do not establish an equivalent component. - Save the selected model with
node scripts/copy-model.mjs "<modelId from search>" --out ./simulation/models. This reads only that JSONL record and writes one.lib, returning its absolute path, model name and.includedirective. Existing identical copies are reused; edited files are never overwritten. Read the complete saved model, including any text truncated in search. Establish port order from comments and the.SUBCKTdeclaration. Internal structure can support an inference but does not establish physical package pin numbers. Record inferred assignments; prefer another clearly documented model if important ports remain uncertain. No external pin-mapping table is required. - Write a standard
.cirfile with a title on its first line,.include/.libdeclarations, sources,.save, analysis directives, and.end. Use.op,.dc,.ac, and.tranas needed. The runner owns.control; do not include a control block. Use separate circuits for repeated parameter cases. Include only selected model files to avoid name collisions. - Run
node scripts/simulate.mjs circuit.cir --out results/run-01. Output directory must be new. The runner finds/prepares ngspice, setsngbehavior=ltpsabefore reading the netlist, runs with-n -b, exports ASCII raw/CSV/JSON and creates PNGs through Sharp. Numerical settings belong in.optionsin the netlist, not CLI flags. Relative includes resolve from each original file's directory and are copied recursively into the result'smodels/directory. - Read
result.json, measurements inngspice.log, numerical data, and the PNGs. Check operating points, expected magnitudes, loading, saturation, and timestep/frequency resolution. Successful execution is not proof of model fidelity or correct circuit behavior. Compare important results with an independent calculation or a meaningful known limit. - Report what was simulated, the selected models and assumptions, quantitative results, and material limitations. Keep the complete result directory with the user's research: it contains the rewritten circuit and referenced model snapshots, with original paths and hashes recorded in
result.json. External stimulus data files (e.g. file-backed sources) are not bundled; use inline sources or copy such data into the run explicitly.
For convergence problems, read modeling.md. For missing dependencies or download failures, read installation.md. For plot customization, read plots.md. No PCB parasitic extraction is included.
Commands
Use --library <directory containing index.json and library.jsonl> or --manifest <file> to select a library. --cache / SPICE_CACHE_DIR selects the shared cache root; default is <OS temp>/easyeda-copilot-mcp/spice. Clearing this cache only requires reinstalling dependencies. Research outputs belong outside it. --no-install makes execution offline when dependencies are already available; --no-plot explicitly requests numerical output only. A PNG failure is reported separately from simulation failure.
Library compiled means load and generic instantiation passed without warnings on ngspice 45.2 with ltpsa. It does not guarantee convergence, correct pin assignments, or accuracy for the requested analysis. The runner reports its actual engine version separately.
Examples
- rc-filter.cir: OP, AC and transient; cutoff near 1591.55 Hz.
- diode.cir: DC sweep with an explicitly generic model.
- custom-plot.mjs: edit a PNG gain plot using exported complex data.
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 repositoryCheckingmcp/docs/spice/SKILL.md
Popularity
- 7-day trend score
- 5
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/biosshot/easyeda-copilot/spice)