Claude-skill-registry control-office-lamp
Control office lamp via Home Assistant. Use when the user asks to turn on, turn off, or toggle their office lamp, or check its status. Triggers on phrases like "turn on my lamp", "office light on/off", "toggle the lamp", or "is my lamp on".
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/control-office-lamp" ~/.claude/skills/majiayu000-claude-skill-registry-control-office-lamp && rm -rf "$T"
manifest:
skills/data/control-office-lamp/SKILL.mdsource content
Home Assistant Office Lamp Control
Control the office lamp through Home Assistant's REST API.
Setup (First-Time Only)
Create your config file at
~/.claude/skill-config/control-office-lamp/config.json:
{ "url": "http://your-home-assistant:8123", "token": "YOUR_LONG_LIVED_ACCESS_TOKEN_HERE", "entity_id": "light.office_lamp" }
This location persists across skill updates.
To create a Long-Lived Access Token:
- Open Home Assistant -> Profile (bottom-left)
- Scroll to "Long-Lived Access Tokens" -> Create Token
- Copy the token into config.json
Config lookup order:
environment variableHA_CONFIG_PATH
(recommended)~/.claude/skill-config/control-office-lamp/config.json
(plugin root)${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/config.json
(fallback)<script-directory>/../config.json
Usage
The script is located relative to the plugin root using
${CLAUDE_PLUGIN_ROOT}:
# Turn lamp on uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" on # Turn lamp off uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" off # Toggle lamp state uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" toggle # Check current status uv run "${CLAUDE_PLUGIN_ROOT}/skills/control-office-lamp/scripts/lamp_control.py" status
Response Handling
Success response:
{"success": true, "action": "turn_on", "entity_id": "light.office_lamp", "response": [...]}
Error response:
{"success": false, "error": "Connection failed: ..."}
If errors occur, verify:
- Home Assistant is running at the configured URL
- The token is valid and not expired
- The entity_id exists in Home Assistant