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

MITAuto-check passedFrontend & Design

Install Hass Sync

skills CLI
$ npx skills add homeassistant-extras/device-card --skill hass-sync -a claude-code

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

GitHub CLI
$ gh skill install homeassistant-extras/device-card hass-sync --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/homeassistant-extras/device-card.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/hass-sync .claude/skills/hass-sync && 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
hass-sync
GitHub stars
130
Token cost
~1.4k tokens
SKILL.md length
487 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 3 steps: Verify File Locations → Verify Code Matches Upstream → Identify Unused Code
  • Working with src/hass files
  • SKILL.md covers Upstream Source, Core Tasks, Workflow and GitHub URL Pattern, plus 2 more sections
  • Calls git; reaches github.com

What it does

Hass Sync is an agent skill from homeassistant-extras/device-card. Maintains synchronization between src/hass folder and Home Assistant frontend source code. Verifies file locations, checks code matches upstream, and identifies unused code. Use when working with src/hass files, syncing Home Assistant code, or verifying code synchronization.

Its SKILL.md is about 1.4k 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, GitHub and Git. The repository describes itself as: Device Card to summarize device information in Home Assistant. The licence is MIT.

When your agent uses it

  • Working with src/hass files
  • Syncing Home Assistant code
  • Verifying code synchronization

Example prompts

  • “Use the hass-sync skill to maintain synchronization between src/hass folder and Home Assistant frontend source code”
  • “/hass-sync”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Verify File Locations
  2. Verify Code Matches Upstream
  3. Identify Unused Code

What it can do on your machine

Read from SKILL.md and the folder at commit 3424f04. 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:

    • git

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    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

Hass Sync loads about 1.4k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 487 words of instructions outside code blocks.

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

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 homeassistant-extras/device-card at commit 3424f04, republished under its MIT licence (© homeassistant-extras). 487 words, ~1,391 tokens.

