component-search

diodeinc/pcb · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/diodeinc/pcb --skill component-search
0 commentsdiscussion
summary

Find and add components, modules, and reference designs to a Zener project. Use this workflow any time you need a part or subcircuit that isn't already in the workspace or covered by stdlib generics.

skill.md

Component Search

Find and add components, modules, and reference designs to a Zener project. Use this workflow any time you need a part or subcircuit that isn't already in the workspace or covered by stdlib generics.

Hard Stop Before Manual Creation

If pcb search and pcb new component do not produce a usable part, do not manually create the component, symbol, or footprint by default. Briefly say what failed, say you can try making it manually, and get explicit user confirmation first. In interactive mode, prefer ask.

Search Priority

Always search in this order. Move down only when the higher tier doesn't have what fits.

  1. pcb search -m registry:modules <query> -f json — Pre-designed, validated subcircuits (modules and reference designs). Best option: the design work is already done, with passives, layout, and validation included.
  2. pcb search -m registry:components <query> -f json — Pre-packaged component definitions in the registry. Good: symbol, footprint, and .zen file already exist and are ready to use.
  3. pcb search -m web:components <MPN> -f json — Diode's web component database (CSE, LCSC sources). Fallback: returns a component_id that must be imported with pcb new component.

If the user asks for a specific MPN, still try registry first before falling back to web.

Search Tips

  • Registry search is richly indexed — it supports MPN search, manufacturer name search, semantic/functional queries, and lexical keyword matching. Use descriptive queries freely: "buck converter 3.3V", "Texas Instruments LDO", "USB-C connector".
  • Web components search is strict MPN-only. Only use exact or partial manufacturer part numbers: "TPS54331", "STM32F103C8T6". Do NOT include descriptions, keywords, or functional terms in the query — they will cause the search to fail or return irrelevant results. Strip everything except the MPN.
  • All commands output JSON with -f json. Parse results programmatically to evaluate options.
  • Registry results include dependencies (what they use) and dependents (who uses them) for context.
  • Web results include model_availability showing whether ECAD and STEP models are available. The same MPN may appear from multiple sources (DigiKey, CSE, LCSC) with different model availability; check all returned results before concluding models are unavailable.
  • Try multiple queries. Parts go by different names — full MPN, base family, orderable variant, manufacturer alias. If the first search doesn't find what you need, try alternative names before giving up.
  • Use pcb doc --package <url>@<version> to inspect a registry module's io/config interface before using it.

Choosing Between Results

Pick when there's a clear winner. Present tradeoffs and ask only when genuinely ambiguous.

Selection heuristics in priority order:

  1. Functional fit — does it meet the electrical requirements?
  2. ECAD + STEP availability — strongly prefer results with both models available.
  3. Package — prefer leadless packages (QFN, DFN, LGA, WLCSP) over leaded alternatives (SOIC, TSSOP, QFP) when multiple package options exist.
  4. Sourcing — prefer in-stock parts. Check availability fields for stock counts and pricing.
  5. Source quality — for web:components, prefer CSE source over LCSC.
  6. Registry adoption — more dependents in registry results means more battle-tested.

Using Registry Results

Registry modules and components (Flows 1 and 2) are used directly via Module() with the registry URL. Auto-dep handles pcb.toml updates automatically — just use the URL and build.

# Reference design from registry:modules search
LDO = Module("github.com/diodeinc/registry/reference/AP2112Kx/AP2112Kx.zen")

LDO(
    name="LDO_3V3",
    VIN=vbus_5v0,
    VOUT=vdd_3v3,
    GND=gnd,
)
# Component from registry:components search
TPS54331 = Module("github.com/diodeinc/registry/components/TPS54331D/TPS54331D.zen")

Use pcb doc --package <url>@<version> to check available io/config before wiring into a design.

Importing Web Components

Web component results (Flow 3) require an import step before use.

  1. Search: pcb search -m web:components <MPN> -f json
  2. Pick a result and extract its component_id, part_number, and manufacturer.
  3. Import:
pcb new component --component-id <ID> --part-number <MPN> --manufacturer <MFR>

This downloads the symbol, footprint, and STEP model, scans the datasheet, and generates a .zen file into components/<manufacturer>/<mpn>/. If the component already exists in the workspace, it skips and reports the existing path.

  1. Use the imported component via Module() with the local workspace path:
ESP32 = Module("./components/Espressif_Systems/ESP32-S3-WROOM-1-N16R8/ESP32-S3-WROOM-1-N16R8.zen")

Command Reference

Search

# Modules and reference designs (fast, local index)
pcb search -m registry:modules <query> -f json

# Pre-packaged components (fast, local index)
pcb search -m registry:components <query> -f json

# Web component database (network, slower, MPN-ONLY queries)
pcb search -m web:components <MPN> -f json

Import

# Import a web component into the workspace
pcb new component --component-id <ID> [--part-number <MPN>] [--manufacturer <MFR>]

Inspect

# Read a registry package's io/config interface
pcb doc --package <url>@<version>

Verifying Sourcing with pcb bom

After adding components to a design, use pcb bom to check sourcing and availability:

pcb bom boards/MyBoard/MyBoard.zen -f json

The JSON output is a list of BOM entries, each with:

  • designator, mpn, manufacturer, package, value, description
  • availability — per-entry sourcing data:
    • us / global — regional summary with price, stock, alt_stock
    • offers — individual distributor offers with region, distributor, stock, price

Fixing BOM issues

  • "No house cap/resistor found" warnings during build mean no pre-qualified generic part matches the spec. Adjust the value, package, or voltage rating, or specify an explicit part=Part(mpn=..., manufacturer=...) where appropriate.
  • Low stock or no offers — search for alternative parts using the component search flows above, then update the design.
  • Checking availability — look at stock counts across regions. Parts with zero stock and only alt_stock may have long lead times.
how to use component-search

How to use component-search on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add component-search
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/diodeinc/pcb --skill component-search

The skills CLI fetches component-search from GitHub repository diodeinc/pcb and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/component-search

Reload or restart Cursor to activate component-search. Access the skill through slash commands (e.g., /component-search) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.640 reviews
  • Sofia Abebe· Dec 16, 2024

    component-search has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Harper Ndlovu· Dec 12, 2024

    component-search reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Aditi Gonzalez· Nov 27, 2024

    Keeps context tight: component-search is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Yash Thakker· Nov 19, 2024

    component-search is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Mei Iyer· Nov 7, 2024

    component-search fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Harper Park· Nov 3, 2024

    I recommend component-search for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Aanya Khan· Oct 26, 2024

    We added component-search from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Aarav Park· Oct 22, 2024

    Useful defaults in component-search — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Harper Agarwal· Oct 18, 2024

    component-search is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Dhruvi Jain· Oct 10, 2024

    Keeps context tight: component-search is the kind of skill you can hand to a new teammate without a long onboarding doc.

showing 1-10 of 40

1 / 4