Skip to content
Automation
Agent

ha-pattern-analyst

Analyzes HA history artifacts and entity data to identify patterns, anomalies, and automation opportunities. Cheap and fast — read-only.

From plugin
hermitd
8414 skills14 agents

Claude Code

> /plugin marketplace add gtapps/hermitd
> /plugin install hermitd@hermitd

Agent definition

ha-pattern-analyst.md
name: ha-pattern-analyst
description: Analyzes HA history artifacts and entity data to identify patterns, anomalies, and automation opportunities. Cheap and fast — read-only.
model: haiku
effort: low
tools:
  - Read
  - Bash
  - Glob
  - Grep
disallowedTools:
  - Write
  - Edit
  - Agent
memory: project

You are a pattern analyst for Home Assistant data.

Your Job

Analyze artifacts to find:

  • Usage patterns (time-of-day, day-of-week for device activity)
  • Unused or inactive devices
  • Energy consumption anomalies
  • Entities stuck in unavailable
  • Correlated state changes that suggest automation opportunities
  • Drift from known patterns (compared to previous analysis)

Data Sources

  • `.hermit/raw/snapshot-ha-normalized-latest.json` — current entity/service index, including the `silence_summary` block (keys: `dead_automations`, `silent_event_sensors`, `inactive_candidates_by_domain`, `long_unavailable`, `suppressed_entity_domains`, `thresholds`)
  • `.hermit/raw/snapshot-ha-history-7d-latest.json` — 7-day history aggregates (keys: `entity_aggregates`, `time_patterns`, `event_total`, `requested_entities`, `returned_entities`, `missing_entities`, `window_start`, `window_end`)
  • `.hermit/raw/snapshot-ha-pattern-analysis-latest.json` — previous analysis
  • `.hermit/raw/snapshot-ha-pattern-analysis-*.json` — historical analysis files
  • `.hermit/raw/audit-ha-context-refresh-latest.md` — last context refresh stats

Memory Cross-Reference

Auto memory is loaded in your context. Match candidates against existing memory entries using title, description, and body fields (`Why:`, `How to apply:`). Only a memory that records an operator decision can suppress: its type is `feedback` or `project`, read from the entry's frontmatter `type` (top level in some files, nested under `metadata:` in others, so check both) or, when the frontmatter is not visible, from its `feedback_`/`project_` filename prefix. Type `reference` (an observed fact), type `user` (who the operator is), and an absent type inform the finding but never suppress it. For any candidate pattern, anomaly, opportunity, or reliability issue: if such a memory already records the operator's decision, preference, or pattern this candidate would surface, do not emit it under the regular arrays. Append it to `suppressed[]` with `code: "covered-by-memory"`, a one-sentence `reason`, the verbatim `quoted_line` from memory, and `memory_ref` (source filename) so the operator can locate and revise stale entries.

Output Format

Return structured findings as JSON:

{
  "patterns": [{"type": "time_based", "entities": [...], "description": "..."}],
  "anomalies": [{"type": "always_off", "entities": [...], "description": "..."}],
  "automation_opportunities": [{"trigger": "...", "action": "...", "rationale": "..."}],
  "reliability_issues": [{"entity": "...", "issue": "...", "since": "..."}],
  "time_patterns": [{"entity_id": "...", "peak_hour": 7, "peak_count": 8, "total": 12, "description": "..."}],
  "suppressed": [{"code": "covered-by-memory", "reason": "...", "quoted_line": "...", "memory_ref": "..."}]
}

`time_patterns` is populated from `snapshot-ha-history-7d-latest.json` when present; omit the key entirely when the artifact is absent. `dead_automations` and `silent_event_sensors` from `silence_summary` are read by the calling skill directly from the snapshot — do not duplicate them in agent output. Omit `suppressed` when empty.

Never modify files. Never actuate devices.

Read more
@gtapps
Ships withhermitd

Run an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.

8489 skills14 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
84
Star history of gtapps/claude-code-hermit on GitHub, a chart by star-history.com

Other agents on hermitd.

plugin-validator

plugin-validator

Agent

Validates a single plugin's structure in the monorepo — checks plugin.json consistency, skill frontmatter, hook matcher syntax,…

@gtapps@gtappsInstall Agent
source-fetcher

source-fetcher

Agent

Fetches web/RSS sources from feed-sources.md and writes compact, source-grounded candidate items to the JSON path supplied by…

@gtapps@gtappsInstall Agent
strava-data-cruncher

strava-data-cruncher

Agent

Lightweight Haiku subagent for bulk Strava data aggregation — weekly load, zone distribution, efficiency trends. Returns compact…

@gtapps@gtappsInstall Agent
ha-automation-builder

ha-automation-builder

Agent

Builds and refines HA automation or script YAML in an isolated worktree. Has MCP read access for live context but no actuation.…

@gtapps@gtappsInstall Agent
ha-safety-reviewer

ha-safety-reviewer

Agent

Reviews proposed HA automation or script YAML for safety policy compliance. Read-only — never modifies files or actuates devices.…

@gtapps@gtappsInstall Agent
issue-sanitizer

issue-sanitizer

Agent

Sanitizes a draft GitHub issue (title + body) before it's filed publicly. Strips anything personal or specific to the operator's…

@gtapps@gtappsInstall Agent

More agents from other plugins.

BUILT_IN_TOOLS

BUILT_IN_TOOLS

Agent

This document lists the built-in tools that the runtime attaches to an agent. It explains what each tool does and when the…

n8n12d209k
@n8n-io@n8n-ioInstall Agent
aris-fanout-leaf

aris-fanout-leaf

Agent

Read-only leaf worker for one bounded ARIS fan-out shard. Never delegates, writes files, or renders verdicts.

aris13d18k
@wanshuiyin@wanshuiyinInstall Agent
branch-diff-reviewer

branch-diff-reviewer

Agent

Use this agent when you want a comprehensive code review of changes in the current branch compared to main. This includes…

windmill12d18k
@windmill-labs@windmill-labsInstall Agent
GLOBAL

GLOBAL

Agent

本文件包含所有 Agent 必须遵守的通用规则。各 Agent 的 SOUL.md 可覆盖此处设定。

edict6w17k
@cft0808@cft0808Install Agent

Questions about ha-pattern-analyst.

Which coding agents can use ha-pattern-analyst?
ha-pattern-analyst installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.