Token导航 LogoToken导航TokenDH.com
前端设计敏感数据github未标认证来源可访问许可证需确认审计通过

home-assistant-manager家庭助理经理

Agent Skill

home-assistant-manager 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

269

周安装

11

GitHub Stars

1

下载量

86
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:home-assistant-manager(家庭助理经理)
来源仓库:https://github.com/michaelvessia/nixos-config
仓库路径:skills/home-assistant-manager
安装命令:
npx skills add https://github.com/michaelvessia/nixos-config --skill home-assistant-manager
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/michaelvessia/nixos-config --skill home-assistant-manager

简介

用于处理 GitHub 仓库、Issue 和 Pull Request 协作信息,适合代码变更管理场景。

  • 可整理仓库状态、跟踪代码变更或协助协作事项,需结合具体任务目标使用。
  • 安装前建议确认权限范围和维护状态,避免触发不必要的联网或文件操作。
  • 通过 npx 命令从指定仓库安装,适用于 Codex、Claude、Cursor 等宿主环境。
  • 实际用法需参考原始 README 和 SKILL.md,确保理解其能力边界和执行限制。

SKILL.md

Home Assistant Manager

Expert-level Home Assistant configuration management with efficient workflows, remote CLI access, and verification protocols.

Core Capabilities

  • Remote Home Assistant instance management via SSH and hass-cli
  • Smart deployment workflows (git-based and rapid iteration)
  • Configuration validation and safety checks
  • Automation testing and verification
  • Log analysis and error detection
  • Reload vs restart optimization
  • Lovelace dashboard development and optimization
  • Template syntax patterns and debugging
  • Tablet-optimized UI design

Prerequisites

Before starting, verify the environment has:

  1. SSH access to Home Assistant instance (ssh homeassistant via ~/.ssh/config)
  2. hass-cli installed locally
  3. Environment variables loaded (HASS_SERVER, HASS_TOKEN)
  4. Git repository connected to HA /config directory
  5. Context7 MCP server with Home Assistant docs (recommended)

Note: HA OS requires login shell for ha commands (SUPERVISOR_TOKEN only set in login shells). Use ssh homeassistant "bash -l -c 'ha core check'" instead of ssh homeassistant "ha core check".

Remote Access Patterns

Using hass-cli (Local, via REST API)

All hass-cli commands use environment variables automatically:

# List entities
hass-cli state list

# Get specific state
hass-cli state get sensor.entity_name

# Call services
hass-cli service call automation.reload
hass-cli service call automation.trigger --arguments entity_id=automation.name

Using SSH for HA CLI

Important: Use bash -l -c '...' for ha commands (login shell required for SUPERVISOR_TOKEN).

# Check configuration validity
ssh homeassistant "bash -l -c 'ha core check'"

# Restart Home Assistant
ssh homeassistant "bash -l -c 'ha core restart'"

# View logs
ssh homeassistant "bash -l -c 'ha core logs'"

# Tail logs with grep
ssh homeassistant "bash -l -c 'ha core logs'" | grep -i error | tail -20

Deployment Workflows

Standard Git Workflow (Final Changes)

Use for changes you want in version control:

# 1. Make changes locally
# 2. Check validity
ssh homeassistant "bash -l -c 'ha core check'"

# 3. Commit and push
git add file.yaml
git commit -m "Description"
git push

# 4. CRITICAL: Pull to HA instance
ssh homeassistant "cd /config && git pull"

# 5. Reload or restart
hass-cli service call automation.reload  # if reload sufficient
# OR
ssh homeassistant "bash -l -c 'ha core restart'"  # if restart needed

# 6. Verify
hass-cli state get sensor.new_entity
ssh homeassistant "bash -l -c 'ha core logs'" | grep -i error | tail -20

Rapid Development Workflow (Testing/Iteration)

Use scp for quick testing before committing:

# 1. Make changes locally
# 2. Quick deploy
scp automations.yaml homeassistant:/config/

# 3. Reload/restart
hass-cli service call automation.reload

# 4. Test and iterate (repeat 1-3 as needed)

# 5. Once finalized, commit to git
git add automations.yaml
git commit -m "Final tested changes"
git push

When to use scp:

  • Rapid iteration and testing
  • Frequent small adjustments
  • Experimental changes
  • UI/Dashboard work

When to use git:

  • Final tested changes
  • Version control tracking
  • Important configs
  • Changes to document

Reload vs Restart Decision Making

ALWAYS assess if reload is sufficient before requiring a full restart.

