You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.0 KiB
5.0 KiB
Bear Stone Smart Home Documentation
Be sure to ⭐ my configuration repo so you can keep up to date on any daily progress!
HA YAML DRY Verifier (Codex Skill)
This directory contains the homeassistant-yaml-dry-verifier skill and the CLI used to detect repeated YAML structures in Home Assistant automations/scripts/packages.
Quick navigation
- You are here:
codex_skills/homeassistant-yaml-dry-verifier/ - Repo overview | Codex skills | Packages | Scripts
What This Skill Does
- Detects repeated
trigger,condition,action, andsequenceblocks. - Detects repeated entries inside those blocks.
- Detects duplicate entries within a single block (
INTRA). - Detects package-defined scripts called from multiple files (
CENTRAL_SCRIPT). - Collapses noisy ENTRY reports when they are already fully explained by an identical
FULL_BLOCKfinding. - Adds workflow guardrails for automation refactors that rename/remove entity references or introduce cleanup behavior: stale-reference checks, dry-run/preview expectations, explicit confirmation, and audit/backup output.
CLI Usage
Run on one file:
python codex_skills/homeassistant-yaml-dry-verifier/scripts/verify_ha_yaml_dry.py config/packages/bearclaw.yaml
Run on broader scope:
python codex_skills/homeassistant-yaml-dry-verifier/scripts/verify_ha_yaml_dry.py config/packages config/script
Strict mode (non-zero exit if findings exist):
python codex_skills/homeassistant-yaml-dry-verifier/scripts/verify_ha_yaml_dry.py config/packages config/script --strict
Output Model
The CLI prints:
- Scan summary counts
FULL_BLOCKfindingsENTRYfindingsINTRAfindingsCENTRAL_SCRIPTfindings
Exit codes:
0: success (or findings in non-strict mode)1: findings present in strict mode2: parse/path errors
Notes
- This verifier intentionally keeps text output and a small CLI surface.
- It does not implement suppression files, severity scoring, JSON output, or diff-only mode.
- It is not an orphan entity cleaner and should not delete Home Assistant registry entries during normal DRY runs.
- Treat generic
unavailable, disabled, or no-config_entry_identities as audit signals only; YAML, helper, REST, command-line, MQTT, finance, YouTube, and local infrastructure telemetry can be intentional. - Use it as a fast pre-refactor signal and pair with Home Assistant config validation before restart/reload.
All of my configuration files are tested against the most stable version of home-assistant.
