一键导入
ha-evening-brief
Evening house brief — end-of-day security check, device status, and energy snapshot. Runs as a daily routine at 22:30 or on demand.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Evening house brief — end-of-day security check, device status, and energy snapshot. Runs as a daily routine at 22:30 or on demand.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Reflect on recent work and propose improvements if patterns are noticed.
Schedules routines via one persistent Monitor subprocess (zero-token skips); CronCreate fallback where Monitor is unavailable. heartbeat-restart stays a CronCreate re-arm anchor.
Initializes the autonomous agent in the current project. Creates the state directory, templates, OPERATOR.md, and config.json. Appends session discipline to CLAUDE.md. Detects installed hermits. Run once per project, like git init.
Morning house brief — live status, overnight anomalies, energy snapshot, pending proposals, and today's priorities. Runs as a daily routine or on demand.
Read site deployment logs, server logs, site application/nginx logs, background process logs, and specific deployment logs from Laravel Forge. Includes a triage mode that bundles recent logs with deployment history for rapid incident analysis. Triggers on "show logs", "read logs", "deployment log", "server log", "what happened to the deployment", "triage failing site".
Bump a plugin's version, write a detailed changelog entry for the upgrade skill to consume, and commit+push. Takes a plugin slug argument identifying which plugin under `plugins/` to release. Use this skill whenever the user says "release", "version bump", "cut a release", "changelog and push", or finishes a set of changes and wants to ship them. Also trigger when the user says "do the release thing" or asks to prepare changes for hermits to pick up.
| name | ha-evening-brief |
| description | Evening house brief — end-of-day security check, device status, and energy snapshot. Runs as a daily routine at 22:30 or on demand. |
| allowed-tools | ["Bash","Read","Glob","Grep","Write","mcp__homeassistant__GetLiveContext","mcp__homeassistant__GetDateTime"] |
An end-of-day house check that confirms the house is secure before night. Designed to run as the evening-brief routine at 22:30.
When both claude-code-hermit and claude-code-homeassistant-hermit are installed and evening-brief is enabled, this skill subsumes /claude-code-hermit:brief --evening — operators should disable the core evening routine to avoid duplicate ~22:30 notifications. For hermits without HA, /claude-code-hermit:brief --evening remains the standalone path.
Time & context — Call GetDateTime for current time. Read .claude-code-hermit/OPERATOR.md for language preferences.
Live house snapshot — Call GetLiveContext. Extract and organize:
Anomalous sensors — From the live snapshot, identify currently unavailable, stuck, or unexpected-state sensors. Report only what is currently wrong — no baseline diff required.
3a. Pending updates: Run ${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha updates and capture stdout. Branch on its content (the command always exits 0 — never branch on exit code):
(skipped: — log a single line to SHELL.md ## Monitoring (updates fetch failed: <detail after "skipped:">) and omit the Updates: section entirely.(no updates pending) — omit the Updates: section entirely.[tier] Title: installed → latest) plus the HACS count line, translating tier labels into the operator's language. No proposal-id lookup here (unlike the morning brief). If more than 3 individual updates are pending, list the 3 highest-tier (Core, then OS, then Supervisor, then add-ons) and collapse the rest into the line "+ N more updates pending" to keep the section from blowing the line cap below.Energy snapshot — From the live context, pull current power draw and day's energy consumption if HA energy entities exist. Omit this section if no energy sensors are available.
Compose brief — Write a concise evening brief in the operator's language (from OPERATOR.md). Use the format below.
Write to compiled/ — Write the composed brief to .claude-code-hermit/compiled/brief-evening-<YYYY-MM-DD>.md with frontmatter:
title: "Evening Brief — <YYYY-MM-DD>"
type: brief
created: <ISO8601>
session: <session_id from runtime.json, or null if absent>
tags: [evening-brief, ha]
Then append the following line to .claude-code-hermit/sessions/SHELL.md under a ### Artifacts produced this session subsection in ## Monitoring (create the subsection if absent):
- [[compiled/brief-evening-<YYYY-MM-DD>]]
This citation is lifted into ## Artifacts when /claude-code-hermit:session-close archives the session.
Good evening! Home - [date]
Security:
- [alarm state, lock states, open covers — or "All secure"]
Devices:
- [robovac status, lights left on — or "All clear"]
Sensors:
- [currently unavailable or anomalous — or "None"]
Updates:
- [tier] Title: installed → latest
- [N HACS updates pending]
- [Omit section entirely when none pending or the fetch was skipped.]
Energy:
- [day's consumption, current draw — omit section when unavailable]
Keep the entire brief under 14 lines (10 when the Updates: section is absent — no updates pending or the fetch was skipped). Adapt the greeting and section headers to the operator's configured language.
config.always_on is true in .claude-code-hermit/config.json: deliver the composed brief via the Operator Notification protocol in CLAUDE.md (core resolves the channel and falls back to push / SHELL.md logging when no channel is reachable). The terminal is unmonitored in always-on mode — never gate delivery on session_state. For the push-fallback branch, condense to a single line (≤200 chars, no markdown): lead with the security verdict (open doors, unlocked, open windows) or secure, then any anomaly. Example: House secure, garage door still open — open CC to view.