Download SKILL.mdSave it as .claude/skills/hass-sync/SKILL.md (or your agent's skills folder).
name
hass-sync
description
Maintains synchronization between src/hass folder and Home Assistant frontend source code. Verifies file locations, checks code matches upstream, and identifies unused code. Use when working with src/hass files, syncing Home Assistant code, or verifying code synchronization.

Home Assistant Code Synchronization

Maintains the src/hass folder which contains minimal code copied from Home Assistant frontend (home-assistant/frontend). Each file has a GitHub link comment at the top for reference.

Upstream Source

The upstream Home Assistant frontend is cloned locally at:

  • Path: ../frontend/ (relative to device-card project root)
  • Full path: /Users/patrickmasters/Desktop/src.nosync/homeassistant/frontend/
Keeping Upstream Updated

Before comparing, ensure the local frontend clone is up to date:

  1. Check git status:

    bash
    cd ../frontend && git status
  2. Check if behind upstream:

    bash
    cd ../frontend && git fetch && git status
  3. Update if needed:

    • Ask user: "Frontend clone may be outdated. Pull latest changes?"
    • If yes: cd ../frontend && git pull
    • If no: Proceed with current state (user may want to compare against specific version)

The agent can ensure latest or ask for a git pull before comparisons.

Core Tasks

1. Verify File Locations

Check if files are in the correct location relative to upstream:

  1. Extract GitHub URLs from file comments:

    typescript
    /**
     * https://github.com/home-assistant/frontend/blob/dev/src/common/const.ts
     */

    → Expected local path: src/hass/common/const.ts → Upstream path: ../frontend/src/common/const.ts

  2. Path mapping rule:

    • Upstream: ../frontend/src/[path]
    • Local: src/hass/[path]
  3. Check for moved files:

    • If GitHub URL path doesn't match current file location → flag as moved
    • Verify if upstream file still exists at that path in local clone
    • Action: Move the file in this project to match upstream structure (not just update the URL)
2. Verify Code Matches Upstream

Ensure copied code matches upstream as closely as possible:

  1. Read upstream content from local frontend clone:
    • Extract path from GitHub URL comment
    • Read file from ../frontend/src/[path]
  2. Compare structure:
    • Export order (should match)
    • Function/class order (should match)
    • Import order (can differ if using local paths)
  3. Identify intentional changes:
    • Look for comments like // MODIFIED: or // CHANGED:
    • Check if imports use @hass/ paths (local) vs original paths
  4. Flag differences:
    • Reordered exports/functions
    • Missing code from upstream (unless intentional - e.g., partial types)
    • Extra code not in upstream
    • Code improvements without documentation comments
Show full SKILL.md (186 more words)Show less
3. Identify Unused Code

Ensure unnecessary code isn't copied:

  1. Check imports:
    • Search project for usage of imported symbols
    • Flag unused imports
  2. Check exports:
    • Search project for usage of exported symbols
    • Flag unused exports (unless they're re-exported for convenience)
  3. Check internal code:
    • Functions/types only used internally in hass folder
    • Verify they're actually needed by other hass files

Workflow

When syncing a file:
1. Ensure frontend clone is up to date (ask user or check git status)
2. Extract GitHub URL from comment
3. Map to local upstream path: ../frontend/src/[path]
4. Read upstream content from local clone
5. Compare:
   - [ ] File location matches expected path
   - [ ] Code structure matches (order, exports)
   - [ ] No unintentional changes
   - [ ] All imports/exports are used
6. Report findings
When checking all files:
1. Ensure frontend clone is up to date (ask user or check git status)
2. Scan all files in src/hass/
3. For each file:
   - Extract GitHub URL
   - Map to upstream path: ../frontend/src/[path]
   - Verify location
   - Check if upstream file exists in local clone
   - Read and compare content structure
   - Check usage
4. Generate report:
   - Files in wrong location
   - Files with mismatched content
   - Files with unused code
   - Files that may have moved upstream

GitHub URL Pattern

Files follow this pattern:

typescript
/**
 * https://github.com/home-assistant/frontend/blob/dev/src/[path]
 */

Path mapping:

  • GitHub URL path: src/[path]
  • Local file: src/hass/[path]
  • Upstream file: ../frontend/src/[path]

The GitHub URL is kept for reference, but comparisons use the local frontend clone.

Intentional Modifications

Files may have intentional changes:

  • Import paths changed to use @hass/ aliases
  • Comments added with // MODIFIED: or // CHANGED:
  • Partial code copied (only needed parts)
  • Code improvements: Intentional improvements (e.g., SonarQube code smell cleanups) should be documented with comments explaining they are intentional
  • Minimal types: Types/interfaces can be minimal or partial - only include fields that are actually used in this project

Always respect intentional modifications - only flag unintentional differences.

Usage Examples

Check a specific file:

Verify src/hass/data/entity.ts matches upstream

Check all files:

Audit all files in src/hass for sync issues

Find unused code:

Find unused imports/exports in src/hass

Verify file locations:

Check if any files need to be moved due to upstream changes

© homeassistant-extras, MIT. 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 .claude/skills/hass-sync of homeassistant-extras/device-card.

Open the folder on GitHubat commit 3424f04

Compare with similar skills

Hass Sync 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.

Hass Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hass Sync this skillhomeassistant-extras/device-card130—~1.4kAutomated safety check: PassMIT
Publish AI Sitebubblevv/ai-api-gongyi-nav100—~959Automated safety check: PassNone
Releasedcb/homeassistant-claude-kit123—~3.1kAutomated safety check: PassMIT
Fix GitHub IssueAgnosticUI/agnosticui827—~751Automated safety check: PassApache-2.0
Releaservdbreemen/OTGW-firmware207—~2.5kAutomated safety check: PassGPL-3.0
Oss Readyluongnv89/skills131—~2.6kAutomated safety check: NotesMIT

Similar skills

  • Publish AI Site

    bubblevv/ai-api-gongyi-nav

    A skill your agent uses when adding or publishing an AI API public-benefit or relay-site listing from promotional copy in this repository, including validating the referral link, regenerating the…

    100 GitHub stars~959 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Release

    dcb/homeassistant-claude-kit

    Cut a new homeassistant-claude-kit version. An agent skill from dcb/homeassistant-claude-kit.

    123 GitHub stars~3.1k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Fix GitHub Issue

    AgnosticUI/agnosticui

    Fix a GitHub issue by number. An agent skill from AgnosticUI/agnosticui.

    827 GitHub stars~751 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Release

    rvdbreemen/OTGW-firmware

    Prepare and execute a full OTGW-firmware release following the documented release process

    207 GitHub stars~2.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Oss Ready

    luongnv89/skills

    Transform a project into a professional open-source repository by adding LICENSE, README, CONTRIBUTING, CODEOFCONDUCT, SECURITY, and GitHub issue/PR templates.

    131 GitHub stars~2.6k tokensUpdated today
    Frontend & DesignAuto-check: notes
  • Wiki Manager

    Community-Access/accessibility-agents

    GitHub wikis: create, edit, organize and search pages from the editor.

    423 GitHub stars~911 tokensUpdated 16 days ago
    Frontend & DesignAuto-check passed

More from homeassistant-extras/device-card

  • GitHub Issue Solver

    homeassistant-extras/device-card

    Accept a GitHub issue URL or issue details, create a comprehensive plan (in plan mode - shows plan first), then implement the solution including tests and documentation, create/update release notes…

    130 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed

Questions about Hass Sync

What does Hass Sync do?

Maintains synchronization between src/hass folder and Home Assistant frontend source code. Hass Sync is an agent skill from homeassistant-extras/device-card. Maintains synchronization between src/hass folder and Home Assistant frontend source code.

When should I use Hass Sync?

Hass Sync fits situations like: working with src/hass files; syncing Home Assistant code; verifying code synchronization.

How do I install Hass Sync in Claude Code?

Run `npx skills add homeassistant-extras/device-card --skill hass-sync -a claude-code`. Or copy the skill folder (.claude/skills/hass-sync in homeassistant-extras/device-card) into .claude/skills/hass-sync in your project. Claude Code loads it when a task matches its description.

How do I install Hass Sync in Codex?

Run `npx skills add homeassistant-extras/device-card --skill hass-sync -a codex`. Or copy the skill folder (.claude/skills/hass-sync in homeassistant-extras/device-card) into .agents/skills/hass-sync in your project. Codex loads it when a task matches its description.

Can I use Hass Sync 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 homeassistant-extras/device-card --skill hass-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hass-sync, .gemini/skills/hass-sync, .github/skills/hass-sync and .opencode/skills/hass-sync in your project.

What does Hass Sync need to run?

Going by SKILL.md and its folder, Hass Sync needs the command-line tools its instructions call (git).

Does Hass Sync access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Hass Sync 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 Hass Sync use?

Hass Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hass Sync use?

About 1.4k tokens (SKILL.md is roughly 5.6k 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 Hass Sync?

Skills that share tags, products or a category with Hass Sync: Publish AI Site (bubblevv/ai-api-gongyi-nav, 100 stars), Release (dcb/homeassistant-claude-kit, 123 stars), Fix GitHub Issue (AgnosticUI/agnosticui, 827 stars) and Release (rvdbreemen/OTGW-firmware, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hass Sync?

homeassistant-extras (a GitHub organization) maintains it in homeassistant-extras/device-card, which has 130 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.

Source: homeassistant-extras/device-card on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.