ha-backup-platform-add
Augments an existing Home Assistant Custom Integration with one backup-platform surface — pre/post backup hooks or a backup agent — conforming to…
Skill by nolte
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nolte-ha-backup-platform-add
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ha-backup-platform-add
What's inside
- Skill name
ha-backup-platform-add- Description
- Augments an existing Home Assistant Custom Integration with one backup-platform surface — pre/post backup hooks or a backup agent — conforming to spec/ha/backup-platform. For hooks it generates backup.py with async_pre_backup/async_post_backup that symmetrically pause and resume stateful operations around a backup; for an agent it generates the agent listing and listener wiring plus a BackupAgent subclass implementing the full upload/download/list/get/delete contract with the mandated error handling; exact signatures live in the body and spec. Disambiguates hooks-vs-agent by integration type before generating. Activate on "add backup hooks", "make my integration backup-aware", "provide a backup agent", or equivalent German requests. Do not activate for greenfield scaffolding (ha-integration-scaffold), the sibling diagnostics module (ha-diagnostics-augment), encryption/retention/restore orchestration (owned by the backup manager), or deploying to a live HA instance.
- License
- MIT
- Instructions
- 84 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# HA Backup Platform Add Spec: `spec/claude/ha-backup-platform-add/en.md` (EN canonical) / `spec/claude/ha-backup-platform-add/de.md` (DE translation). ## Why this is a skill, not an agent - **Human-visible augmentation surface** — the user describes the integration type and reads back the `backup.py` module 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`, `ha-device-automation-add`). - **Mid-flow interactivity** — the hooks-vs-agent disambiguation is a per-run dialogue the user approves before generation. - **Bounded, inline generation** — one platform module (the two hook functions, or the agent class plus its registration) fits inline; no isolated agent context is needed. - Counter-dimension considered: the draft→validate loop could be an agent, but the surface decision belongs in the user's working context; skill wins. ## When this skill activates Use this skill to add **one** backup-platform surface — pre/post backup hooks (for DB-writing or stateful integrations) or a backup agent (for storage-providing integrations) — to an existing integration via its `backup.py` platform module. ## When NOT to activate - greenfield integration scaffolding → `ha-integration-scaffold` - the sibling diagnostics platform module → `ha-diagnostics-augment` - backup encryption, retention, scheduling, or restore orchestration → owned by the backup manager / HA core, out of scope - deploying/importing into a running HA instance → out of scope ## Hard rules 1. **One surface, one run.** Either pre/post hooks or a backup agent — no combined batch. 2. **Read `spec/ha/backup-platform/en.md` first.** Do not generate from memory. 3. **Disambiguate the surface.** Stateful / DB-writing integration → pre/post hooks; storage-providing (cloud-storage) integration → backup agent. When both apply, have the user pick the one this run augments. 4. **Hooks contract.** `async_pre_backup(hass: HomeAssistant) -> None` and `async_post_backup(hass: HomeAssistant) -> None` are top-level async functions; whatever `async_pre_backup` pauses, `async_post_backup` resumes. 5. **Agent registration.** `async_get_backup_agents(hass)` returns `list[BackupAgent]` and **must** return `[]` when no loaded config entry exists for the domain (`hass.config_entries.async_loaded_entries(DOMAIN)`). `async_register_backup_agents_listener(hass, *, listener, **kwargs)` is a `@callback` returning an unregister function; notify listeners during `async_setup_entry`. 6. **Agent contract.** The `BackupAgent` subclass (from `homeassistant.components.backup`) sets `domain`/`name`/`unique_id` and implements `async_upload_backup`, `async_download_backup`, `async_list_backups`, `async_get_backup`, and `async_delete_backup` — the full abstract interface. 7. **Error semantics.** Errors raise `BackupAgentError` (or a subclass) — no other exception leaves the agent; a missing backup raises `BackupNotFound` in `async_download_backup`/`async_delete_backup`/`async_get_backup`. Call the `on_progress` callback periodically in `async_upload_backup`. 8. **No backup-manager territory.** Never implement encryption, retention, scheduling, or restore orchestration; those belong to the backup manager or the core. 9. **Name per `spec/ha/naming-conventions/en.md`** and **verify HA internals against the official docs** (see `spec/ha/upstream-docs-verification/en.md`). ## Inputs | Field | Required | Default | Notes | |---|---|---|---| | `target_dir` | yes | — | repo root; `custom_components/<domain>/manifest.json` must exist | | `need` | yes | — | the integration type / backup need, in prose | | `surface` | no | inferred + confirmed | `hooks` / `agent` | | `name` / `unique_id` | no | derived | agent identity (agent surface only) | | storage / paused operations | no | asked when needed | storage binding (agent) or operations to pause (hooks) | If the user is silent on an optional field, use the default but state it explicitly. ## Pre-flight (in order — abort on first failure) 1. `target_dir/custom_components/<domain>/manifest.json` exists; read `domain`. 2. Resolve `surface` (infer + confirm). Disambiguate hooks vs. agent by integration type; when both apply, have the user pick the one for this run. 3. Read `ha/backup-platform`. 4. The targeted exports are not already declared in `backup.py`. If they are, abort. ## Workflow ### 1) Resolve and confirm State `domain`, the resolved `surface`, and (for an agent) the `name`/`unique_id` and storage binding in one paragraph. Wait for confirmation. ### 2) Generate | Surface | Module exports | |---|---| | hooks | `async_pre_backup(hass)` + `async_post_backup(hass)` (top-level async, symmetric pause/resume) | | agent | `async_get_backup_agents(hass)` (empty list without a loaded config entry) + `async_register_backup_agents_listener` (`@callback`) + a `BackupAgent` subclass (`domain`/`name`/`unique_id`, upload/download/list/get/delete, `BackupAgentError`/`BackupNotFound`) | Write to `custom_components/<domain>/backup.py`. Mention the `python3 -m script.scaffold backup` template as a quick start; the skill itself generates offline. ### 3) Validate and report Validate offline (`backup.py` present; for hooks both top-level functions exported; for an agent `async_get_backup_agents` + the listener `@callback` exported, the empty-list-without-entry guard present, the `BackupAgent` subclass sets the identity and implements the five methods, errors raise `BackupAgentError`/`BackupNotFound`). Emit a CONFORMANT / NEEDS-WORK report keyed to `ha/backup-platform` acceptance criteria, plus the changed file paths and the chosen surface. ### 4) No deploy The skill never deploys to a live HA instance. Surface the report and stop. ## Boundaries - Greenfield scaffold → `ha-integration-scaffold` - Sibling diagnostics module → `ha-diagnostics-augment` - Encryption / retention / scheduling / restore → backup manager / HA core, out of scope - Deploy to live HA → out of scope
From nolte/claude-home-assistant, MIT.
More from nolte/claude-home-assistant
- 0.497score
ha-conversation-agent-augment
nolte
Augments an existing Home Assistant Custom Integration with one or more Voice & AI surfaces — intent handlers, a conversation agent, and/or LLM API tools —…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-automation-solution
nolte
Plans and orchestrates a complete Home Assistant YAML solution from a result-oriented requirement, so the user never has to pick which authoring skill to use.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-badge-add
nolte
Adds a custom Lovelace badge to an existing Home Assistant frontend module, conforming to spec/ha/lovelace-badges.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-blueprint-scaffold
nolte
Scaffolds a single Home Assistant blueprint (automation, script, or template domain) as a self-contained, spec-conformant YAML file — by gathering the intent…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-bluetooth-augment
nolte
Augments an existing Home Assistant Custom Integration with Bluetooth support, conforming to spec/ha/bluetooth.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-card-editor-add
nolte
Adds an ha-form-based visual configuration editor to an existing custom Home Assistant Lovelace card, conforming to spec/ha/lovelace-card-editor.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-card-features-add
nolte
Augments an existing Home Assistant frontend module with one custom tile/card feature — the interactive control row rendered inside the tile card and other…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-automation-author
nolte
Authors one Home Assistant automation-logic or command artifact as spec-conformant YAML (or a sandboxed .py) from a described intent — an automation, script…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-card-sizing-determine
nolte
Determines the optimal size declaration for an existing custom Lovelace card or panel — getGridOptions() (sections) and getCardSize() (masonry/panel/stacks) —…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-config-entry-migrate
nolte
Adds or extend async_migrate_entry in an existing Home Assistant Custom Integration to migrate stored config entries across a schema change — bump…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-config-flow-augment
nolte
Augments an existing Home Assistant Custom Integration config flow with an additional pattern — multi-step tenant / account selection, zeroconf discovery…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-coordinator-add
nolte
Appends a new DataUpdateCoordinator to an existing Home Assistant Custom Integration — separate role, separate update interval, full integration with…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Jul 23, 2026 (3 months ago)
- Last release
- Jul 23, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/nolte/claude-home-assistant
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nolte
- 0.497score
ha-automation-solution
nolte
Plans and orchestrates a complete Home Assistant YAML solution from a result-oriented requirement, so the user never has to pick which authoring skill to use.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-badge-add
nolte
Adds a custom Lovelace badge to an existing Home Assistant frontend module, conforming to spec/ha/lovelace-badges.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-blueprint-scaffold
nolte
Scaffolds a single Home Assistant blueprint (automation, script, or template domain) as a self-contained, spec-conformant YAML file — by gathering the intent…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-bluetooth-augment
nolte
Augments an existing Home Assistant Custom Integration with Bluetooth support, conforming to spec/ha/bluetooth.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-card-editor-add
nolte
Adds an ha-form-based visual configuration editor to an existing custom Home Assistant Lovelace card, conforming to spec/ha/lovelace-card-editor.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ha-automation-author
nolte
Authors one Home Assistant automation-logic or command artifact as spec-conformant YAML (or a sandboxed .py) from a described intent — an automation, script…
SkillCFreshness: C★ 1Claude Code +9
Cite this page
ha-backup-platform-add skill. Agent Mart. https://agentmart.dev/skills/nolte-ha-backup-platform-add (last updated 2026-10-24)