Ha Frontend Gallery
home-assistant/frontend
Home Assistant frontend gallery structure, pages, demos, content, and verification.
Batch rename Home Assistant entities to follow a consistent naming convention.
$ npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dcb/homeassistant-claude-kit entity-rename --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dcb/homeassistant-claude-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/entity-rename .claude/skills/entity-rename && rm -rf skills-srcUse ~/.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/
Install the "entity-rename" agent skill from https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-rename into .claude/skills/entity-rename/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "entity-rename", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-renameType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dcb/homeassistant-claude-kit entity-rename --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dcb/homeassistant-claude-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/entity-rename .agents/skills/entity-rename && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "entity-rename" agent skill from https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-rename into .agents/skills/entity-rename/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "entity-rename", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dcb/homeassistant-claude-kit entity-rename --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dcb/homeassistant-claude-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/entity-rename .cursor/skills/entity-rename && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "entity-rename" agent skill from https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-rename into .cursor/skills/entity-rename/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "entity-rename", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dcb/homeassistant-claude-kit.git --path .claude/skills/entity-rename--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dcb/homeassistant-claude-kit entity-rename --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dcb/homeassistant-claude-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/entity-rename .gemini/skills/entity-rename && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "entity-rename" agent skill from https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-rename into .gemini/skills/entity-rename/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "entity-rename", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dcb/homeassistant-claude-kit entity-renameInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dcb/homeassistant-claude-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/entity-rename .github/skills/entity-rename && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "entity-rename" agent skill from https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-rename into .github/skills/entity-rename/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "entity-rename", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dcb/homeassistant-claude-kit entity-rename --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dcb/homeassistant-claude-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/entity-rename .opencode/skills/entity-rename && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "entity-rename" agent skill from https://github.com/dcb/homeassistant-claude-kit/tree/main/.claude/skills/entity-rename into .opencode/skills/entity-rename/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "entity-rename", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
entity-renameBatch rename Home Assistant entities to follow a consistent naming convention.
Entity Rename is an agent skill from dcb/homeassistant-claude-kit. Batch rename Home Assistant entities to follow a consistent naming convention. Discovers entities, proposes renames, executes via HA API, and updates all YAML/TypeScript references automatically. Trigger phrases: "rename entities", "fix entity names", "standardize entity IDs", "entity rename", "clean up names".
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/naming-convention.md`).
It works with TypeScript and Home Assistant. The repository describes itself as: AI-guided Home Assistant setup — automation templates, mobile-first React dashboard, and Claude Code skills for configuration management. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0d05e2. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
sshmakepythonpython3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
HA_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Entity Rename loads about 1.9k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 483 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# Check .env exists with HA connectiontest -f .env && grep -q HA_TOKEN .env && echo "ENV_OK" || echo "ENV_MISSING"source .env 2>/dev/null`setup-infrastructure` first or create `.env` manually.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.
The full file from dcb/homeassistant-claude-kit at commit c0d05e2, republished under its MIT licence (© dcb). 483 words, ~1,923 tokens.
.claude/skills/entity-rename/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Rename Home Assistant entities to follow a consistent domain.{room}_{descriptor}
convention. Updates all YAML automations, scripts, dashboard code, and .storage/
configs automatically.
See references/naming-convention.md for the full naming convention.
See docs/solutions/tooling/entity-rename-lessons.md for safety rules from production use.
Verify the environment is ready:
# Check .env exists with HA connection
test -f .env && grep -q HA_TOKEN .env && echo "ENV_OK" || echo "ENV_MISSING"
# Check entity registry exists (needs make pull first)
test -f config/.storage/core.entity_registry && echo "REGISTRY_OK" || echo "REGISTRY_MISSING"
# Check ha-ws is available on HA instance
source .env 2>/dev/null
ssh "$SSH_USER@$HA_HOST" "command -v ha-ws" >/dev/null 2>&1 && echo "HAWS_OK" || echo "HAWS_MISSING"ENV_MISSING: Tell user to run setup-infrastructure first or create .env manually.REGISTRY_MISSING: Tell user to run make pull first.HAWS_MISSING: Install claude-code-ha on the HA instance:ssh "$SSH_USER@$HA_HOST" "bash ${HA_REMOTE_PATH}claude-code-ha/install.sh"ha-api (REST) and ha-ws (WebSocket) CLI tools that run directly on HA.Parse local registry files to build a complete entity inventory:
source venv/bin/activate
python tools/entity_explorer.py config/ --fullThis uses the device registry join (entity.device_id -> device.area_id) to resolve areas for entities that don't have a direct area_id.
Present the inventory to the user grouped by area/room:
For each non-conforming entity, propose a new name following references/naming-convention.md.
Present renames grouped by room. For each room, show:
Living Room (12 entities to rename):
climate.jch_8862dcd1 -> climate.living_room_ac
light.hue_ambiance_spot_1 -> light.living_room_spot_1
...
[Approve all] [Edit] [Skip room]Before proposing each rename:
Save approved renames to a JSON file for batch execution:
# Write to entity-renames.json (or a temp batch file)
python3 -c "
import json
renames = [
{'old_id': 'climate.jch_8862dcd1', 'new_id': 'climate.living_room_ac'},
...
]
with open('rename_batch.json', 'w') as f:
json.dump(renames, f, indent=2)
"Before executing, scan for all references to understand the blast radius:
source venv/bin/activate
python tools/update_yaml_refs.py rename_batch.json --dry-runThis shows which files reference each old entity ID and how many replacements would be made. Present the summary to the user:
climate.jch_8862dcd1: 34 references across 5 files
config/automations/climate.yaml: 18 refs
config/scripts/climate.yaml: 8 refs
config/configuration.yaml: 4 refs
dashboard/src/lib/entities.ts: 2 refs
config/automations.yaml: 2 refsExecute renames in batches, grouped by room. For EACH batch:
Primary (ha-ws via SSH):
# Rename a single entity
ssh "$SSH_USER@$HA_HOST" "source /etc/profile.d/claude-ha.sh; source ${HA_REMOTE_PATH:=/config/}.env; ha-ws entity update sensor.old_name new_entity_id=sensor.new_name"
# Batch rename from a file
cat rename_batch.json | python3 -c "
import json, sys, subprocess
for r in json.load(sys.stdin):
cmd = f'ha-ws entity update {r[\"old_id\"]} new_entity_id={r[\"new_id\"]}'
print(f'Renaming: {r[\"old_id\"]} -> {r[\"new_id\"]}')
subprocess.run(['ssh', '$HA_HOST', f'source /etc/profile.d/claude-ha.sh; source ${HA_REMOTE_PATH:=/config/}.env; {cmd}'])
"Alternative (Python script with WebSocket fallback):
source venv/bin/activate
python tools/entity_rename.py rename_batch.jsonOnly needed if SSH is unavailable. The script connects directly via WebSocket.
python tools/update_yaml_refs.py rename_batch.jsonIf any renamed entities are in Adaptive Lighting zones, patch the zone config on HA via SSH:
# Back up first (safety rule 10)
ssh "$SSH_USER@$HA_HOST" "cp ${HA_REMOTE_PATH}.storage/core.config_entries ${HA_REMOTE_PATH}.storage/core.config_entries.bak"
# Patch AL zone lights arrays
ssh "$SSH_USER@$HA_HOST" "python3 -c \"
import json
with open('${HA_REMOTE_PATH}.storage/core.config_entries') as f:
data = json.load(f)
for entry in data.get('data', {}).get('entries', []):
if entry.get('domain') == 'adaptive_lighting':
opts = entry.get('options', {})
lights = opts.get('lights', [])
# Replace old IDs with new IDs
opts['lights'] = [MAPPING.get(l, l) for l in lights]
with open('${HA_REMOTE_PATH}.storage/core.config_entries', 'w') as f:
json.dump(data, f, indent=2)
print('AL zones patched')
\""Append batch results to entity-renames.json:
import json, datetime
with open('entity-renames.json') as f:
tracker = json.load(f)
for rename in batch:
tracker['renames'].append({
'batch': batch_number,
'date': datetime.date.today().isoformat(),
'old_id': rename['old_id'],
'new_id': rename['new_id'],
'references_updated': rename.get('ref_count', 0),
})
with open('entity-renames.json', 'w') as f:
json.dump(tracker, f, indent=2)# Sync updated registry from HA
make pull
# Validate YAML references
make validate
# Grep for any remaining old entity IDs
for old_id in $(python3 -c "import json; [print(r['old_id']) for r in json.load(open('rename_batch.json'))]"); do
echo "Checking: $old_id"
grep -rn "$old_id" config/ dashboard/src/ || echo " Clean"
doneIf validation fails or old IDs remain, fix them before proceeding to the next batch.
After all batches complete:
make push to deploy updated YAML to HAmake validate one final timessh "$SSH_USER@$HA_HOST" "source /etc/profile.d/claude-ha.sh; source ${HA_REMOTE_PATH:=/config/}.env; ha-api call automation reload"If the conversation ends mid-rename:
entity-renames.json tracks which renames have been completed© dcb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .claude/skills/entity-rename of dcb/homeassistant-claude-kit.
Open the folder on GitHubat commit c0d05e2
Entity Rename 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Entity Rename this skilldcb/homeassistant-claude-kit | 123 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Ha Frontend Galleryhome-assistant/frontend | 5.7k | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Ha Frontend Testinghome-assistant/frontend | 5.7k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Ha Frontend Typeshome-assistant/frontend | 5.7k | — | ~574 | Automated safety check: Pass | Apache-2.0 | |
| ImplementThank-you-Linus/Linus-Dashboard | 211 | — | ~1.5k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 |
home-assistant/frontend
Home Assistant frontend gallery structure, pages, demos, content, and verification.
home-assistant/frontend
Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.
home-assistant/frontend
Home Assistant frontend TypeScript conventions. An agent skill from home-assistant/frontend.
Thank-you-Linus/Linus-Dashboard
Implement approved plans with precision and quality for Linus Dashboard Home Assistant integration.
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/skills
Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.
dcb/homeassistant-claude-kit
Cut a new homeassistant-claude-kit version. An agent skill from dcb/homeassistant-claude-kit.
dcb/homeassistant-claude-kit
Run after setup-infrastructure to map rooms, entities, and preferences to the dashboard and automation templates.
dcb/homeassistant-claude-kit
Pull a newer homeassistant-claude-kit version into this (diverged) install, applying only the changes still relevant here.
Works with
Batch rename Home Assistant entities to follow a consistent naming convention. Entity Rename is an agent skill from dcb/homeassistant-claude-kit. Batch rename Home Assistant entities to follow a consistent naming convention.
Entity Rename fits situations like: phrases: rename entities; fix entity names; standardize entity IDs.
Run `npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a claude-code`. Or copy the skill folder (.claude/skills/entity-rename in dcb/homeassistant-claude-kit) into .claude/skills/entity-rename in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a codex`. Or copy the skill folder (.claude/skills/entity-rename in dcb/homeassistant-claude-kit) into .agents/skills/entity-rename in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dcb/homeassistant-claude-kit --skill entity-rename -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/entity-rename, .gemini/skills/entity-rename, .github/skills/entity-rename and .opencode/skills/entity-rename in your project.
Going by SKILL.md and its folder, Entity Rename needs the command-line tools its instructions call (ssh, make, python and python3) and credentials named HA_TOKEN. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Entity Rename is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 769 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Entity Rename: Ha Frontend Gallery (home-assistant/frontend, 5.7k stars), Ha Frontend Testing (home-assistant/frontend, 5.7k stars), Ha Frontend Types (home-assistant/frontend, 5.7k stars) and Implement (Thank-you-Linus/Linus-Dashboard, 211 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dcb (a GitHub user) maintains it in dcb/homeassistant-claude-kit, which has 123 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 2, 2026.
Source: dcb/homeassistant-claude-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.