Ha Android Concurrency
home-assistant/android
Home Assistant Android coroutine and threading guidance. An agent skill from home-assistant/android.
This skill should be used when helping with Home Assistant setup, including creating automations, modifying dashboards, checking entity states, debugging automations, and managing the smart home…
$ npx skills add sammcj/agentic-coding --skill home-assistant -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sammcj/agentic-coding home-assistant --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/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/home-assistant .claude/skills/home-assistant && 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 "home-assistant" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/home-assistant into .claude/skills/home-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant", 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/sammcj/agentic-coding/tree/main/Skills/home-assistantType 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 sammcj/agentic-coding --skill home-assistant -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sammcj/agentic-coding home-assistant --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Skills/home-assistant .agents/skills/home-assistant && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "home-assistant" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/home-assistant into .agents/skills/home-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant", 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 sammcj/agentic-coding --skill home-assistant -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sammcj/agentic-coding home-assistant --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Skills/home-assistant .cursor/skills/home-assistant && 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 "home-assistant" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/home-assistant into .cursor/skills/home-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant", 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/sammcj/agentic-coding.git --path Skills/home-assistant--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 sammcj/agentic-coding --skill home-assistant -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sammcj/agentic-coding home-assistant --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Skills/home-assistant .gemini/skills/home-assistant && 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 "home-assistant" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/home-assistant into .gemini/skills/home-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant", 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 sammcj/agentic-coding home-assistantInstalls 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 sammcj/agentic-coding --skill home-assistant -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .github/skills && cp -r skills-src/Skills/home-assistant .github/skills/home-assistant && 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 "home-assistant" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/home-assistant into .github/skills/home-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant", 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 sammcj/agentic-coding --skill home-assistant -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sammcj/agentic-coding home-assistant --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Skills/home-assistant .opencode/skills/home-assistant && 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 "home-assistant" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/home-assistant into .opencode/skills/home-assistant/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant", 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.
home-assistantThis skill should be used when helping with Home Assistant setup, including creating automations, modifying dashboards, checking entity states, debugging automations, and managing the smart home…
Home Assistant is an agent skill from sammcj/agentic-coding. This skill should be used when helping with Home Assistant setup, including creating automations, modifying dashboards, checking entity states, debugging automations, and managing the smart home configuration. Use this for queries about HA entities, YAML automation/dashboard generation, or troubleshooting HA issues.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts (for example `scripts/ha_call_service.py`, `scripts/ha_get_automations.py` and `scripts/ha_get_config.py`).
It sits in Development. It works with Home Assistant. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2f25ced. 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.
Ships 12 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From 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.
Home Assistant loads about 3.6k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,386 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 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); the scripts in this folder are not scanned.
The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 1,386 words, ~3,580 tokens.
.claude/skills/home-assistant/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.This skill provides tools and workflows for working with Home Assistant installations. It enables querying the live HA instance for entities, services, and configuration data, debugging automations, and generating YAML configurations for automations and dashboards.
Key Capabilities:
When helping with Home Assistant tasks, follow this general approach:
All scripts require the HA_TOKEN environment variable to be set, which contains the Home Assistant long-lived access token. The HA instance is available at http://homeassistant.local:8123.
Important: All scripts now use uv with inline PEP 723 dependency declarations and the homeassistant-api library for consistent, maintainable code. Dependencies are automatically installed by uv on first run.
ha_get_entities.py [domain]Retrieve all entities, optionally filtered by domain.
Usage:
uv run scripts/ha_get_entities.py # All entities
uv run scripts/ha_get_entities.py light # Just lights
uv run scripts/ha_get_entities.py sensor # Just sensorsWhen to use: To discover what entities are available, especially when building new automations.
ha_get_state.py <entity_id>Get the current state and attributes of a specific entity.
Usage:
uv run scripts/ha_get_state.py light.living_roomWhen to use: To check current state, available attributes, or confirm an entity exists.
ha_search_similar_entities.py <pattern>Search for entities matching a pattern in their entity_id or friendly_name.
Usage:
uv run scripts/ha_search_similar_entities.py "bedroom"
uv run scripts/ha_search_similar_entities.py "motion"
uv run scripts/ha_search_similar_entities.py "temperature"When to use: To find entities related to what the user wants to automate. This is especially useful for finding examples before creating new automations.
ha_get_automations.py [search_term]Retrieve all automations, optionally filtered by search term.
Usage:
uv run scripts/ha_get_automations.py # All automations
uv run scripts/ha_get_automations.py motion # Automations with 'motion'
uv run scripts/ha_get_automations.py light # Automations with 'light'When to use: To find existing automations that are similar to what the user wants to create. Use these as templates.
ha_list_traces.py [automation_id]List automation execution traces with timestamps and status.
Usage:
uv run scripts/ha_list_traces.py # All traces
uv run scripts/ha_list_traces.py 1761430536701 # Specific automation traces (using numeric ID)Important: Use the numeric automation ID (e.g., 1761430536701), not the full entity_id (e.g., automation.bedroom_light). You can find the numeric ID in the automation's attributes from ha_get_automations.py output.
When to use: To see recent automation runs, their status, and timing. Use this to identify which run IDs to investigate further.
Output includes:
ha_get_trace.py)ha_get_trace.py <automation_id> <run_id>Get detailed step-by-step trace for a specific automation run.
Usage:
uv run scripts/ha_get_trace.py 1761430536701 1ceef6b2b6f63a8745eb5dba3fe12f71Important: Use the numeric automation ID (e.g., 1761430536701), not the full entity_id.
When to use: To debug a specific automation run. Shows the complete execution path including:
Tip: Get the run_id from ha_list_traces.py output.
ha_trace_summary.py <automation_id>Get aggregated statistics for an automation's execution history.
Usage:
uv run scripts/ha_trace_summary.py 1761430536701Important: Use the numeric automation ID (e.g., 1761430536701), not the full entity_id.
When to use: To understand automation reliability and performance over time.
Output includes:
ha_get_services.py [domain]Get all available services with descriptions and field information.
Usage:
uv run scripts/ha_get_services.py # All services
uv run scripts/ha_get_services.py light # Just light services
uv run scripts/ha_get_services.py climate # Just climate servicesWhen to use: To discover what services are available and what parameters they accept.
ha_get_config.pyGet Home Assistant configuration including version, location, and components.
Usage:
uv run scripts/ha_get_config.pyWhen to use: To understand the HA setup, available integrations, or system information.
ha_get_config_entries.py [domain]Get Home Assistant config entries, optionally filtered by domain. This is essential for services that require a config_entry_id, such as telegram_bot.send_message.
Usage:
uv run scripts/ha_get_config_entries.py # All config entries
uv run scripts/ha_get_config_entries.py telegram_bot # Just Telegram bots
uv run scripts/ha_get_config_entries.py mqtt # Just MQTT entriesWhen to use: When you need to get config_entry_id for services like Telegram notifications, or to discover what integrations are configured.
ha_call_service.py <domain> <service> <json_data>Call a Home Assistant service (use with caution).
Usage:
uv run scripts/ha_call_service.py light turn_on '{"entity_id": "light.living_room"}'When to use: Rarely. Generally only for testing or when the user explicitly asks to control something.
ha_search_similar_entities.py to find relevant entitiesha_get_automations.py with search terms to find examplesuv run scripts/ha_get_state.py automation.automation_name to check:uv run scripts/ha_trace_summary.py <numeric_id> - Get success rate and common issuesuv run scripts/ha_list_traces.py <numeric_id> - See recent runsuv run scripts/ha_get_trace.py <numeric_id> <run_id> - Detailed step-by-step traceuv run scripts/ha_get_state.py to verify trigger entities are in expected statesuv run scripts/ha_get_automations.py to see the full automation detailsTrace-based Debugging Workflow:
# Step 1: Get the automation details to find the numeric ID
uv run scripts/ha_get_automations.py problem_automation
# Step 2: Check if automation has been running and get stats (use numeric ID from step 1)
uv run scripts/ha_trace_summary.py 1761430536701
# Step 3: List recent runs to find failing ones (use numeric ID)
uv run scripts/ha_list_traces.py 1761430536701
# Step 4: Get detailed trace for a specific failed run (use numeric ID)
uv run scripts/ha_get_trace.py 1761430536701 <run_id_from_step_3>
# Step 5: Examine the trace to see exactly where and why it failedTelegram notifications require using the telegram_bot.send_message service with a config_entry_id parameter (not the notify service pattern).
Workflow:
uv run scripts/ha_get_config_entries.py telegram_bot to find the config entry IDExample Automation with Telegram Notification:
alias: Example Telegram Alert
description: Send a Telegram notification when something happens
triggers:
- entity_id: binary_sensor.front_door
to: "on"
trigger: state
conditions: []
actions:
- action: telegram_bot.send_message
data:
message: "Front door opened at {{ now().strftime('%I:%M %p') }}"
config_entry_id: 01JZE11D7Y6B7C3WCARWVZRYNH # Get this from ha_get_config_entries.py
mode: singleNote: The config_entry_id is specific to your Telegram bot configuration. Always use uv run scripts/ha_get_config_entries.py telegram_bot to get the correct ID for your setup.
When generating YAML configurations, always:
The user must manually copy/paste generated YAML into Home Assistant. Make this clear and provide instructions:
If the user asks for screenshots of dashboards or wants to see the current UI state, the Playwright browser automation tools can be used to navigate to the HA instance and capture screenshots. The user will need to handle authentication.
Be cautious about calling services that change state. Generally only do this when explicitly requested by the user or for testing purposes.
All entities follow the pattern domain.object_id where common domains include:
light - Lightsswitch - Switchessensor - Sensors (read-only)binary_sensor - Binary sensors (on/off)climate - Thermostatsautomation - Automationsscript - Scriptsinput_boolean, input_number, input_select, input_text, input_datetime - Helper entitiesperson - Peopledevice_tracker - Device trackingcamera - Camerasmedia_player - Media playerscover - Covers (blinds, garage doors)fan - Fanslock - Locksstate - Entity state changesnumeric_state - Numeric value crosses thresholdsun - Sunrise/sunsettime - Specific timetime_pattern - Time pattern (every N minutes)event - HA event firedwebhook - Webhook triggerzone - Enter/leave zonedevice - Device-specific triggerstate - Entity state equals valuenumeric_state - Numeric comparisontime - Time windowsun - Before/after sunrise/sunsetzone - Person in zonetemplate - Template evaluationsingle - Don't start new run if already runningrestart - Restart automation if triggered while runningqueued - Queue runs if already runningparallel - Allow multiple simultaneous runs© sammcj, 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
SKILL.md and 12 other files (scripts) in Skills/home-assistant of sammcj/agentic-coding.
Open the folder on GitHubat commit 2f25ced
Home Assistant 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 |
|---|---|---|---|---|---|---|
| Home Assistant this skillsammcj/agentic-coding | 162 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Ha Android Concurrencyhome-assistant/android | 4k | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Releasekellerza/sunsynk | 339 | — | ~920 | Automated safety check: Pass | Apache-2.0 | |
| Netdaemon Nuget Upgradenet-daemon/netdaemon | 312 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Cca Assistanthvorragend/ha-blueprints | 170 | — | ~4.7k | Automated safety check: Pass | Custom licence | |
| Add Presence Personjohnkoht/hassio-config | 179 | — | ~1.3k | Automated safety check: Pass | None |
home-assistant/android
Home Assistant Android coroutine and threading guidance. An agent skill from home-assistant/android.
kellerza/sunsynk
Bump sunsynk version (major/minor/bugfix), rewrite the Unreleased changelog heading, commit, push to main, and open a draft GitHub release with a v-prefixed tag.
net-daemon/netdaemon
Upgrade all or selected NuGet packages in net-daemon/netdaemon with dotnet-outdated, validate the full solution, and optionally publish a dependency-update PR with gh-axi.
hvorragend/ha-blueprints
Expert assistant for developing and debugging the Cover Control Automation (CCA) Home Assistant blueprint.
johnkoht/hassio-config
Add a new person (or device) to Bermuda BLE room-presence tracking.
MichalZaniewicz/esphome-guition-jc3636k718c-va
Reference for building/editing ESPHome configs on the Guition JC3636K718C round knob display (ESP32-S3, 1.8" 360x360 ST77916, CST816 touch, rotary knob, PCM5100A DAC, PDM mic, WS2812 LED ring).
sammcj/agentic-coding
A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…
sammcj/agentic-coding
A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.
sammcj/agentic-coding
A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS
sammcj/agentic-coding
Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.
sammcj/agentic-coding
Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.
sammcj/agentic-coding
You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
Works with
Categories
This skill should be used when helping with Home Assistant setup, including creating automations, modifying dashboards, checking entity states, debugging automations, and managing the smart home…. Home Assistant is an agent skill from sammcj/agentic-coding. This skill should be used when helping with Home Assistant setup, including creating automations, modifying dashboards, checking entity states, debugging automations, and managing the smart home configuration.
Home Assistant fits situations like: development work in your project.
Run `npx skills add sammcj/agentic-coding --skill home-assistant -a claude-code`. Or copy the skill folder (Skills/home-assistant in sammcj/agentic-coding) into .claude/skills/home-assistant in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sammcj/agentic-coding --skill home-assistant -a codex`. Or copy the skill folder (Skills/home-assistant in sammcj/agentic-coding) into .agents/skills/home-assistant 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 sammcj/agentic-coding --skill home-assistant -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/home-assistant, .gemini/skills/home-assistant, .github/skills/home-assistant and .opencode/skills/home-assistant in your project.
Going by SKILL.md and its folder, Home Assistant needs Python for the scripts in its folder, the command-line tools its instructions call (uv) and credentials named HA_TOKEN. Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Home Assistant 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.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Home Assistant: Ha Android Concurrency (home-assistant/android, 4k stars), Release (kellerza/sunsynk, 339 stars), Netdaemon Nuget Upgrade (net-daemon/netdaemon, 312 stars) and Cca Assistant (hvorragend/ha-blueprints, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.
Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.