A development ecosystem for Home Assistant: eleven reference "skills" (firmware, integrations, add-ons, dashboards, theming, data, hardware, CI/CD) plus small Python tools that route between them, scaffold new projects, and search across them — built to be used from Claude Code in VS Code, but the skill files and templates are plain markdown/YAML/TS you can read on their own.
The goal: take a Home Assistant project from idea to working device/dashboard — ESPHome firmware → HA integration/automation → Lovelace card, optionally starting from custom PCB hardware — without re-explaining conventions and constraints in every session.
skills/ 8 skill .md files + orchestrator.py (routing engine)
tools/ knowledge_search, router, project_generator, workflow_planner
config/ skills.json (skill/workflow/routing metadata)
templates/ 5 scaffolds: ha_sensor, esphome_component, ha_dashboard,
ci_cd_pipeline, pcb_design
examples/ worked, end-to-end walkthroughs
docs/ ARCHITECTURE, INTEGRATION, API_REFERENCE, TROUBLESHOOTING
.vscode/ tasks.json (task runner) + skills.code-snippets
CLAUDE.md auto-read by Claude Code — skill map + routing rules
| Skill | What it's for |
|---|---|
master_orchestrator |
Routes a request to the right skill(s), plans multi-skill workflows |
ha_developer |
Home Assistant integrations, automations, entities, services (Python/YAML) |
ha_addon |
HAOS Supervisor add-ons: config.yaml, Dockerfile, bashio, ingress, /data storage |
ha_data |
Recorder, long-term statistics, InfluxDB/Grafana, data export for analysis/ML |
esphome |
Custom ESPHome firmware, sensors, components (C++/YAML) |
lovelace_cards |
Custom, responsive Home Assistant dashboard cards (TypeScript) |
ha_design_system |
HA design tokens, accessibility, responsive design rules |
ha_themes |
YAML frontend themes, card-mod, light/dark UI restyling |
electrical_engineering |
Circuits, schematics, power/thermal budgets, KiCad — for custom sensor hardware |
vector_design |
Icons, gauges, diagrams, SVG optimized for HA dashboards |
github_actions |
CI/CD for firmware builds, testing, releases |
Eight of the eleven are Home Assistant–specific (ha_developer, ha_addon,
ha_data, esphome, lovelace_cards, ha_design_system, ha_themes, plus
master_orchestrator tying them together); the rest (electrical_engineering,
vector_design, github_actions) support building the hardware, graphics, and
pipelines a real HA project needs around that core.
cd dev-ecosystem
python3 -m skills.orchestrator --list-skills
python3 -m skills.orchestrator "I want to build a temperature sensor for Home Assistant"
python3 -m tools.knowledge_search "esphome ble sensor"
python3 -m tools.project_generator ha_sensor my_first_sensor --dest ..Requires only the Python 3.9+ standard library — see requirements.txt.
- Keep
CLAUDE.mdat the workspace root — Claude Code reads it automatically and learns the skill map and routing rules. - Keep
.vscode/tasks.jsonand.vscode/skills.code-snippetsat the root for the task runner and code snippets. - For deep work, mention a skill file in chat:
@skills/esphome/esphome_expert_agent.md
See docs/INTEGRATION.md for the full command list and Python API.
custom_ha_sensor (python3 -m skills.orchestrator --workflow custom_ha_sensor):
ESPHome firmware → HA entity/automation → icon/gauge graphic → Lovelace card.
Walked through end-to-end in examples/example_1_custom_sensor.md.
Templates that need credentials (WiFi, API keys, HA tokens) ship as
*.example.* files with placeholder values only — see
templates/ha_sensor/firmware/secrets.example.yaml. Copy to the real
filename and fill in your own values; .gitignore keeps secrets.yaml out
of version control.
Every tool in this package was run against this exact tree before shipping:
list-skills, list-workflows, skill/workflow detail, search (keyword +
concept), router, project generation (with placeholder substitution), and
workflow planning all produce correct output. See docs/API_REFERENCE.md
for known limitations (keyword routing, raw relevance score).