Agent skill

Ha Frontend Demo

by home-assistant in home-assistant/frontend

Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification.

Apache-2.0Auto-check passedFrontend & Design

Install Ha Frontend Demo

skills CLI
$ npx skills add home-assistant/frontend --skill ha-frontend-demo -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install home-assistant/frontend ha-frontend-demo --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ha-frontend-demo .claude/skills/ha-frontend-demo && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ha-frontend-demo
GitHub stars
5.7k
Token cost
~1.1k tokens
SKILL.md length
507 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification.

  • Changing files under demo/
  • SKILL.md covers Purpose, Running The Demo, Opening A Specific Demo and Opening A Specific Page, plus 4 more sections
  • Calls pnpm
  • Changing gallery consumers of demo/src/stubs/

What it does

Ha Frontend Demo is an agent skill from home-assistant/frontend. Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification. Use when changing files under demo/, changing gallery consumers of demo/src/stubs/, or running and validating the demo.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design. It works with Home Assistant. The repository describes itself as: :lollipop: Frontend for Home Assistant. The licence is Apache-2.0.

When your agent uses it

  • Changing files under demo/
  • Changing gallery consumers of demo/src/stubs/
  • Running and validating the demo

Example prompts

  • “/ha-frontend-demo”

What it can do on your machine

Read from SKILL.md and the folder at commit 3280113. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • demo.home-assistant.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ha Frontend Demo loads about 1.1k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 507 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~69
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from home-assistant/frontend at commit 3280113, republished under its Apache-2.0 licence (© home-assistant). 507 words, ~1,075 tokens.

