| name | onboard |
| description | First-run setup for hardware-spec-assembly. Captures the user's location, preferred parts vendors, the kinds of hardware projects they typically work on (e.g. ESP32-based sensors, robotics), and the gear/components they already have on hand. Writes a profile and pointer config to the plugin data directory. |
Onboard
Run this once at first use, or any time the user wants to refresh their profile.
What to capture
Walk the user through these prompts. Don't dump them all at once — ask in small batches and confirm.
- Location — country and city (used to filter sourcing recommendations by realistic shipping/availability).
- Preferred vendors — free-form list. Common: AliExpress, Amazon, Mouser, DigiKey, LCSC, Adafruit, SparkFun, local hobby shops. Note any the user explicitly avoids.
- Project domains — what they build or want to build (e.g. "ESP32 environmental sensors", "BLE wearables", "home automation actuators", "robotics with steppers"). This biases later spec/mockup suggestions.
- Skill level / tooling on hand — soldering iron? hot air? oscilloscope? 3D printer (model + bed size + filaments)? PCB fab account?
- On-hand inventory — components and modules already owned. Accept either a free-form dump or a path to an existing inventory file (CSV, markdown, JSON). If the user has an MCP-connected inventory system, capture the MCP server alias here so
check-inventory can use it.
- Budget posture — typical per-project budget ceiling and currency. Useful for later
generate-budget-approximation framing.
Where to store it
Resolve the data root:
DATA_ROOT="${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-spec-assembly"
mkdir -p "$DATA_ROOT/data" "$DATA_ROOT/cache" "$DATA_ROOT/state"
Write two files:
$DATA_ROOT/config.json — small pointers and settings:
{
"profile_path": "<DATA_ROOT>/data/profile.md",
"inventory_source": {
"type": "file | mcp | none",
"path": "<absolute path if file>",
"mcp_alias": "<MCP server alias if mcp>"
},
"projects_dir": "<user-chosen path, e.g. ~/Documents/Hardware-Projects>"
}
$DATA_ROOT/data/profile.md — human-readable profile with the captured fields. This is the canonical reference; other skills read it for context.
Projects directory
Hardware projects (specs, BOMs, wiring docs, mockups) are user-owned data — never store them under $CLAUDE_USER_DATA. Ask the user for a path; suggest ~/Documents/Hardware-Projects/ or ~/repos/Hardware-Projects/ as defaults. Store only the pointer in config.json.
After onboarding
Tell the user which skills are now available and suggest starting with create-hardware-spec or bom-from-project-idea.