kicad-happy is a collection of coding-agent skills and tools that inspect KiCad schematics, PCB layouts, and Gerber files for electronics design issues. It is for hardware designers who want automated reviews, simulations, datasheet checks, component sourcing, and fabrication preparation. The catalogue entries are its agent skills, rules, plugin, and instruction for integrating this workflow with coding agents.
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.
npx skills add aklofas/kicad-happy --skill digikeygit clone --depth 1 https://github.com/aklofas/kicad-happyWrote 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.
[](https://agentmods.dev/skills/aklofas/kicad-happy/digikey)<a href="https://agentmods.dev/skills/aklofas/kicad-happy/digikey"><img src="https://agentmods.dev/badge/skills/aklofas/kicad-happy/digikey/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.
<a href="https://agentmods.dev/skills/aklofas/kicad-happy/digikey"><img src="https://agentmods.dev/badge/skills/aklofas/kicad-happy/digikey.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk warn
- NVIDIA SkillSpector warn
SkillSpector: 6 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 48 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 50 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium analysis-evasion · line 1 Suspicious Unicode normalization or mixed-script contentFix: Review the flagged content for security risks. Ensure no credentials, secrets, or sensitive data are exposed.
- medium Rogue Agent · line 34 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Data Exfiltration · line 66 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 66 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00179 | $0.04596 |
| Opus 5 | $0.00089 | $0.02298 |
| Sonnet 5 | $0.00036 | $0.00919 |
| Haiku 4.5 | $0.00018 | $0.00460 |
Grade A, and why
digikey scanned grade A with 1 finding 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 13d ago.
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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -X POST https://api.digikey.com/v1/oauth2/token \ How it starts
The opening of the file, as written. The whole thing — 378 lines — stays where its author put it; the contents beside it link to each section on GitHub.
DigiKey Parts Search & Analysis
Related Skills
| Skill | Purpose |
|---|---|
kicad |
Schematic analysis — extracts MPNs for datasheet sync |
bom |
BOM management — orchestrates sourcing across distributors |
spice |
Uses DigiKey parametric data for behavioral SPICE models |
DigiKey is the primary source for prototype orders (Mouser is secondary). Its API returns direct PDF datasheet links, making it the preferred datasheet source. For production orders, see lcsc/jlcpcb. For BOM management and export workflows, see bom.
API Credential Setup
The DigiKey API requires OAuth 2.0 credentials. Here's how to set them up:
- Create a DigiKey account at digikey.com if you don't have one
- Register an API app at developer.digikey.com:
- Sign in with your DigiKey account
- Go to "My Apps" → "Create App"
- App name: anything (e.g., "kicad-happy")
- Select "Product Information v4" API
- OAuth type: Client Credentials (2-legged, no user login needed)
- Callback URL:
https://localhost(not used for client credentials, but required) - After creation, note the Client ID and Client Secret
- Set the environment variables before running the scripts:
If credentials are stored in a central secrets file (e.g.,export DIGIKEY_CLIENT_ID=your_client_id_here export DIGIKEY_CLIENT_SECRET=your_client_secret_here~/.config/secrets.env), load them first:export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
The client credentials flow has no user interaction — once configured, API calls work automatically.
DigiKey Product Information API v4
The API is the preferred way to search DigiKey. It returns structured JSON with full product details, pricing, stock, datasheets, and parametric data.
Base URL: https://api.digikey.com
Authentication
All API requests require OAuth 2.0. Use the client credentials flow (2-legged). Credentials must be loaded as environment variables (see "API Credential Setup" above).
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 13d ago First seen · 378 lines · 179 tokens per session scan A f31dd04ef685
digikey is a skill published in the GitHub repository aklofas/kicad-happy (1,188 stars, last pushed 10d ago), licensed MIT. It adds 179 tokens to every session and 4,596 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
altium-library
Create and verify Altium schematic symbols (.SchLib) and PCB footprints (.PcbLib) from datasheets and 2D drawings, as code. Use whenever a part library must be made, fixed, measured from a drawing, or checked. Triggers: "make a footprint", "create a symbol", "add this part to the library", "SchLib", "PcbLib"…
circuit-design
Use when designing an electronic circuit from requirements, choosing topology or regulator type, selecting component values, planning protection circuits, or deciding what goes on a board before schematic capture begins. Also use when the user asks "what components do I need" or "how should I power this.".
schematic-plan
Use after circuit-design produces a validated BOM (specs/bom.md) to plan exact component placement coordinates and wiring before schematic capture begins. Pure planning — no file modifications.
using-kicad
Use when starting any conversation involving electronics, KiCad, PCB design, schematic capture, circuit design, or EDA tasks.
altium-pcb-placement
Altium PCB component placement — derive board size, decide rotation for main ICs and connectors, split zones, generate a 1:1 placement plan drawing, then inject real coordinates after approval, and check overlaps. Triggers: "PCB placement", "place the components", "how big should the board be", "board outline", "start…
altium-schematic-review
Review an Altium schematic (.SchDoc) — find unconnected pins, missing footprint links and net errors, then judge each candidate against the datasheet before calling it a defect. Triggers: "review this schematic", "check my circuit", "ERC", "floating pins", "unconnected", "any missing footprints", "does this schematic…