Download SKILL.mdSave it as .claude/skills/ha-frontend-demo/SKILL.md (or your agent's skills folder).
name
ha-frontend-demo
description
Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification. Use when changing files under demo/, changing gallery consumers of demo/src/stubs/, or running and validating the demo.

HA Frontend Demo

Use this skill for standalone demo work and changes to shared demo stubs consumed by the gallery. Follow the persistent repository guidance in AGENTS.md and load matching specialist skills alongside this skill, especially ha-frontend-testing when running or validating the demo.

Purpose

The demo is the full Home Assistant frontend running against a mocked backend and is published at https://demo.home-assistant.io. It needs no Home Assistant server, which makes it the easiest way to load the real UI in a browser, for example to take screenshots.

Running The Demo

Run commands from the repository root:

bash
pnpm dev:demo               # Development server on http://localhost:8090
pnpm dev:demo --background  # Detached; also supports --status/--stop/--logs

Use the E2E workflows documented in ha-frontend-testing when validating the demo.

Opening A Specific Demo

The demo contains multiple demo configurations. Select one directly with the demo query parameter, for example http://localhost:8090/?demo=<slug>. The valid slugs are defined in demoConfigs in demo/src/configs/demo-configs.ts, so "the second demo" means the slug of the second entry in that list. An unknown slug falls back to the default, which is the first entry.

Opening A Specific Page

The demo build uses hash-based routing: the frontend path goes in the URL hash, and the demo query parameter goes before the #. The URL format is:

text
http://localhost:8090/?demo=<slug>#/<path>

Useful paths:

  • /lovelace/0: The selected demo's dashboard, also the default when no hash is given.
  • /energy: The energy dashboard. Its tabs are views: /energy/overview (Summary), /energy/electricity, /energy/gas, /energy/water, and /energy/now.
  • /map, /history, /todo, /config: Other sidebar panels.

For example, the water tab of the energy dashboard of the second demo is:

text
http://localhost:8090/?demo=<second slug>#/energy/water

Structure

  • demo/src/ha-demo.ts: Root element that sets up all backend mocks.
  • demo/src/configs/<slug>/: One directory per demo configuration, containing entities, dashboard, and theme data.
  • demo/src/configs/demo-configs.ts: Registry of demo configurations and URL slug handling.
  • demo/src/stubs/: Mocked WebSocket and REST APIs.
  • demo/script/develop_demo, demo/script/build_demo: Development server and static build wrappers.
Show full SKILL.md (217 more words)Show less

Core Data

The service descriptions in src/fake_data/demo_services.ts and the trigger and condition descriptions and icons in demo/src/stubs/automation_platforms_*.ts are generated from Home Assistant Core. Do not edit them by hand. Run script/gen_demo_core_data to regenerate them from the core dev branch, and add a domain to the lists in build-scripts/gulp/gen-demo-core-data.js when the demo needs its services, triggers, or conditions. Their translations come from the backend translations merged into the demo build.

demo/src/stubs/ is shared, not demo-private: gallery pages import from it directly. Before changing or removing anything a stub does, search for its callers across demo/src/ and gallery/src/, then check the affected gallery pages as well as the demo.

The two consumers use a stub differently, so demo behavior does not predict gallery behavior. A gallery page calls stubs against the hass from provideHass, where hass.config is the shared demoConfig object. A stub that mutates hass.config in place is therefore visible to the page. demo/src/ha-demo.ts copies components into a new array before the stubs run, so the same mutation never reaches the demo. A change can look correct in the demo while quietly breaking a gallery page.

Verification

Load ha-frontend-testing and use its demo and gallery workflows. Validate both consumers when changing shared stubs. Documentation-only changes do not require code tests unless examples or commands change.

© home-assistant, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/ha-frontend-demo of home-assistant/frontend.

Open the folder on GitHubat commit 3280113

Compare with similar skills

Ha Frontend Demo next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ha Frontend Demo compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ha Frontend Demo this skillhome-assistant/frontend5.7k—~1.1kAutomated safety check: PassApache-2.0
Sap Extension Creatorheshengtao/super-agent-party2.7k—~6kAutomated safety check: PassAGPL-3.0
Develop Big Slider Cardnicufarmache/lovelace-big-slider-card104—~1.4kAutomated safety check: PassMIT
Hass Synchomeassistant-extras/device-card131—~1.4kAutomated safety check: PassMIT
Ha Android UIhome-assistant/android4k—~1.5kAutomated safety check: PassApache-2.0
Implement Widget Frontendcryptomilk/hass-eink-dashboard116—~3.3kAutomated safety check: PassApache-2.0

Similar skills

  • Sap Extension Creator

    heshengtao/super-agent-party

    Create Super Agent Party (SAP) extensions. An agent skill from heshengtao/super-agent-party.

    2.7k GitHub stars~6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Develop Big Slider Card

    nicufarmache/lovelace-big-slider-card

    Implement, fix, extend, or review the Big Slider Card Home Assistant custom card.

    104 GitHub stars~1.4k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Hass Sync

    homeassistant-extras/device-card

    Maintains synchronization between src/hass folder and Home Assistant frontend source code.

    131 GitHub stars~1.4k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Ha Android UI

    home-assistant/android

    Home Assistant Android UI guidance. An agent skill from home-assistant/android.

    4k GitHub stars~1.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Implement Widget Frontend

    cryptomilk/hass-eink-dashboard

    Add TypeScript types in ha.d.ts and editor schema in eink-dashboard-editor.ts for a new or updated widget type; also handles deprecating an old type (remove from picker, keep schema, add @deprecated…

    116 GitHub stars~3.3k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Translations

    jtenniswood/espcontrol

    Find static user-visible words shown on the physical EspControl device and integrate them into the firmware translation process.

    1.1k GitHub stars~2.2k tokensUpdated today
    Writing & ContentAuto-check passed

More from home-assistant/frontend

All 12 skills in this repo
  • Ha Frontend Components

    home-assistant/frontend

    Home Assistant frontend component patterns. An agent skill from home-assistant/frontend.

    5.7k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Ha Frontend Contexts

    home-assistant/frontend

    Home Assistant frontend Lit context and hass migration guidance.

    5.7k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Ha Frontend Gallery

    home-assistant/frontend

    Home Assistant frontend gallery structure, pages, demos, content, and verification.

    5.7k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Ha Frontend Styling

    home-assistant/frontend

    Home Assistant frontend styling, theming, spacing, responsive layout, RTL, and View Transitions guidance.

    5.7k GitHub stars~799 tokensUpdated today
    Auto-check passed
  • Ha Frontend Testing

    home-assistant/frontend

    Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.

    5.7k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Ha Frontend Types

    home-assistant/frontend

    Home Assistant frontend TypeScript conventions. An agent skill from home-assistant/frontend.

    5.7k GitHub stars~574 tokensUpdated today
    Auto-check passed

Works with

Questions about Ha Frontend Demo

What does Ha Frontend Demo do?

Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification. Ha Frontend Demo is an agent skill from home-assistant/frontend. Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification.

When should I use Ha Frontend Demo?

Ha Frontend Demo fits situations like: changing files under demo/; changing gallery consumers of demo/src/stubs/; running and validating the demo.

How do I install Ha Frontend Demo in Claude Code?

Run `npx skills add home-assistant/frontend --skill ha-frontend-demo -a claude-code`. Or copy the skill folder (.agents/skills/ha-frontend-demo in home-assistant/frontend) into .claude/skills/ha-frontend-demo in your project. Claude Code loads it when a task matches its description.

How do I install Ha Frontend Demo in Codex?

Run `npx skills add home-assistant/frontend --skill ha-frontend-demo -a codex`. Or copy the skill folder (.agents/skills/ha-frontend-demo in home-assistant/frontend) into .agents/skills/ha-frontend-demo in your project. Codex loads it when a task matches its description.

Can I use Ha Frontend Demo in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add home-assistant/frontend --skill ha-frontend-demo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ha-frontend-demo, .gemini/skills/ha-frontend-demo, .github/skills/ha-frontend-demo and .opencode/skills/ha-frontend-demo in your project.

What does Ha Frontend Demo need to run?

Going by SKILL.md and its folder, Ha Frontend Demo needs the command-line tools its instructions call (pnpm).

Does Ha Frontend Demo access the network?

SKILL.md names 1 domain. As links in the text: demo.home-assistant.io. This is read from the text; nothing was executed.

Is Ha Frontend Demo safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ha Frontend Demo use?

Ha Frontend Demo is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ha Frontend Demo use?

About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ha Frontend Demo?

Skills that share tags, products or a category with Ha Frontend Demo: Sap Extension Creator (heshengtao/super-agent-party, 2.7k stars), Develop Big Slider Card (nicufarmache/lovelace-big-slider-card, 104 stars), Hass Sync (homeassistant-extras/device-card, 131 stars) and Ha Android UI (home-assistant/android, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ha Frontend Demo?

home-assistant (a GitHub organization) maintains it in home-assistant/frontend, which has 5,699 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 11, 2026.

Source: home-assistant/frontend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.