Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/vironnimo/vbot/home-assistantnpx skills add Vironnimo/vbot --skill home-assistantgit clone --depth 1 https://github.com/Vironnimo/vbotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vironnimo/vbot/home-assistant)<a href="https://agentmods.dev/skills/vironnimo/vbot/home-assistant"><img src="https://agentmods.dev/badge/skills/vironnimo/vbot/home-assistant.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00083 | $0.01167 |
| Opus 5 | $0.00042 | $0.00583 |
| Sonnet 5 | $0.00017 | $0.00233 |
| Haiku 4.5 | $0.00008 | $0.00117 |
Grade A, and why
home-assistant scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Home Assistant
Assume the Home Assistant connection is already configured and working. Do not guide connection setup or token creation. Use the four ha_* Tools for entity discovery, state inspection, service discovery, and ordinary device control; use the bundled WebSocket script only for deeper configuration that those Tools do not cover.
Script contract
- Run
python {baseDir}/scripts/ha_ws.py --helpbefore first use. - Include
HASS_TOKENinbash.env_keyson every script call. The script reads it directly and has no token argument; never place the value in a command, file, or output. - The script defaults to the bundled extension's standard Home Assistant URL. For an already-configured nondefault instance, pass its existing base URL with global
--url; never change connection settings as part of this Skill. - Keep task files under
tmp/home-assistant/<task>/. Store exported configs, proposed configs, and backups there unless the user requests a durable location. - Treat script JSON output as data. A nonzero exit code or
"ok": falsemeans the operation did not complete.
Dashboard workflow
- Discover real entity ids and capabilities with
ha_list_entitiesandha_get_state. Use the script's read-onlycallcommand for area, floor, device, label, or entity registries when the dashboard needs those relationships. - Run
dashboard-list, then export the target withdashboard-export. Never design against guessed entities or overwrite a dashboard that has not been exported in the current task. - Read references/dashboard-design.md when composing or substantially restructuring dashboard JSON. Preserve unknown existing keys unless the requested change removes them.
- Write the proposed JSON to a new task-local file and run
dashboard-validate. - Run
dashboard-applywithout--applyfirst. Use the SHA-256 returned by the fresh export as--expected-sha256. - When the user requested the change, rerun the same command with
--applyand a new--backuppath. The script refuses races, creates the backup before saving, and verifies the stored config afterward. - Export once more and summarize the changed views, cards, and backup path. Do not claim visual quality without asking the user to inspect the rendered Home Assistant dashboard on its intended desktop or mobile display.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 64 lines · 83 tokens per session scan A f8cd534ebaa7
home-assistant is a skill published in the GitHub repository Vironnimo/vbot (1 stars, last pushed today), licensed Apache-2.0. It adds 83 tokens to every session and 1,167 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
frontend-code-review
Use only when the user explicitly requests a review or audit of frontend code under web/ or packages/dify-ui/. Supports pending-change, file-focused, and pasted-diff reviews. Do not use for implementation-only requests, diagnosis without review intent, or backend-only code.
how-to-write-component
Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data flow, effects, or interaction ownership. Do not use for review-only requests, test-only work, copy-only edits, or styling-only changes.
backend-code-review
Use only when the user explicitly requests a review or audit of backend code under api/. Supports pending-change, file-focused, and pasted-diff reviews. Do not use for implementation-only requests, diagnosis without review intent, frontend code, or backend code outside api/.
e2e-cucumber-playwright
Use when writing, changing, or reviewing Cucumber and Playwright tests under e2e/, including feature files, step definitions, support code, scenario tags, locators, and assertions. Do not use for Vitest, React Testing Library, backend tests, or generic browser automation outside the E2E suite.
frontend-testing
Use when writing or changing Vitest or React Testing Library tests under web/ or packages/dify-ui/, or when the user explicitly requests frontend test strategy, including evaluation of an existing strategy. Do not use for frontend code-review-only requests, general testability discussion, Python tests, or…
e2e-summary-skill
Summarize user input for Agent Builder E2E coverage.