| name | net-convert |
| description | Convert KiCad netlist (.net) files to structured Markdown and manage schematic knowledge base with vector + keyword hybrid retrieval. Use when: user needs to parse .net netlist files, extract MCU pin assignments, build schematic knowledge base, or query netlist information. |
NET-CONVERT - KiCad Netlist Conversion & Knowledge Base Skill
Automatically convert KiCad netlist files (.net) to structured Markdown reports with MCU pin assignment tables, and build a searchable schematic knowledge base.
When to Use
โ
USE this skill when:
- "Convert .net netlist files to markdown"
- "Parse the schematic netlist and show MCU pins"
- "Build knowledge base from netlist files"
- "What pins does the MCU use for PWM?"
- "Show me the pinout for [MCU model]"
- "Query schematic knowledge base"
When NOT to Use
โ DON'T use this skill when:
- Input is not a KiCad .net file
- Need to convert PDFs/Excel/Pack โ use
doc-convert skill instead
- Need to generate code โ use
fae skill instead
- Only need to read a single text file โ use
read tool directly
Supported Formats
| Format | Extension | Converter | Output |
|---|
| KiCad Netlist | .net | converter.py โ scripts/netlist_to_md.py | .md (structured report) |
Directory Structure
skills/net-convert/
โโโ SKILL.md # This file
โโโ converter.py # Batch netlist conversion tool
โโโ kb_manager.py # Schematic knowledge base manager
โโโ requirements.txt # Python dependencies (shared with doc-convert)
โโโ scripts/
โ โโโ netlist_to_md.py # KiCad .net โ Markdown parser
โโโ retriever/ # Retrieval engine (imports from doc-convert)
โ โโโ __init__.py
โโโ kb/
โโโ config.json # Knowledge base configuration
Paths
SEARCH_ROOT="/Users/sinomcu/.openclaw/workspace/fae_input/sources/"
OUTPUT_DIR="/Users/sinomcu/.openclaw/workspace/fae_input/cache/schematics/"
KB_ROOT="/Users/sinomcu/.openclaw/workspace/fae_input/"
Usage Examples
Example 1: Convert a Single Netlist
User: "Convert this netlist file to markdown"
Assistant: (uses net-convert skill)
python3 /Users/sinomcu/.openclaw/workspace/skills/net-convert/converter.py \
-i /path/to/MC8059_12VPUMP-G-20260323_V10.net \
-o /Users/sinomcu/.openclaw/workspace/fae_input/cache/schematics/
Output: cache/schematics/MC8059_12VPUMP-G-20260323_V10.md
- MCU pin assignment table
- BOM list
- Signal net details
- Structured pin data (KB-optimized)
Example 2: Batch Convert All Netlists
User: "Convert all netlist files in the project"
Assistant: (uses net-convert skill)
python3 /Users/sinomcu/.openclaw/workspace/skills/net-convert/converter.py \
-i /Users/sinomcu/.openclaw/workspace/fae_input/sources/ \
-o /Users/sinomcu/.openclaw/workspace/fae_input/cache/schematics/ \
-r
Output: All .net files converted to structured Markdown
Example 3: Build Schematic Knowledge Base
User: "Build knowledge base from the converted netlists"
Assistant: (uses net-convert skill)
python3 /Users/sinomcu/.openclaw/workspace/skills/net-convert/kb_manager.py build
Output: Vector + keyword indexes updated with netlist pin data
Example 4: Query Schematic Knowledge Base
User: "What pins does MC8059 use for PWM?"
Assistant: (uses net-convert skill)
python3 /Users/sinomcu/.openclaw/workspace/skills/net-convert/kb_manager.py query "MC8059 PWM pin assignment"
Output: Relevant pin assignment entries from the schematic knowledge base
Example 5: Check Status
User: "Show schematic knowledge base status"
Assistant: (uses net-convert skill)
python3 /Users/sinomcu/.openclaw/workspace/skills/net-convert/kb_manager.py status
Commands Reference
Conversion
python3 converter.py -i design.net -o cache/schematics/
python3 converter.py -i fae_input/sources/ -o fae_input/cache/schematics/ -r
python3 converter.py -i design.net -o cache/schematics/ -f
Knowledge Base
python3 kb_manager.py build
python3 kb_manager.py query "your question"
python3 kb_manager.py status
python3 kb_manager.py clear
Output Structure (Markdown Report)
Each converted netlist produces a structured report with:
- Design Information โ source file, tool version, date
- MCU Pin Assignment Table โ grouped by function:
- ็ตๆบ/ๅ่็ตๅ (Power/Reference)
- ๆป็บฟ/้ไฟกๆฅๅฃ (Bus/Communication)
- PWM / ้ฉฑๅจ่พๅบ (PWM/Drive Output)
- ๆจกๆ่พๅ
ฅ/้ๆ ท (Analog Input/Sampling)
- ๅฎๆถๅจ/่ฎกๆฐๅจ (Timers/Counters)
- GPIO (ๅฏ่ฝไธๆ/้ๆต)
- ๆฌ็ฉบ (Unconnected)
- ๅจไปถๆธ
ๅ (BOM) โ grouped by type
- ไฟกๅท็ฝ็ป่ฏฆ็ป่ฟๆฅ โ all signal nets with component connections
- ็ตๆบ็ฝ็ป่ฟๆฅ่ฏฆๆ
โ power net details
- MCU ๅผ่็ปๆๅๆฐๆฎ่กจ โ KB-optimized, one pin per line
Inference Confidence Levels
Pin function inference uses confidence markers:
| Badge | Level | Meaning |
|---|
| โ
| High | Standard power/ground names (GND, VDD, 5V, etc.) |
| โ ๏ธ | Medium | Known signal patterns (SPI, UART, PWM, ADC, etc.) |
| โ | Low | Topology-based inference (RC network, single resistor, etc.) |
| โ | None | No pattern matched, raw net name preserved |
Integration with Other Skills
FAE Skill
FAE โ net-convert (parse netlist) โ schematics/ โ FAE (read pinout) โ generate code
Doc-Convert (Shared KB)
net-convert โ convert netlists โ cache/schematics/ โ kb_manager.py build โ shared indexes/
โ
doc-convert โ convert PDFs โ cache/text/ โโโโโโโโโโโโโโโโโโโโโโ
Both skills write to the same fae_input/indexes/ knowledge base, enabling unified RAG retrieval across datasheets, requirements, and schematic pin assignments.
Dependencies
Uses the same dependencies as doc-convert:
cd /Users/sinomcu/.openclaw/workspace/skills/doc-convert
pip3 install -r requirements.txt
Key dependencies:
chromadb - Vector database
whoosh - Keyword search engine
sentence-transformers - Embedding models
No additional dependencies required for net-convert (the netlist parser is pure Python).
Known Limitations
- KiCad format only โ Currently supports KiCad Eeschema
.net format. Altium, Eagle, or other formats are not supported.
- Single MCU focus โ Designed for single-MCU boards. Multi-MCU designs will only extract the primary MCU.
- No schematic rendering โ This is a text parser, not a graphical viewer.
This skill parses KiCad netlist files and provides structured pin assignment data for FAE code generation and RAG retrieval.