bom
BOM (Bill of Materials) management for electronics projects — the workflow skill that coordinates DigiKey, Mouser, LCSC, element14, JLCPCB, PCBWay, and KiCad…
Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets. Find parts by keyword or MPN, check pricing/stock, download datasheets via API, analyze specifications. Sync and maintain
$ npx -y skills add aklofas/kicad-happy --skill digikey --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/digikeyContext preview
The summary Claude sees to decide when to auto-load this skill.
Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets. Find parts by keyword or MPN, check pricing/stock, download datasheets via API, analyze specifications. Sync and maintain
name: digikey description: >- Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets. Find parts by keyword or MPN, check pricing/stock, download datasheets via API, analyze specifications. Sync and maintain a local datasheets directory — extract components from schematics, download missing datasheets, keep them up to date. Also supports batch MPN-list seeding (`--mpn-list`) for bulk workflows without a KiCad project. Use when the user asks about electronic components, part specs, datasheets, pricing, stock, footprints, or needs to download a datasheet — even without mentioning "DigiKey". Also for "sync datasheets", "download datasheets for my board/project", or mentions a datasheets directory. DigiKey is the default distributor for prototyping. For BOM workflows, see the bom skill.
| 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`.
The DigiKey API requires OAuth 2.0 credentials. Here's how to set them up:
1. **Create a DigiKey account** at [digikey.com](https://www.digikey.com) if you don't have one 2. **Register an API app** at [developer.digikey.com](https://developer.digikey.com):
3. **Set the environment variables** before running the scripts:
export DIGIKEY_CLIENT_ID=your_client_id_here export DIGIKEY_CLIENT_SECRET=your_client_secret_here
If credentials are stored in a central secrets file (e.g., `~/.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.
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`
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).
curl -s -X POST https://api.digikey.com/v1/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=${DIGIKEY_CLIENT_ID}&client_secret=${DIGIKEY_CLIENT_SECRET}&grant_type=client_credentials"The response returns an `access_token` valid for **10 minutes**. Cache the token in a shell variable and reuse it for subsequent calls in the same session. If you get a 401 error mid-session, the token has expired — re-authenticate to get a fresh one.
Every API call needs:
X-DIGIKEY-Client-Id: ${DIGIKEY_CLIENT_ID}
Authorization: Bearer <access_token>Optional locale headers:
POST /products/v4/search/keyword
This is the primary search endpoint. Search by MPN, DigiKey part number, description, or keywords.
Request body:
{
"Keywords": "GRM155R71C104KA88D",
"Limit": 25,
"Offset": 0,
"FilterOptionsRequest": {
"MinimumQuantityAvailable": 1,
"SearchOptions": ["InStock", "HasDatasheet", "RoHSCompliant"],
"ManufacturerFilter": [{"Id": "..."}],
"CategoryFilter": [{"Id": "..."}],
"StatusFilter": [{"Id": "..."}],
"MarketPlaceFilter": "ExcludeMarketPlace"
},
"SortOptions": {
"Field": "Price",
"SortOrder": "Ascending"
}
}Key request fields:
Response — key fields in each `Products[]` item:
{
"ManufacturerProductNumber": "GRM155R71C104KA88D",
"Manufacturer": {"Id": 563, "Name": "Murata Electronics"},
"Description": {
"ProductDescription": "CAP CER 100NF 16V X7R 0402",
"DetailedDescription": "..."
},
"UnitPrice": 0.01,
"QuantityAvailable": 248000,
"ProductUrl": "https://www.digikey.com/...",
"DatasheetUrl": "https://...",
"PhotoUrl": "https://...",
"ProductVariations": [
{
"DigiKeyProductNumber": "490-10698-1-ND",
"PackageType": {"Name": "Cut Tape"},
"StandardPricing": [
{"BreakQuantity": 1, "UnitPrice": 0.01, "TotalPrice": 0.01},
{"BreakQuantity": 10, "UnitPrice": 0.008, "TotalPrice": 0.08}
],
"QuantityAvailableforPackageType": 248000,
"MinimumOrderQuantity": 1,
"StandarAI-powered design review for KiCad. Analyzes schematics, PCB layouts, and Gerbers. Catches real bugs before you order boards.
Repo: aklofas/kicad-happy
BOM (Bill of Materials) management for electronics projects — the workflow skill that coordinates DigiKey, Mouser, LCSC, element14, JLCPCB, PCBWay, and KiCad…
Extract structured specifications from electronic component datasheet PDFs — pinouts, electrical characteristics, peripherals, topology, and features. Cache…
Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets,…
EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching…
JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow. Use with KiCad for…