Can be reloaded (fast, preferred):

  • Automations: hass-cli service call automation.reload
  • Scripts: hass-cli service call script.reload
  • Scenes: hass-cli service call scene.reload
  • Template entities: hass-cli service call template.reload
  • Groups: hass-cli service call group.reload
  • Themes: hass-cli service call frontend.reload_themes

Require full restart:

  • Min/Max sensors and platform-based sensors
  • New integrations in configuration.yaml
  • Core configuration changes
  • MQTT sensor/binary_sensor platforms

Automation Verification Workflow

ALWAYS verify automations after deployment:

Step 1: Deploy

git add automations.yaml && git commit -m "..." && git push
ssh homeassistant "cd /config && git pull"

Step 2: Check Configuration

ssh homeassistant "bash -l -c 'ha core check'"

Step 3: Reload

hass-cli service call automation.reload

Step 4: Manually Trigger

hass-cli service call automation.trigger --arguments entity_id=automation.name

Why trigger manually?

  • Instant feedback (don't wait for scheduled triggers)
  • Verify logic before production
  • Catch errors immediately

Step 5: Check Logs

sleep 3
ssh homeassistant "bash -l -c 'ha core logs'" | grep -i 'automation_name' | tail -20

Success indicators:

  • Initialized trigger AutomationName
  • Running automation actions
  • Executing step...
  • No ERROR or WARNING messages

Error indicators:

  • Error executing script
  • Invalid data for call_service
  • TypeError, Template variable warning

Step 6: Verify Outcome

For notifications:

  • Ask user if they received it
  • Check logs for mobile_app messages

For device control:

hass-cli state get switch.device_name

For sensors:

hass-cli state get sensor.new_sensor

Step 7: Fix and Re-test if Needed

If errors found:

  1. Identify root cause from error messages
  2. Fix the issue
  3. Re-deploy (steps 1-2)
  4. Re-verify (steps 3-6)

Dashboard Management

Dashboard Fundamentals

What are Lovelace Dashboards?

  • JSON files in .storage/ directory (e.g., .storage/lovelace.control_center)
  • UI configuration for Home Assistant frontend
  • Optimizable for different devices (mobile, tablet, wall panels)

Critical Understanding:

  • Creating dashboard file is NOT enough - must register in .storage/lovelace_dashboards
  • Dashboard changes don't require HA restart (just browser refresh)
  • Use panel view for full-screen content (maps, cameras)
  • Use sections view for organized multi-card layouts

Dashboard Development Workflow

Rapid Iteration with scp (Recommended for dashboards):

# 1. Make changes locally
vim .storage/lovelace.control_center

# 2. Deploy immediately (no git commit yet)
scp .storage/lovelace.control_center homeassistant:/config/.storage/

# 3. Refresh browser (Ctrl+F5 or Cmd+Shift+R)
# No HA restart needed!

# 4. Iterate: Repeat 1-3 until perfect

# 5. Commit when stable
git add .storage/lovelace.control_center
git commit -m "Update dashboard layout"
git push
ssh homeassistant "cd /config && git pull"

Why scp for dashboards:

  • Instant feedback (no HA restart)
  • Iterate quickly on visual changes
  • Commit only stable versions

Creating New Dashboard

Complete workflow:

# Step 1: Create dashboard file
cp .storage/lovelace.my_home .storage/lovelace.new_dashboard

# Step 2: Register in lovelace_dashboards
# Edit .storage/lovelace_dashboards to add:
{
  "id": "new_dashboard",
  "show_in_sidebar": true,
  "icon": "mdi:tablet-dashboard",
  "title": "New Dashboard",
  "require_admin": false,
  "mode": "storage",
  "url_path": "new-dashboard"
}

# Step 3: Deploy both files
scp .storage/lovelace.new_dashboard homeassistant:/config/.storage/
scp .storage/lovelace_dashboards homeassistant:/config/.storage/

# Step 4: Restart HA (required for registry changes)
ssh homeassistant "bash -l -c 'ha core restart'"
sleep 30

# Step 5: Verify appears in sidebar

Update.gitignore to track:

# Exclude .storage/ by default
.storage/

# Include dashboard files
!.storage/lovelace.new_dashboard
!.storage/lovelace_dashboards

View Types Decision Matrix

Use Panel View when:

  • Displaying full-screen map (vacuum, cameras)
  • Single large card needs full width
  • Want zero margins/padding
  • Minimize scrolling

Use Sections View when:

  • Organizing multiple cards
  • Need responsive grid layout
  • Building multi-section dashboards

Layout Example:

// Panel view - full width, no margins
{
  "type": "panel",
  "title": "Vacuum Map",
  "path": "map",
  "cards": [
    {
      "type": "custom:xiaomi-vacuum-map-card",
      "entity": "vacuum.dusty"
    }
  ]
}

// Sections view - organized, has ~10% margins
{
  "type": "sections",
  "title": "Home",
  "sections": [
    {
      "type": "grid",
      "cards": [...]
    }
  ]
}

Card Types Quick Reference

Mushroom Cards (Modern, Touch-Optimized):

{
  "type": "custom:mushroom-light-card",
  "entity": "light.living_room",
  "use_light_color": true,
  "show_brightness_control": true,
  "collapsible_controls": true,
  "fill_container": true
}
  • Best for tablets and touch screens
  • Animated, colorful icons
  • Built-in slider controls

Mushroom Template Card (Dynamic Content):

{
  "type": "custom:mushroom-template-card",
  "primary": "All Doors",
  "secondary": "{% set sensors = ['binary_sensor.front_door'] %}\n{% set open = sensors | select('is_state', 'on') | list | length %}\n{{ open }} / {{ sensors | length }} open",
  "icon": "mdi:door",
  "icon_color": "{% if open > 0 %}red{% else %}green{% endif %}"
}
  • Use Jinja2 templates for dynamic content
  • Color-code status with icon_color
  • Multi-line templates use \n in JSON

Tile Card (Built-in, Modern):

{
  "type": "tile",
  "entity": "climate.thermostat",
  "features": [
    {"type": "climate-hvac-modes", "hvac_modes": ["heat", "cool", "fan_only", "off"]},
    {"type": "target-temperature"}
  ]
}
  • No custom cards required
  • Built-in features for controls

Common Template Patterns

Counting Open Doors:

{% set door_sensors = [
  'binary_sensor.front_door',
  'binary_sensor.back_door'
] %}
{% set open = door_sensors | select('is_state', 'on') | list | length %}
{{ open }} / {{ door_sensors | length }} open

Color-Coded Days Until:

{% set days = state_attr('sensor.bin_collection', 'daysTo') | int %}
{% if days <= 1 %}red
{% elif days <= 3 %}amber
{% elif days <= 7 %}yellow
{% else %}grey
{% endif %}

Conditional Display:

{% set bins = [] %}
{% if days and days | int <= 7 %}
  {% set bins = bins + ['Recycling'] %}
{% endif %}
{% if bins %}This week: {{ bins | join(', ') }}{% else %}None this week{% endif %}

IMPORTANT: Always use | int or | float to avoid type errors when comparing

Tablet Optimization

Screen-specific layouts:

  • 11-inch tablets: 3-4 columns
  • Touch targets: minimum 44x44px
  • Minimize scrolling: Use panel view for full-screen
  • Visual feedback: Color-coded status (red/green/amber)

Grid Layout for Tablets:

{
  "type": "grid",
  "columns": 3,
  "square": false,
  "cards": [
    {"type": "custom:mushroom-light-card", "entity": "light.living_room"},
    {"type": "custom:mushroom-light-card", "entity": "light.bedroom"}
  ]
}

Common Dashboard Pitfalls

Problem 1: Dashboard Not in Sidebar

  • Cause: File created but not registered
  • Fix: Add to .storage/lovelace_dashboards and restart HA

Problem 2: "Configuration Error" in Card

  • Cause: Custom card not installed, wrong syntax, template error
  • Fix:

- Check HACS for card installation - Check browser console (F12) for details - Test templates in Developer Tools -> Template

Problem 3: Auto-Entities Fails

  • Cause: card_param not supported by card type
  • Fix: Use cards that accept entities parameter:

- Works: entities, vertical-stack, horizontal-stack - Doesn't work: grid, glance (without specific syntax)

Problem 4: Vacuum Map Has Margins/Scrolling

  • Cause: Using sections view (has margins)
  • Fix: Use panel view for full-width, no scrolling

Problem 5: Template Type Errors

  • Error: TypeError: '<' not supported between instances of 'str' and 'int'
  • Fix: Use type filters: states('sensor.days') | int < 7

Dashboard Debugging

1. Browser Console (F12):

  • Check for red errors when loading dashboard
  • Common: "Custom element doesn't exist" -> Card not installed

2. Validate JSON Syntax:

python3 -m json.tool .storage/lovelace.my_dashboard > /dev/null

3. Test Templates:

Home Assistant -> Developer Tools -> Template
Paste template to test before adding to dashboard

4. Verify Entities:

hass-cli state get binary_sensor.front_door

5. Clear Browser Cache:

  • Hard refresh: Ctrl+F5 or Cmd+Shift+R
  • Try incognito window

Real-World Examples

Quick Controls Dashboard Section

{
  "type": "grid",
  "title": "Quick Controls",
  "cards": [
    {
      "type": "custom:mushroom-template-card",
      "primary": "All Doors",
      "secondary": "{% set doors = ['binary_sensor.front_door', 'binary_sensor.back_door'] %}\n{% set open = doors | select('is_state', 'on') | list | length %}\n{{ open }} / {{ doors | length }} open",
      "icon": "mdi:door",
      "icon_color": "{% if open > 0 %}red{% else %}green{% endif %}"
    },
    {
      "type": "tile",
      "entity": "climate.thermostat",
      "features": [
        {"type": "climate-hvac-modes", "hvac_modes": ["heat", "cool", "fan_only", "off"]},
        {"type": "target-temperature"}
      ]
    }
  ]
}

Individual Light Cards (Touch-Friendly)

{
  "type": "grid",
  "title": "Lights",
  "columns": 3,
  "cards": [
    {
      "type": "custom:mushroom-light-card",
      "entity": "light.office_studio",
      "name": "Office",
      "use_light_color": true,
      "show_brightness_control": true,
      "collapsible_controls": true
    }
  ]
}

Full-Screen Vacuum Map

{
  "type": "panel",
  "title": "Vacuum",
  "path": "vacuum-map",
  "cards": [
    {
      "type": "custom:xiaomi-vacuum-map-card",
      "vacuum_platform": "Tasshack/dreame-vacuum",
      "entity": "vacuum.dusty"
    }
  ]
}

Common Commands Quick Reference

# Configuration (note: ha commands need login shell)
ssh homeassistant "bash -l -c 'ha core check'"
ssh homeassistant "bash -l -c 'ha core restart'"

# Logs
ssh homeassistant "bash -l -c 'ha core logs'" | tail -50
ssh homeassistant "bash -l -c 'ha core logs'" | grep -i error | tail -20

# State/Services
hass-cli state list
hass-cli state get entity.name
hass-cli service call automation.reload
hass-cli service call automation.trigger --arguments entity_id=automation.name

# Deployment
git add . && git commit -m "..." && git push
ssh homeassistant "cd /config && git pull"
scp file.yaml homeassistant:/config/

# Dashboard deployment
scp .storage/lovelace.my_dashboard homeassistant:/config/.storage/
python3 -m json.tool .storage/lovelace.my_dashboard > /dev/null  # Validate JSON

# Quick test cycle
scp automations.yaml homeassistant:/config/
hass-cli service call automation.reload
hass-cli service call automation.trigger --arguments entity_id=automation.name
ssh homeassistant "bash -l -c 'ha core logs'" | grep -i 'automation' | tail -10

Best Practices Summary

  1. Always check configuration before restart: ha core check
  2. Prefer reload over restart when possible
  3. Test automations manually after deployment
  4. Check logs for errors after every change
  5. Use scp for rapid iteration, git for final changes
  6. Verify outcomes - don't assume it worked
  7. Use Context7 for current documentation
  8. Test templates in Dev Tools before adding to dashboards
  9. Validate JSON syntax before deploying dashboards
  10. Test on actual device for tablet dashboards
  11. Color-code status for visual feedback (red/green/amber)
  12. Commit only stable versions - test with scp first

Workflow Decision Tree

Configuration Change Needed
├─ Is this final/tested?
│  ├─ YES → Use git workflow
│  └─ NO → Use scp workflow
├─ Check configuration valid
├─ Deploy (git pull or scp)
├─ Needs restart?
│  ├─ YES → ha core restart
│  └─ NO → Use appropriate reload
├─ Verify in logs
└─ Test outcome

Dashboard Change Needed
├─ Make changes locally
├─ Deploy via scp for testing
├─ Refresh browser (Ctrl+F5)
├─ Test on target device
├─ Iterate until perfect
└─ Commit to git when stable

This skill encapsulates efficient Home Assistant management workflows developed through iterative optimization and real-world dashboard development. Apply these patterns to any Home Assistant instance for reliable, fast, and safe configuration management.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.05%
按下载量换算32

Claude

28.96%
按下载量换算25

Cursor

19.5%
按下载量换算17

Gemini CLI

8.31%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills