| name | install-deps |
| description | Use once at setup to install Python dependencies (Pillow, optional opencv-python, pdfplumber) required by the plugin scripts. |
Install Dependencies
One-shot setup to install Python packages required by the plugin. Core dependency is Pillow (image annotation); optional dependencies are opencv-python (for de-skew and crop in prep-photo) and pdfplumber (for datasheet text extraction in cross-check-specs). Installation uses pip install --user or pipx; optionally creates a managed venv at the plugin's data root.
Data storage root:
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/
When to use
- First time setting up the plugin
- You want to enable optional features (de-skew, datasheet caching)
- You need to verify or upgrade package versions
Inputs to gather
- Installation scope —
--user (global user Python, default), --venv (managed venv under plugin data root), or --pipx (pipx isolated environments)
- Optional packages — prompt user: "Install optional features (de-skew, datasheet extraction)? [y/n]"
Procedure
-
Check Python availability. Verify python3 --version works and is Python 3.8+.
-
Determine installation method:
- Default:
pip install --user <packages>
- If user requests venv: create or reuse
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/venv/
- If user has pipx: use
pipx install --python python3 <packages>
-
Install core package:
pip install --user Pillow
-
Prompt for optional packages:
Install optional packages for advanced features?
- opencv-python (de-skew, auto-crop in prep-photo)
- pdfplumber (datasheet text extraction in cross-check-specs)
[y/n]:
-
Install selected packages if user agrees:
pip install --user opencv-python pdfplumber
-
Verify installations. Run import checks:
python3 -c "import PIL; print(f'Pillow {PIL.__version__}')"
python3 -c "import cv2; print(f'opencv-python {cv2.__version__}')" 2>/dev/null || echo "opencv-python not installed"
python3 -c "import pdfplumber; print(f'pdfplumber {pdfplumber.__version__}')" 2>/dev/null || echo "pdfplumber not installed"
-
Print results:
✓ Pillow 11.0.0
✓ opencv-python 4.11.0
✓ pdfplumber 0.13.0
All dependencies installed. Ready to use:
- identify-components (no optional deps)
- annotate-board (requires Pillow only)
- prep-photo (best with opencv-python)
- cross-check-specs (best with pdfplumber)
-
Idempotent. Running install-deps again is safe; pip will skip already-installed packages (or upgrade if user specifies --upgrade).
Output / side effects
- Packages installed to user site-packages or venv
- Console: version report and readiness checklist
- No files written to plugin storage except optional venv creation
Safety / constraints
- Requires internet for pip download; fail gracefully if offline.
- Permissions —
pip install --user does not require sudo; respect user's Python environment.
- Optional packages — if user declines, document that
prep-photo de-skew and cross-check-specs datasheet extraction will be disabled (graceful degradation).
- Version pinning — no explicit versions are specified in this skill; orchestrator may provide a requirements.txt for reproducible builds.