
Home Assistant Dashboards Cards
Design and edit Home Assistant Lovelace dashboards and cards with ha-mcp tools instead of hand-editing YAML blind.
Overview
Home Assistant Dashboards & Cards is an agent skill for the Build phase that guides Lovelace dashboard and card work and maps each step to ha-mcp dashboard tools.
Install
npx skills add https://github.com/bradsjm/hassio-addons --skill home-assistant-dashboards-cardsWhat is this skill?
- Workflow: choose new vs existing dashboard, locate cards with current config_hash, prefer built-in cards
- ha-mcp map: discover entities, list/get dashboards, find cards, card docs, set dashboard config and metadata
- HACS path: ha_hacs_info, list installed, search, download custom cards
- Caveats: URL paths need a hyphen; strategy dashboards need Take Control; resources may need hard refresh; no Jinja in co
Adoption & trust: 529 installs on skills.sh; 41 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You know what you want on a Home Assistant dashboard but lack a safe sequence to discover entities, find cards, and patch Lovelace config without breaking config_hash or strategy-dashboard rules.
Who is it for?
Solo builders using ha-mcp with an agent to create or edit Lovelace dashboards, sections, and HACS-backed cards on a live Home Assistant instance.
Skip if: Teams building non-Home-Assistant web apps, or anyone who only needs generic React dashboard patterns without HA Lovelace constraints.
When should I use this skill?
User asks about Home Assistant dashboard structure, views/sections, card types, resources, HACS cards, or mapping those needs to ha-mcp dashboard tools.
What do I get? / Deliverables
You get minimal valid snippets or tool-driven dashboard changes with entities resolved first and built-in cards unless a custom card is truly required.
- Minimal valid dashboard snippets
- Tool-driven dashboard or resource updates
- Card placement with discovered entity IDs
Recommended Skills
Journey fit
Dashboard and card work happens while wiring the smart-home product surface after entities and automations exist. Lovelace config, HACS cards, and ha-mcp dashboard tools are integration work between your agent and a live HA instance.
How it compares
Use instead of pasting undocumented Lovelace YAML into chat without entity discovery or ha-mcp config_hash discipline.
Common Questions / FAQ
Who is home-assistant-dashboards-cards for?
Solo and indie builders who run Home Assistant and use ha-mcp from an agent to design or fix Lovelace dashboards, views, and cards.
When should I use home-assistant-dashboards-cards?
During Build integrations when you ask about dashboard structure, card types, resources, HACS cards, or when you need ha_get_overview, ha_dashboard_find_card, or ha_config_set_dashboard in a ordered workflow.
Is home-assistant-dashboards-cards safe to install?
It is procedural documentation for dashboard edits; review the Security Audits panel on this Prism page and treat ha-mcp credentials and live config writes as sensitive before running tools on production HA.
SKILL.md
READMESKILL.md - Home Assistant Dashboards Cards
# Home Assistant Dashboards & Cards ## Workflow - Determine whether to create a new dashboard or edit an existing one. - If editing, locate target cards first and transform config with a current `config_hash`. - Use built-in cards unless a custom card is required. - Discover entity IDs before wiring cards. - Provide minimal, valid dashboard snippets or tool-driven changes. ## Tooling map (ha-mcp) - Discover entities: `ha_get_overview`, `ha_search_entities` - List/get dashboards: `ha_config_get_dashboard` - Find cards: `ha_dashboard_find_card` - Card docs: `ha_get_card_types`, `ha_get_card_documentation` - Update config: `ha_config_set_dashboard`, `ha_config_update_dashboard_metadata` - Resources: `ha_config_list_dashboard_resources`, `ha_config_set_dashboard_resource`, `ha_config_set_inline_dashboard_resource`, `ha_config_delete_dashboard_resource` - HACS cards: `ha_hacs_info`, `ha_hacs_list_installed`, `ha_hacs_search`, `ha_hacs_download` ## Caveats - Dashboard URL paths must contain a hyphen. - Strategy dashboards require “Take Control” before editing. - Resource changes may require a hard refresh. - Jinja templates are not evaluated in core Lovelace YAML. ## References All reference files are relative to the location of this SKILL.md file. - Design patterns: `references/DESIGN_PATTERNS.md` - Card schema guide: `references/CARD_SCHEMA_GUIDE.md` - Custom resources: `references/CUSTOM_RESOURCES.md` # Card Schema Guide Use these tools to avoid guessing card fields: - `ha_get_card_types()` to list supported card types. - `ha_get_card_documentation("<type>")` to view options for a specific card. ## Practical rule If unsure about a card option, query the card documentation instead of copying from blogs or older YAML. ## Example (official docs) Tile card example from the official Tile card docs: ```yaml type: tile entity: light.bedroom icon: mdi:lamp color: yellow ``` # Dashboard Design Patterns (Native-First) ## Layout choices - Use `type: sections` for modern, maintainable layouts. - Keep sections aligned to areas/rooms for easy navigation. - Use `grid` cards inside sections for dense clusters. ## Card selection - Default to `tile` for controls and sensors. - Use `heading` for section titles and quick scanning. - Use `conditional` for swapping cards by state instead of templating fields. ## Dynamic UI without templates - Do not use Jinja in Lovelace YAML. - Create template entities for derived values, then display them normally. - Use `visibility` for simple show/hide rules. ## Accessibility and usability - Keep 2-3 columns for desktop and avoid overloading mobile views. - Put high-frequency actions near the top of the view. ## Example (official docs) Sections view type from the official Sections docs: ```yaml type: sections ``` # Custom Resources (HACS or /local) ## When to use - Only when built-in cards cannot meet the requirement. - User explicitly asks for a custom card or custom styling. ## Resource checklist - Install via HACS (preferred) or place file in `/config/www`. - Register resource with type `module` for modern cards. - Hard refresh browser after changes. ## Common paths - `/hacsfiles/<repo>/<file>.js` - `/local/<file>.js` ## Example (official docs) Conditional card example from the official Conditional card docs: ```yaml type: conditional conditions: - condition: state entity: light.bed_light state: "on" card: type: entities entities: - light.bed_light ```