用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Tzeusy/butlers --skill environment-report命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Guide for discovering, analyzing, and pruning the Butlers test suite. Use when working on test condensation beads (Phase 1 epic bu-rhztl and Phase 2 epic bu-hg8rl both CLOSED; Phase 3 maintenance cycle underway 2026-06-21), assessing test bloat, identifying pruning targets, or rewriting tests to be contract-driven. Triggers on test reduction, test pruning, test consolidation, or condensation tasks for this project. Also use when a fresh session needs to assess test health, create new condensation beads, or resume in-progress condensation work.
Generate a weekly home energy digest with trends, top consumers, and recommendations.
Orchestrate a UX redesign of a Butlers dashboard page (or sub-page set) using /project-direction as the spec+beads engine, with redesign-specific upfront phases for vision capture, asset ingestion, impact analysis, backend-contract derivation, LLM-cost feasibility, manifesto/identity preservation, and a th-design design-bar audit. The binding design language is the Dispatch spec (openspec/specs/dashboard-design-language/spec.md); bundles live under pr/overview/ and resolve via references/bundle-registry.md. Use when asked to redesign a dashboard page, with or without a Claude Design bundle. Triggers on "redesign the X page", "plan the Y redesign", "integrate the redesign bundle", "what would it take to ship the SLUG redesign", "design language integration for AREA".
正在显示 SKILL.md
基于 SOC 职业分类
| name | environment-report |
| description | Generate a daily home environment report from Home Assistant sensor readings. |
Generate and send a daily home environment report every morning at 8am. Check temperature,
humidity, air quality, and lighting levels across all rooms, compare against the user's stored
comfort preferences, and flag any out-of-range conditions with actionable recommendations.
Deliver via notify(channel="telegram", intent="send").
Use this skill when:
environment-report scheduled task fires (cron: 0 8 * * *, daily at 08:00)ha_list_areas() to get all configured Home Assistant areas (rooms).ha_list_entities(domain="sensor") to get all sensor entities.temperature in name/entity_idhumidity in name/entity_idair_quality, co2, pm25, voc in nameilluminance, lux, light_level in nameFor each room with sensors, call ha_get_entity_state() on each relevant sensor:
ha_get_entity_state(entity_id="sensor.living_room_temperature")
ha_get_entity_state(entity_id="sensor.living_room_humidity")
ha_get_entity_state(entity_id="sensor.bedroom_temperature")
# etc. for all rooms with sensors
Collect readings as a room-by-room map:
{
"living_room": {"temperature": 72, "humidity": 48, "co2": 650},
"bedroom": {"temperature": 68, "humidity": 52},
"kitchen": {"temperature": 74, "humidity": 55, "air_quality": "good"},
...
}
For each room, retrieve stored preferences:
memory_recall(subject=<room_name>, predicate="comfort_preference")
Also check for time-specific preferences (morning context):
memory_recall(subject="morning", predicate="comfort_preference")
If no preferences are stored for a room, use healthy default ranges:
For each room and metric, evaluate:
For each flagged condition, compose a concrete recommendation:
Limit to 3 most important recommendations to avoid overwhelming the user.
For any out-of-range conditions, store as volatile memory:
memory_store_fact(
subject=<room_name>,
predicate="comfort_deviation",
content="<metric> at <value> — outside preference range of <min>-<max> at 8am",
permanence="volatile",
importance=6.0,
tags=[<room_name>, <metric>, "morning-report", "deviation"]
)
Format the report as a room-by-room summary:
Morning Home Report — [Day, Date]
Living Room: 72°F, 48% humidity — comfortable
Bedroom: 65°F, 52% humidity — temperature below your 68°F target
Kitchen: 74°F, 55% humidity, CO2: 1200 ppm — ventilation recommended
[Other rooms...]
Alerts:
Bedroom is 3°F below your preferred 68°F. Want me to raise the thermostat?
Kitchen CO2 at 1200 ppm — open a window or run the fan.
All other rooms are within your comfort range.
Send via:
notify(
channel="telegram",
intent="send",
subject="Morning Home Report — [Day, Date]",
message=<formatted_report>,
)
Use intent="send" — this is a scheduled proactive delivery, not a reply.
ha_list_areas() called to discover all roomsha_list_entities(domain="sensor") called to discover sensorsha_get_entity_state() called for each relevant sensor per roommemory_recall() called to retrieve stored comfort preferences per roommemory_store_fact() for out-of-range conditionsnotify(channel="telegram", intent="send")memory_store_fact(subject=<room-sensor>, predicate="device_issue", content="sensor offline during morning report", permanence="volatile", ...)