ha-discovery-augment

ha-discovery-augment is a skill for Claude Code from nolte/claude-home-assistant. It costs 224 tokens per session (2,094 once invoked), scanned A, original, MIT.

A guided addition for an existing Home Assistant custom integration. Home Assistant is software for controlling smart-home devices; this adds one way for it to find a device on a network or bus.

In plain words
What is it for?
Use it to add DHCP, SSDP/uPnP, USB, HomeKit, or MQTT discovery, including the matching manifest entry and the configuration step that confirms the device.
Why use it?
It removes the need to manually enter a device address or choose the integration when the device can announce itself.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the claude-home-assistant plugin — 45 skills, 11 agents shipped together

Good fit Use it to add DHCP, SSDP/uPnP, USB, HomeKit, or MQTT discovery, including the matching manifest entry and the configuration step that confirms the device.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/nolte/claude-home-assistant/ha-discovery-augment
Install

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.

Any agent
npx skills add nolte/claude-home-assistant --skill ha-discovery-augment
Clone the repo
git clone --depth 1 https://github.com/nolte/claude-home-assistant

Made for: Claude Code.

Or install claude-home-assistant, the plugin that ships this one along with the rest of its 45 skills, 11 agents.

Wrote 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.

agentmods badge for ha-discovery-augment

README.md
[![agentmods](https://agentmods.dev/badge/skills/nolte/claude-home-assistant/ha-discovery-augment/github.svg)](https://agentmods.dev/skills/nolte/claude-home-assistant/ha-discovery-augment)
Your own site
<a href="https://agentmods.dev/skills/nolte/claude-home-assistant/ha-discovery-augment"><img src="https://agentmods.dev/badge/skills/nolte/claude-home-assistant/ha-discovery-augment/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ha-discovery-augment

Your own site · 80×15
<a href="https://agentmods.dev/skills/nolte/claude-home-assistant/ha-discovery-augment"><img src="https://agentmods.dev/badge/skills/nolte/claude-home-assistant/ha-discovery-augment.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 224 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,094 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00224 $0.02094
Opus 5 $0.00112 $0.01047
Sonnet 5 $0.00045 $0.00419
Haiku 4.5 $0.00022 $0.00209

Measured 12d ago against content hash 3e91ca3851b3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

ha-discovery-augment 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 12d 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.

skills/ha-discovery-augment/SKILL.md · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

HA Discovery Augment

Spec: spec/claude/ha-discovery-augment/en.md (EN canonical) / spec/claude/ha-discovery-augment/de.md (DE translation).

Why this is a skill, not an agent

  • Human-visible augmentation surface — the user describes how the device announces itself and reads back the manifest matcher, the config-flow step, and the conformance report; a skill keeps this on the visible command surface, like the sibling augment skills (ha-config-flow-augment, ha-coordinator-add, ha-repairs-add).
  • Mid-flow interactivity — the mechanism choice, the matcher narrowing, and the Zeroconf/Bluetooth redirect are per-run dialogues the user approves before generation.
  • Bounded, inline generation — one mechanism's manifest matcher plus its discovery step fit inline; no isolated agent context is needed.
  • Counter-dimension considered: the draft→validate loop could be an agent, but the mechanism decision and the report belong in the user's working context; skill wins.

When this skill activates

Use this skill to add one discovery mechanism — DHCP, SSDP/uPnP, USB, HomeKit, or MQTT — to an existing integration so the user doesn't have to type a host or pick the integration manually.

When NOT to activate

  • mDNS/Zeroconf discovery → ha/zeroconf-discovery (the scaffold already produces it)
  • Bluetooth discovery → separate sibling spec ha/bluetooth
  • greenfield integration scaffolding → ha-integration-scaffold
  • generic config-flow auth/selection steps → ha-config-flow-augment / ha/config-flow-patterns
  • deploying/importing into a running HA instance → out of scope

Hard rules

  1. One mechanism, one run. No multi-mechanism batches.
  2. Read spec/ha/discovery-mechanisms/en.md first. Do not generate from memory.
  3. Right mechanism, with delimitation. mDNS/Zeroconf → ha/zeroconf-discovery/scaffold; Bluetooth → ha/bluetooth. Redirect rather than augmenting the wrong one.
  4. Manifest matcher is a list of matcher dicts under the correct key (dhcp/ssdp/usb/homekit/mqtt); discovery fires when all items of any one matcher are present. Narrow generic OUI/bridge-chip matchers (e.g. add a description match for vid: 10C4/pid: EA60).
  5. Typed discovery step. Implement async_step_dhcp(self, discovery_info: DhcpServiceInfo) / async_step_ssdp(... SsdpServiceInfo) / async_step_usb(... UsbServiceInfo) / async_step_homekit(... ZeroconfServiceInfo) / async_step_mqtt(... MqttServiceInfo) in config_flow.py.
  6. Always confirm. Forward into a confirm step (async_step_discovery_confirm + self._set_confirm_only()) before async_create_entry — never an entry without user confirmation.
  7. Own the update path. Set await self.async_set_unique_id(<stable_id>) then self._abort_if_unique_id_configured(updates={CONF_HOST: host}); never a second entry on re-discovery. Canonical unique_id source per mechanism: DHCP → MAC (format_mac), SSDP → udn, USB → serial_number (else vid:pid), HomeKit → the accessory id, MQTT → a stable id from the discovery topic/payload. For DHCP IP-updates register the MAC (CONNECTION_NETWORK_MAC) and set registered_devices: true; for MQTT add mqtt to dependencies and await mqtt.async_wait_for_mqtt_client(hass) before subscribing. Add the config.abort.already_configured / already_in_progress strings to strings.json.
  8. Name per spec/ha/naming-conventions/en.md and verify HA internals against the official docs (see spec/ha/upstream-docs-verification/en.md).

Read the full file on GitHub · 110 lines

Changes

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.

  1. 12d ago First seen · 110 lines · 224 tokens per session scan A 3e91ca3851b3

Subscribe to this mod's changes

ha-discovery-augment is a skill published in the GitHub repository nolte/claude-home-assistant (1 stars, last pushed 1mo ago), licensed MIT. It adds 224 tokens to every session and 2,094 once invoked, about $0.0011 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.