/homeclaw
Control HomeKit smart home accessories via HomeClaw MCP tools. Also includes reference data for accessory categories, characteristics, and value formats. This skill should be used when the user wants to: - Turn lights on or off, set brightness, or change color temperature - Lock
$ npx -y skills add omarshahine/HomeClaw --skill homeclaw --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/homeclaw
Context preview
The summary Claude sees to decide when to auto-load this skill.
Control HomeKit smart home accessories via HomeClaw MCP tools. Also includes reference data for accessory categories, characteristics, and value formats. This skill should be used when the user wants to: - Turn lights on or off, set brightness, or change color temperature - Lock
SKILL.md
homeclaw.SKILL.mddescription: |
Control HomeKit smart home accessories via HomeClaw MCP tools.
Also includes reference data for accessory categories, characteristics, and value formats.
This skill should be used when the user wants to:
- Turn lights on or off, set brightness, or change color temperature
- Lock or unlock doors
- Set thermostat temperature or HVAC mode
- Run a HomeKit scene like "Good Morning" or "Movie Time"
- Check which devices are on, off, or unreachable
- List accessories in a room or search by name
- Check HomeClaw status or configure default home
- Look up characteristic names, value types, ranges, or enum mappings
Example triggers: "turn on the kitchen lights", "lock all doors",
"set the thermostat to 72", "run the goodnight scene", "what lights are on",
"list devices in the living room", "is HomeClaw running",
"what characteristics does a thermostat have", "what are the lock state values"
HomeKit Smart Home Control
HomeClaw exposes Apple HomeKit accessories via MCP tools. Use the `homekit_*` tools as the interface for all HomeKit operations.
MCP Tools
The plugin registers 8 MCP tools.
| Tool | Description | |------|-------------| | `homekit_status` | Check bridge connectivity, home count, accessory count | | `homekit_accessories` | List, get details, search, or control accessories | | `homekit_rooms` | List rooms and their accessories | | `homekit_scenes` | List, get details of, trigger, import, or delete scenes | | `homekit_device_map` | Get LLM-optimized device map with semantic types, aliases, and zone hierarchy | | `homekit_events` | Query recent HomeKit events (characteristic changes, scene triggers, control actions) | | `homekit_automations` | Manage automations: list, create (inline actions or scene), delete, enable/disable | | `homekit_webhook` | Manage webhook configuration: setup, test, reset circuit breaker, status | | `homekit_config` | View or update bridge configuration |
homekit_device_map
Returns a complete LLM-optimized device map organized by home/zone/room hierarchy. Each device includes:
| Field | Description | |-------|-------------| | `semantic_type` | Functional type: `lighting`, `climate`, `security`, `door_lock`, `window_covering`, `sensor`, `power`, `media`, `network`, `other` | | `display_name` | Room-prefixed name for disambiguation (only when duplicates exist) | | `aliases` | Auto-generated search terms like "kitchen light", "overhead in kitchen" | | `controllable` | List of writable characteristics (e.g., `["power", "brightness"]`) | | `state_summary` | One-line state: "on 75%", "72°F heating", "locked", "off", "unreachable" | | `manufacturer` | Device manufacturer | | `description` | Natural-language summary: "Lutron lighting (power, brightness), on 75%" |
**Use this tool first** when you need to understand the device landscape before controlling devices. It resolves name collisions and identifies switches that actually control lights.
Semantic Type Reference
| Semantic Type | Maps From | Key Distinction | |--------------|-----------|-----------------| | `lighting` | lightbulbs | Devices with brightness/color control | | `climate` | thermostats, fans, air purifiers | | | `security` | doors, garage doors, cameras, doorbells, security systems | | | `door_lock` | locks | | | `window_covering` | windows, blinds, shades | | | `sensor` | motion, contact, temperature, humidity sensors | | | `power` | outlets, switches, programmable switches | In-wall switches get light aliases for search | | `media` | speakers, televisions | |
homekit_accessories
The main workhorse tool. Supports 4 actions via the `action` parameter:
| Action | Required Params | Description | |--------|----------------|-------------| | `list` | — | List all accessories. Optional: `room`. Returns enriched results with `semantic_type`, `display_name`, `manufacturer`, `zone`. | | `get` | `accessory_id` | Get full detail with all characteristics | | `search` | `query` | Search by name, room, category, semantic type, manufacturer, or aliases (e.g., "kitchen light" matches switches with lightbulb services). Optional: `category` | | `control` | `accessory_id`, `characteristic`, `value` | Set a characteristic value |
homekit_scenes
| Action | Required Params | Description | |--------|----------------|-------------| | `list` | — | List all scenes with name, type, and action count | | `get` | `scene_id` | Get full scene detail including all actions (accessory, room, characteristic, target value) | | `trigger` | `scene_id` | Execute a scene by name or UUID |
homekit_events
| Param | Required | Description | |-------|----------|-------------| | `since` | No | Duration shorthand (`1h`, `30m`, `2d`) or ISO 8601 timestamp | | `type` | No | Filter: `characteristic_change`, `scene_triggered`, `accessory_controlled`, `homes_updated` | | `limit` | No | Max events to return (default: 50) |
homekit_automations
| Action | Required Params | Description | |--------|----------------|-------------| | `list` | — | List all automations with event summaries and linked scenes | | `get` | `id` | Detail view with events, action sets, and button info | | `create` | `name`, `accessory_id`, plus `actions` or `scene_id` | Create a button-press automation (see below) | | `delete` | `id` | Delete an automation | | `enable` | `id` | Enable a disabled automation | | `disable` | `id` | Disable an automation without deleting |
**Create parameters:**
| Param | Required | Description | |-------|----------|-------------| | `name` | Yes | Human-readable automation name | | `accessory_id` | Yes | Button accessory UUID or name | | `actions` | One of | Inline actions array (default, no visible scene). Each entry: `{accessory, property, value}` | | `scene_id` | One of | Existing scene UUID or name to trigger | | `press_type` | No | 0=single (default), 1=double, 2=long press | | `service_index` | No | Button index for multi-button accessories (1 or 2) |
Read more
description: | Control HomeKit smart home accessories via HomeClaw MCP tools. Also includes reference data for accessory categories, characteristics, and value formats. This skill should be used when the user wants to: - Turn lights on or off, set brightness, or change color temperature - Lock or unlock doors - Set thermostat temperature or HVAC mode - Run a HomeKit scene like "Good Morning" or "Movie Time" - Check which devices are on, off, or unreachable - List accessories in a room or search by name - Check HomeClaw status or configure default home - Look up characteristic names, value types, ranges, or enum mappings Example triggers: "turn on the kitchen lights", "lock all doors", "set the thermostat to 72", "run the goodnight scene", "what lights are on", "list devices in the living room", "is HomeClaw running", "what characteristics does a thermostat have", "what are the lock state values"
HomeKit Smart Home Control
HomeClaw exposes Apple HomeKit accessories via MCP tools. Use the `homekit_*` tools as the interface for all HomeKit operations.
MCP Tools
The plugin registers 8 MCP tools.
| Tool | Description | |------|-------------| | `homekit_status` | Check bridge connectivity, home count, accessory count | | `homekit_accessories` | List, get details, search, or control accessories | | `homekit_rooms` | List rooms and their accessories | | `homekit_scenes` | List, get details of, trigger, import, or delete scenes | | `homekit_device_map` | Get LLM-optimized device map with semantic types, aliases, and zone hierarchy | | `homekit_events` | Query recent HomeKit events (characteristic changes, scene triggers, control actions) | | `homekit_automations` | Manage automations: list, create (inline actions or scene), delete, enable/disable | | `homekit_webhook` | Manage webhook configuration: setup, test, reset circuit breaker, status | | `homekit_config` | View or update bridge configuration |
homekit_device_map
Returns a complete LLM-optimized device map organized by home/zone/room hierarchy. Each device includes:
| Field | Description | |-------|-------------| | `semantic_type` | Functional type: `lighting`, `climate`, `security`, `door_lock`, `window_covering`, `sensor`, `power`, `media`, `network`, `other` | | `display_name` | Room-prefixed name for disambiguation (only when duplicates exist) | | `aliases` | Auto-generated search terms like "kitchen light", "overhead in kitchen" | | `controllable` | List of writable characteristics (e.g., `["power", "brightness"]`) | | `state_summary` | One-line state: "on 75%", "72°F heating", "locked", "off", "unreachable" | | `manufacturer` | Device manufacturer | | `description` | Natural-language summary: "Lutron lighting (power, brightness), on 75%" |
**Use this tool first** when you need to understand the device landscape before controlling devices. It resolves name collisions and identifies switches that actually control lights.
Semantic Type Reference
| Semantic Type | Maps From | Key Distinction | |--------------|-----------|-----------------| | `lighting` | lightbulbs | Devices with brightness/color control | | `climate` | thermostats, fans, air purifiers | | | `security` | doors, garage doors, cameras, doorbells, security systems | | | `door_lock` | locks | | | `window_covering` | windows, blinds, shades | | | `sensor` | motion, contact, temperature, humidity sensors | | | `power` | outlets, switches, programmable switches | In-wall switches get light aliases for search | | `media` | speakers, televisions | |
homekit_accessories
The main workhorse tool. Supports 4 actions via the `action` parameter:
| Action | Required Params | Description | |--------|----------------|-------------| | `list` | — | List all accessories. Optional: `room`. Returns enriched results with `semantic_type`, `display_name`, `manufacturer`, `zone`. | | `get` | `accessory_id` | Get full detail with all characteristics | | `search` | `query` | Search by name, room, category, semantic type, manufacturer, or aliases (e.g., "kitchen light" matches switches with lightbulb services). Optional: `category` | | `control` | `accessory_id`, `characteristic`, `value` | Set a characteristic value |
homekit_scenes
| Action | Required Params | Description | |--------|----------------|-------------| | `list` | — | List all scenes with name, type, and action count | | `get` | `scene_id` | Get full scene detail including all actions (accessory, room, characteristic, target value) | | `trigger` | `scene_id` | Execute a scene by name or UUID |
homekit_events
| Param | Required | Description | |-------|----------|-------------| | `since` | No | Duration shorthand (`1h`, `30m`, `2d`) or ISO 8601 timestamp | | `type` | No | Filter: `characteristic_change`, `scene_triggered`, `accessory_controlled`, `homes_updated` | | `limit` | No | Max events to return (default: 50) |
homekit_automations
| Action | Required Params | Description | |--------|----------------|-------------| | `list` | — | List all automations with event summaries and linked scenes | | `get` | `id` | Detail view with events, action sets, and button info | | `create` | `name`, `accessory_id`, plus `actions` or `scene_id` | Create a button-press automation (see below) | | `delete` | `id` | Delete an automation | | `enable` | `id` | Enable a disabled automation | | `disable` | `id` | Disable an automation without deleting |
**Create parameters:**
| Param | Required | Description | |-------|----------|-------------| | `name` | Yes | Human-readable automation name | | `accessory_id` | Yes | Button accessory UUID or name | | `actions` | One of | Inline actions array (default, no visible scene). Each entry: `{accessory, property, value}` | | `scene_id` | One of | Existing scene UUID or name to trigger | | `press_type` | No | 0=single (default), 1=double, 2=long press | | `service_index` | No | Button index for multi-button accessories (1 or 2) |
HomeKit smart home control via MCP — lights, locks, thermostats, and scenes for Claude Desktop, Claude Code, and OpenClaw
Repo: omarshahine/HomeClaw
Other skills on homeclaw.
- /ios-app-intents
Design and implement App Intents, app entities, and App Shortcuts for iOS apps so useful actions and content are available to Shortcuts, Siri, Spotlight, widgets, controls, and other intent-driven system surfaces. Use when exposing app actions outside the UI, adding `AppEntity`
Open skill - /ios-debugger-agent
Use XcodeBuildMCP to build, run, launch, and debug the current iOS project on a booted simulator. Trigger when asked to run an iOS app, interact with the simulator UI, inspect on-screen state, capture logs/console output, or diagnose runtime behavior using XcodeBuildMCP tools.
Open skill - /ios-ettrace-performance
Capture and interpret ETTrace profiles for iOS simulator apps, including symbolicated launch and runtime flamegraphs. Use when asked to profile an iOS app flow, gather simulator performance traces, identify CPU-heavy stacks, compare before/after traces, or produce flamegraph
Open skill - /ios-memgraph-leaks
Capture, inspect, compare, and root-cause iOS memory graph leaks using Apple's leaks and memgraph tools. Use when debugging leaked iOS objects, simulator memgraphs, retain-cycle suspicions, memory growth after navigation/logout/account changes, or when asked to prove an iOS leak
Open skill - /spm-build-analysis
Analyze Swift Package Manager dependencies, package plugins, module variants, and CI-oriented build overhead that slow Xcode builds. Use when a developer suspects packages, plugins, or dependency graph shape are hurting clean or incremental build performance, mentions SPM
Open skill - /swiftui-expert-skill
Use when writing, reviewing, or refactoring SwiftUI code for iOS or macOS, including state management, view composition, performance, Liquid Glass adoption, or Instruments `.trace` capture/analysis for hangs, hitches, CPU hotspots, or
Open skill

