Agent skill

Mouser

by aklofas in aklofas/kicad-happy

Search Mouser Electronics for electronic components — secondary source for prototype orders.

MITAuto-check passed

Install Mouser

skills CLI
$ npx skills add aklofas/kicad-happy --skill mouser -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aklofas/kicad-happy mouser --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aklofas/kicad-happy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mouser .claude/skills/mouser && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mouser
GitHub stars
1.4k
Used in
1 other repo
Token cost
~2.8k tokens
SKILL.md length
1,038 words
Files
3 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Search Mouser Electronics for electronic components — secondary source for prototype orders.

  • Works in 4 steps: Go to mouser.com → My Mouser → My Account → Under "APIs" section, click "Manage" → Register for Search API key — this is… → …
  • The user specifically mentions Mouser
  • SKILL.md covers Related Skills, API Credential Setup, Mouser Search API Reference and Search Response Structure, plus 3 more sections
  • Runs Python scripts from its folder; calls python3; reaches mouser.com; needs MOUSER_SEARCH_API_KEY

What it does

Mouser is an agent skill from aklofas/kicad-happy. Search Mouser Electronics for electronic components — secondary source for prototype orders. Find parts, check pricing/stock, download datasheets, analyze specifications. Use with KiCad for BOM creation and part selection. Also supports batch MPN-list seeding (--mpn-list) for bulk datasheet workflows without a KiCad project. Use this skill when the user specifically mentions Mouser, when DigiKey is out of stock or has worse pricing, when comparing prices across distributors, or when searching for parts that…

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/fetch_datasheet_mouser.py` and `scripts/sync_datasheets_mouser.py`).

It works with EasyEDA. The repository describes itself as: AI coding agent skills for KiCad electronics design. Works with Claude Code and OpenAI Codex. Analyze schematics, review PCB layouts, EMC pre-compliance, SPICE simulation… The licence is MIT.

When your agent uses it

  • The user specifically mentions Mouser
  • DigiKey is out of stock
  • Has worse pricing
  • Comparing prices across distributors

Example prompts

  • “/mouser”

Requirements

  • Python 3
  • A credential in MOUSER_SEARCH_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Go to mouser.com → My Mouser → My Account
  2. Under "APIs" section, click "Manage"
  3. Register for Search API key — this is the one needed for part lookups and datasheet downloads
  4. Search API keys may require approval (status shows "pending authorization" initially)

What it can do on your machine

Read from SKILL.md and the folder at commit 0684046. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • mouser.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • MOUSER_SEARCH_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mouser loads about 2.8k tokens when it runs. Until then it costs about 155 tokens; SKILL.md has 1,038 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~155
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from aklofas/kicad-happy at commit 0684046, republished under its MIT licence (© aklofas). 1,038 words, ~2,845 tokens.

Download SKILL.mdSave it as .claude/skills/mouser/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
mouser
description
Search Mouser Electronics for electronic components — secondary source for prototype orders. Find parts, check pricing/stock, download datasheets, analyze specifications. Use with KiCad for BOM creation and part selection. Also supports batch MPN-list seeding (`--mpn-list`) for bulk datasheet workflows without a KiCad project. Use this skill when the user specifically mentions Mouser, when DigiKey is out of stock or has worse pricing, when comparing prices across distributors, or when searching for parts that DigiKey doesn't carry. For package cross-reference tables and BOM workflow, see the `bom` skill.

Mouser Electronics Parts Search & Analysis

SkillPurpose
kicadSchematic analysis — extracts MPNs for part lookup
bomBOM management — orchestrates sourcing across distributors
digikeyPrimary prototype source (prefer for datasheets — direct PDF links)
spiceUses Mouser parametric data for behavioral SPICE models

Mouser is the secondary source for prototype orders — use when DigiKey is out of stock or has worse pricing. For production orders, see lcsc/jlcpcb. For BOM management and export workflows, see bom. For datasheets, prefer DigiKey's API (direct PDF links) — Mouser blocks automated PDF downloads.

API Credential Setup

Mouser uses simple API key authentication — no OAuth, no tokens, no callback URLs. The Search API key is a UUID passed as a query parameter.

Getting Your API Key
  1. Go to mouser.com → My Mouser → My Account
  2. Under "APIs" section, click "Manage"
  3. Register for Search API key — this is the one needed for part lookups and datasheet downloads
  4. Search API keys may require approval (status shows "pending authorization" initially)
Setting Credentials

Set the environment variable before running the scripts:

bash
export MOUSER_SEARCH_API_KEY=your-search-api-key-uuid

If credentials are stored in a central secrets file (e.g., ~/.config/secrets.env), load them first:

bash
export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)

Mouser Search API Reference

All search endpoints use the Search API key as a query parameter: ?apiKey=<key>. Content-Type is application/json for all POST requests.

V1 Endpoints
POST /api/v1/search/keyword?apiKey=<key>
json
{
  "SearchByKeywordRequest": {
    "keyword": "100nF 0402 ceramic capacitor",
    "records": 50,
    "startingRecord": 0,
    "searchOptions": "InStock"
  }
}
  • searchOptions: "None" | "Rohs" | "InStock" | "RohsAndInStock"
  • records: max 50 per request
  • startingRecord: offset for pagination
POST /api/v1/search/partnumber?apiKey=<key>
json
{
  "SearchByPartRequest": {
    "mouserPartNumber": "GRM155R71C104KA88D|RC0402FR-0710KL",
    "partSearchOptions": "Exact"
  }
}
  • Up to 10 part numbers, pipe-separated (|)
  • Works with both Mouser part numbers AND manufacturer part numbers (MPNs)
  • partSearchOptions: "Exact" | "BeginsWith" | "Contains"
V2 Endpoints

V2 adds manufacturer filtering and pagination by page number.

POST /api/v2/search/keywordandmanufacturer?apiKey=<key>
json
{
  "SearchByKeywordMfrNameRequest": {
    "keyword": "LMR51450",
    "manufacturerName": "Texas Instruments",
    "records": 25,
    "pageNumber": 1,
    "searchOptions": "InStock"
  }
}

Note: the wrapper object name is SearchByKeywordMfrNameRequest (not SearchByKeywordMfrRequest — the V1 name is deprecated).

POST /api/v2/search/partnumberandmanufacturer?apiKey=<key>
Manufacturer List
GET /api/v2/search/manufacturerlist?apiKey=<key>

Returns the full list of manufacturer names for use in filtered searches.

V1 Deprecated Endpoints

These still work but V2 equivalents are preferred:

  • POST /api/v1/search/keywordandmanufacturer → use V2
  • POST /api/v1/search/partnumberandmanufacturer → use V2
  • GET /api/v1/search/manufacturerlist → use V2

Search Response Structure

All search endpoints return the same response format:

json
{
  "Errors": [],
  "SearchResults": {
    "NumberOfResult": 142,
    "Parts": [...]
  }
}
Key Part Fields
FieldTypeDescription
MouserPartNumberstringMouser's internal part number (prefixed, e.g., 81-GRM155R71C104KA88)
ManufacturerPartNumberstringManufacturer's part number (MPN) — use for cross-distributor matching
ManufacturerstringManufacturer name
DescriptionstringProduct description
CategorystringProduct category
DataSheetUrlstringURL to datasheet PDF (Mouser-hosted — see Datasheet section)
ProductDetailUrlstringURL to Mouser product page
ImagePathstringProduct image URL
AvailabilitystringHuman-readable stock text (e.g., "2648712 In Stock")
AvailabilityInStockstringNumeric stock quantity (as string)
AvailabilityOnOrderarrayIncoming stock: [{Quantity, Date}]
LeadTimestringFactory lead time (e.g., "84 Days")
LifecycleStatusstring|null"New Product", "End of Life", etc.
IsDiscontinuedstring"true" or "false" (string, not boolean)
SuggestedReplacementstringReplacement MPN if discontinued
MinstringMinimum order quantity (as string)
MultstringOrder multiple (as string)
ReelingboolTape-and-reel packaging available
ROHSStatusstringRoHS compliance status
PriceBreaksarrayTiered pricing: [{Quantity, Price, Currency}]
ProductAttributesarrayParametric specs: [{AttributeName, AttributeValue}]
AlternatePackagingsarray|nullAlternate packaging MPNs: [{APMfrPN}]
SurchargeMessagesarrayTariff/surcharge info: [{code, message}]
ProductCompliancearrayHTS codes, ECCN: [{ComplianceName, ComplianceValue}]
UnitWeightKgobject{UnitWeight: <float>} in kg
Quirks and Gotchas
  • Price is a string with currency symbol: "$0.10", not a float. Parse it before comparing.
  • Stock is a string: AvailabilityInStock returns "2648712" not 2648712.
  • IsDiscontinued is a string: "true" or "false", not boolean.
  • Mouser part numbers have prefixes: 81-GRM155R71C104KA88 — the prefix is Mouser-specific. Use ManufacturerPartNumber for cross-referencing.
  • V2 wrapper names differ from V1: V2 uses SearchByKeywordMfrNameRequest, not SearchByKeywordMfrRequest.
  • Tariff info: SurchargeMessages may contain US tariff percentages — useful for cost estimation.
  • On-order data: AvailabilityOnOrder shows incoming stock quantities and expected dates.
Show full SKILL.md (450 more words)Show less

Datasheet Download & Sync

Mouser's DataSheetUrl field points to Mouser-hosted URLs (mouser.com/datasheet/...). These URLs block automated downloads — they return an HTML "Access denied" page when fetched with Python/curl/wget, even with browser User-Agent headers. The download scripts handle this with a multi-strategy approach:

  1. Try the Mouser datasheet URL directly (works for some parts)
  2. Scrape the Mouser product page HTML for alternative datasheet links
  3. Try manufacturer-specific alternative URL patterns

Note: Mouser's product pages return 403 for most automated requests, so strategy 2 has limited success. DigiKey and LCSC are more reliable datasheet sources.

Datasheet Directory Sync

Use sync_datasheets_mouser.py to maintain a datasheets/ directory alongside a KiCad project. Same workflow and manifest.json format as the DigiKey skill.

bash
# Sync datasheets for a KiCad project
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch>

# Preview what would be downloaded
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --dry-run

# Retry previously failed downloads
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --force

# Custom output directory
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> -o ./my-datasheets

# Parallel downloads (3 workers)
python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --parallel 3

# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 <skill-path>/scripts/sync_datasheets_mouser.py --mpn-list mpns.txt --output ./datasheets

MPN-list batch mode (KH-312) — when you have a list of MPNs but no KiCad project to point at (harness datasheet seeding, bulk part-library seeding). One MPN per line; blank lines and # comments (full-line and inline) are skipped; generic values (100nF, DNP) are filtered via is_real_mpn() and de-duplicated. Output defaults to ./datasheets/ in the current working directory when --output is omitted.

Rate limiting — the script paces API calls with a 1.0s delay between requests by default (Mouser's Search API allows 30 calls/min on the free tier; 1.0s stays comfortably under). Override with --delay <seconds> if you have a higher-tier key or want to slow things down further.

Single Datasheet Download

Use fetch_datasheet_mouser.py for one-off downloads.

bash
# Search by MPN (uses Mouser API)
python3 <skill-path>/scripts/fetch_datasheet_mouser.py --search "TPS61023DRLR" -o datasheet.pdf

# Direct URL download
python3 <skill-path>/scripts/fetch_datasheet_mouser.py "https://example.com/datasheet.pdf" -o datasheet.pdf

# JSON output
python3 <skill-path>/scripts/fetch_datasheet_mouser.py --search "ADP1706" --json
Download Strategy

The scripts try multiple sources in order:

  1. Schematic URL — uses the datasheet URL embedded in the KiCad symbol (sync only)
  2. Mouser API search — gets the DataSheetUrl from the API response
  3. Alternative manufacturer sources — tries known URL patterns for major manufacturers (TI, Microchip, etc.) when the Mouser URL is blocked
  4. Headless browser fallback — if playwright is installed, uses headless Chromium as a last resort

When all methods fail, provide the ProductDetailUrl to the user so they can download from the Mouser product page in their browser.

Web Search Fallback

If no API key is available, search Mouser by fetching product pages directly:

  • Search URL: https://www.mouser.com/c/?q=<query>
  • Product pages contain full specs, pricing tiers, stock, datasheets
  • Results from Mouser can be noisy (JS-heavy pages)

Include key parameters in the query:

  • Passives: value, package (0402/0603/0805), tolerance, voltage/power rating, dielectric (C0G/X7R)
  • ICs: part number or function, package (QFN/SOIC/TSSOP), key specs (voltage, current, interface)
  • Connectors: type (USB-C, JST-PH), pin count, pitch, mounting (SMD/THT), orientation

Tips

  • Pipe-separate up to 10 part numbers in a single PartNumber search for batch lookups
  • Min and Mult fields matter — some parts have minimum order qty or must be ordered in multiples
  • SurchargeMessages may include US tariff percentages — factor into cost estimates
  • AvailabilityOnOrder shows incoming stock with expected dates
  • Check IsDiscontinued and LifecycleStatus before selecting parts

© aklofas, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in skills/mouser of aklofas/kicad-happy.

  • SKILL.md
  • scripts/fetch_datasheet_mouser.py
  • scripts/sync_datasheets_mouser.py

Open the folder on GitHubat commit 0684046

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in aklofas/kicad-happy, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Mouser next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mouser compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mouser this skillaklofas/kicad-happy1.4k1 repos~2.8kAutomated safety check: PassMIT
EasyEDA Pro API Bridgeeasyeda/easyeda-api-skill872—~7.8kAutomated safety check: PassMIT
EasyEDA to KiCad Importerjamro/tiny-engineer580—~569Automated safety check: PassCustom licence
Kicad Manufacturemixelpixx/Konnect917—~2.2kAutomated safety check: PassAGPL-3.0
Datasheetsbiosshot/easyeda-copilot168—~1.2kAutomated safety check: PassMIT
Easyeda Agentzhoushoujianwork/easyeda-agent605—~2.1kAutomated safety check: PassMIT

Similar skills

  • EasyEDA Pro API Bridge

    easyeda/easyeda-api-skill

    Gives an agent the EasyEDA Pro API reference and a WebSocket bridge to run code in a live EasyEDA client, for PCB, schematic and library work and extension development.

    872 GitHub stars~7.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • EasyEDA to KiCad Importer

    jamro/tiny-engineer

    Imports an LCSC part into a Tiny Engineer KiCad board as library files (symbol, footprint, 3D model) using easyeda2kicad and a bundled script.

    580 GitHub stars~569 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Kicad Manufacture

    mixelpixx/Konnect

    Manufacturing and fabrication workflow for KiCAD projects via MCP tools.

    917 GitHub stars~2.2k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed
  • Datasheets

    biosshot/easyeda-copilot

    Download component datasheet PDFs, locate useful pages, and read verified pinouts, electrical limits, thermal data and application notes using the agent's PDF tools.

    168 GitHub stars~1.2k tokensUpdated 4 days ago
    Documents & OfficeAuto-check passed
  • Easyeda Agent

    zhoushoujianwork/easyeda-agent

    通过本地 easyeda CLI、daemon 和连接器操作嘉立创EDA专业版(EasyEDA Pro):用可迁移样例和参数化数据构建或修复原理图、布局布线 PCB,并回读连接、几何、DRC 与保存结果。适用于已有工程操作及数据驱动电路设计。

    605 GitHub stars~2.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • JLCPCB BOM Verifier

    jamro/tiny-engineer

    Checks a KiCad board's production BOM against the schematic, PCB footprints and JLCPCB's parts catalog, then explains which failures are real.

    580 GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from aklofas/kicad-happy

All 11 skills in this repo
  • Datasheets

    aklofas/kicad-happy

    Extract structured specifications from electronic component datasheet PDFs — pinouts, electrical characteristics, peripherals, topology, and features.

    1.4k GitHub starsUsed in 1 repo~2.4k tokens
    Auto-check passed
  • Emc

    aklofas/kicad-happy

    EMC pre-compliance risk analysis for KiCad PCB designs — 18 check categories, 44 rule IDs covering ground planes, decoupling, I/O filtering, switching harmonics, clock routing, differential pair…

    1.4k GitHub starsUsed in 1 repo~2.8k tokens
    Auto-check passed
  • Bom

    aklofas/kicad-happy

    BOM (Bill of Materials) management for electronics projects — the workflow skill that coordinates DigiKey, Mouser, LCSC, element14, JLCPCB, PCBWay, and KiCad skills around a unified BOM lifecycle.

    1.4k GitHub starsUsed in 1 repo~5.5k tokens
    Auto-check passed
  • Digikey

    aklofas/kicad-happy

    Search DigiKey for electronic components and download datasheets — primary source for prototype orders and the preferred API method for fetching datasheets.

    1.4k GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check passed
  • Element14

    aklofas/kicad-happy

    Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets, analyze specifications.

    1.4k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed
  • Kicad

    aklofas/kicad-happy

    Analyze KiCad projects and PDF schematics: schematics, PCB layouts, Gerbers, footprints, symbols, netlists, and design rules.

    1.4k GitHub starsUsed in 1 repo~20k tokens
    Auto-check passed

Works with

Questions about Mouser

What does Mouser do?

Search Mouser Electronics for electronic components — secondary source for prototype orders. Mouser is an agent skill from aklofas/kicad-happy. Search Mouser Electronics for electronic components — secondary source for prototype orders.

When should I use Mouser?

Mouser fits situations like: the user specifically mentions Mouser; digiKey is out of stock; has worse pricing; comparing prices across distributors.

How do I install Mouser in Claude Code?

Run `npx skills add aklofas/kicad-happy --skill mouser -a claude-code`. Or copy the skill folder (skills/mouser in aklofas/kicad-happy) into .claude/skills/mouser in your project. Claude Code loads it when a task matches its description.

How do I install Mouser in Codex?

Run `npx skills add aklofas/kicad-happy --skill mouser -a codex`. Or copy the skill folder (skills/mouser in aklofas/kicad-happy) into .agents/skills/mouser in your project. Codex loads it when a task matches its description.

Can I use Mouser in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aklofas/kicad-happy --skill mouser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mouser, .gemini/skills/mouser, .github/skills/mouser and .opencode/skills/mouser in your project.

What does Mouser need to run?

Going by SKILL.md and its folder, Mouser needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named MOUSER_SEARCH_API_KEY. Our summary lists: Python 3; A credential in MOUSER_SEARCH_API_KEY.

Does Mouser access the network?

SKILL.md names 1 domain. In commands or code: mouser.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Mouser safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Mouser use?

Mouser is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mouser use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mouser?

Skills that share tags, products or a category with Mouser: EasyEDA Pro API Bridge (easyeda/easyeda-api-skill, 872 stars), EasyEDA to KiCad Importer (jamro/tiny-engineer, 580 stars), Kicad Manufacture (mixelpixx/Konnect, 917 stars) and Datasheets (biosshot/easyeda-copilot, 168 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mouser?

aklofas (a GitHub user) maintains it in aklofas/kicad-happy, which has 1,356 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 6, 2026.

Source: aklofas/kicad-happy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.