datasheets
Datasheets Skill
Purpose
Extract structured, machine-readable specifications from component datasheet PDFs and make them available to analyzer skills. Works on whatever PDFs are downloaded under <project>/datasheets/ (downloads are owned by distributor skills like digikey, mouser, lcsc, element14).
Scope
This skill owns:
- Extraction schema — the canonical JSON structure for per-MPN specs. Versioned via
EXTRACTION_VERSIONinscripts/datasheet_extract_cache.py. - PDF page selection — heuristics to pick pages most likely to contain pinouts, e-chars, applications, SPICE models.
- Quality scoring — weighted rubric (pin coverage, voltage ratings, application info, electrical chars, SPICE specs).
- Consumer API — helpers in
scripts/datasheet_features.pyfor other skills to query specific fields (e.g.,get_regulator_features(mpn),get_mcu_features(mpn)). - Verification — consistency checks between extracted data and schematic/PCB usage.
Non-goals
- No PDF downloading. That is owned by distributor skills (
digikey,mouser,lcsc,element14). - No global library. Each project's extractions live in
<project>/datasheets/extracted/. There is no shared cross-project cache.
Cache location
<project>/
design.kicad_sch
datasheets/
TPS61023DRLR.pdf # downloaded by distributor skills
extracted/
manifest.json # extraction manifest (legacy name: index.json)
TPS61023DRLR.json # structured extraction (this skill's output)
Reference guides
references/extraction-schema.md— canonical schema, every field definedreferences/field-extraction-guide.md— how to find each field in datasheets from common vendors (TI, ST, NXP, Espressif, Microchip)references/quality-scoring.md— rubric details, score thresholdsreferences/consumer-api.md— how kicad/emc/spice/thermal consume extractions
Entry-point scripts
scripts/datasheet_extract_cache.py— cache manager, resolver, indexerscripts/datasheet_page_selector.py— page selection heuristicsscripts/datasheet_score.py— extraction quality scoringscripts/datasheet_verify.py— cross-check extraction vs schematic usagescripts/datasheet_features.py— consumer helper API (new in v1.3)
Extraction workflow
- User runs an analyzer or requests extraction.
- This skill checks the cache (
<project>/datasheets/extracted/<MPN>.json). - On cache miss / stale / low score: Claude reads selected PDF pages and extracts structured data.
- Extraction is scored; if score ≥ 6.0, cached.
- Consumers query via
datasheet_features.py.
When to trigger this skill
- Immediately after downloading datasheets via
sync_datasheets_digikey.py,sync_datasheets_lcsc.py, or equivalent. Without extraction, IC-aware checks (VM-001 rail voltage, PS-001 power-good, PR-004 USB, DP-002 USB speed classification) fall back to heuristics on unknown ICs. - Before running analyzers on a new project where datasheets are present but
datasheets/extracted/is empty — the analyzers won't produce the extractions themselves. - When a review flags low trust level due to missing manufacturer evidence: extracting the ICs referenced by power regulators, MCUs, and high-speed peripherals typically flips
trust_level: low→mixedorhigh. - When a user asks for pin verification ("verify U1 pin names match datasheet") — this skill's cached extraction is the authoritative source.
More from aklofas/kicad-happy
kicad
>-
93jlcpcb
JLCPCB PCB fabrication and assembly — BOM/CPL generation, basic vs extended parts, assembly constraints, design rules, ordering workflow. Use with KiCad for JLCPCB manufacturing. Use this skill when the user mentions JLCPCB, wants to order PCBs or assembled boards, needs prototype bare PCBs and stencils, wants to know JLCPCB design rules and capabilities, or is asking about PCB manufacturing costs or turnaround times. For gerber/CPL export, stencil ordering, and BOM management, see the `bom` skill.
92bom
BOM (Bill of Materials) management for electronics projects — the primary orchestrator skill that coordinates DigiKey, Mouser, LCSC, element14, JLCPCB, PCBWay, and KiCad skills into a unified workflow. Create, update, and maintain BOMs with part numbers, costs, quantities stored as KiCad symbol properties. ALWAYS trigger this skill for any task involving component sourcing, pricing, ordering, distributor searches, BOM export, or fabrication preparation — even if the user names a specific distributor or fab house (e.g. "search DigiKey for...", "generate JLCPCB BOM", "order from Mouser"). This skill decides which distributor/fab skills to invoke and in what order. Also trigger on phrases like "what parts do I need", "order components", "how much will this cost", "export for JLCPCB", "find parts for this board", "cost estimate", "compare pricing", or "check stock".
74lcsc
Search LCSC Electronics for electronic components — find parts by LCSC number (Cxxxxx) or MPN, check stock/pricing, download datasheets, analyze specifications. Sister company to JLCPCB, same parts library. Sync and maintain a local datasheets directory for a KiCad project, or use batch MPN-list seeding (`--mpn-list`) for bulk workflows without a project. No API key needed — uses the free jlcsearch community API. Use this skill when the user mentions LCSC, JLCPCB parts library, JLCPCB assembly parts, production sourcing, Cxxxxx part numbers, needs to find LCSC equivalents for parts, is preparing a BOM for JLCPCB assembly, or wants to download datasheets and LCSC is available. For package cross-reference tables and BOM workflow, see the `bom` skill.
64digikey
>-
55mouser
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.
51