reflectt

Reflectt Skill — Control Physical Spaces

0
0
# Install this skill:
npx skills add reflectt/reflectt-skill

Or install specific skill: npx add-skill https://github.com/reflectt/reflectt-skill

# Description

The skill that lets AI agents mix reality — control lights, screens, audio, and orchestrate experiences

# SKILL.md

Reflectt Skill — Control Physical Spaces

You can control physical space: screens, lights, and audio. Use these tools to create atmosphere, run experiences, and transform rooms.

MCP Server: https://localhost:3333/mcp (Homie)


Quick Start

"Set cozy mood"           → Warm amber lights, 40% brightness
"Run movie night"         → Dims lights, sets bias lighting
"Run Shadow of Malvorth"  → Full dungeon adventure experience
"Show the time on all screens" → Push clock display to all screens

🎭 Light Control

light_mood

Apply a mood preset to all lights.

Moods available:
| Mood | Description |
|------|-------------|
| cozy | Warm amber evening (2200K, 40%) |
| focus | Bright neutral white (5000K, 80%) |
| movie | Dim blue bias lighting (15%) |
| party | Vibrant colors (70%) |
| sleep | Dim red for bedtime (5%) |
| energize | Bright daylight (6500K, 100%) |
| romantic | Warm low pink (20%) |
| safe | Tavern warmth |
| tension | Uneasy blue shadows |
| darkness | Near blackout |
| combat | Danger red alert |
| boss | Epic purple menace |
| treasure | Golden reward |
| victory | Triumphant gold |
| team_canucks | Vancouver blue |
| team_chiefs | Kansas City red |

Parameters:
- mood (required): Mood name
- targets (optional): Specific light entities to affect

light_set

Set a specific light's state.

Parameters:
- entity (required): Light entity ID (e.g., light.living_room)
- state: "on" or "off"
- brightness_pct: 0-100
- color: RGB array [255, 100, 50]
- kelvin: Color temperature 2000-6500
- transition: Seconds for transition

light_effect

Run a dynamic light effect.

Effects:
- pulse — Single bright flash
- breathe — Slow fade in/out
- flicker — Random torch-like
- strobe — Rapid on/off
- alert — Attention flash sequence

Parameters:
- effect (required): Effect name
- targets (optional): Lights to affect
- duration: Seconds (default: 5)
- intensity: 0.0-1.0 (default: 0.7)
- speed: slow, medium, fast
- color: RGB array

light_list

Get all controllable lights from Home Assistant.

mood_list

List all available mood presets.


🖥️ Screen Control

These are existing Homie tools — use them alongside Reflectt.

update_all_screens

Push HTML to all connected screens.

Tips:
- Use data-clock="time" for live clocks
- Make it art, not a dashboard
- Think giant typography (200px+), gradients, vignettes

update_screen

Push HTML to a specific screen.

Parameters:
- screen: Screen ID (e.g., games-room, entry)
- scene.html: Raw HTML content

get_screens

Get status of all connected screens.


🎬 Experiences

Experiences are coordinated multi-device sequences.

experience_run

Run a named experience.

Built-in experiences:
| Experience | Duration | Description |
|------------|----------|-------------|
| shadow-of-malvorth | ~4.5 min | Epic dungeon adventure with narration |
| good-morning | ~1 min | Gentle wake-up with sunrise lighting |
| movie-night | ~15 sec | Cinema ambiance setup |
| wind-down | ~30 sec | Evening transition to restful |
| ambient | instant | Beautiful always-on wallpaper |

Parameters:
- name (required): Experience name
- startFromAct (optional): Resume from specific act

experience_list

List all available experiences.

experience_stop

Stop currently running experience.

experience_status

Check if an experience is running.

sequence_run

Run a custom sequence of steps.

Step types:
- light_mood — Apply mood preset
- light_set — Set light state
- light_effect — Run light effect
- screen_update_all — Push HTML to screens
- speak — Text-to-speech
- play_audio — Play audio file
- wait — Pause for duration

Example:

{
  "steps": [
    { "type": "light_mood", "mood": "movie", "delay_ms": 0 },
    { "type": "speak", "text": "Starting movie night", "delay_ms": 500 },
    { "type": "screen_update_all", "html": "<minimal-clock>", "delay_ms": 0 }
  ]
}

🔊 Audio

speak

Text-to-speech through speakers.

Parameters:
- text (required): Text to speak
- voice (optional): Voice name (Samantha, Alex, Daniel, Karen, Moira)
- screen (optional): Screen to speak through, or "all"

play_audio

Play audio file through screens.

Parameters:
- url (required): Audio URL (HTTPS)
- screen (optional): Target screen or "all"
- volume (optional): 0.0-1.0


Common Patterns

Set the mood

"Set cozy mood"
"Make it movie night lighting"
"Combat mode!" → light_mood: combat

Transform the room

"Run movie night" → experience_run: movie-night
"Wind down for the evening" → experience_run: wind-down

Custom atmosphere

sequence_run with:
- light_mood: romantic
- screen_update_all: <candles visual>
- play_audio: soft jazz

Information displays

"Show the time on all screens"
"Put weather on the entry screen"

Tips

  1. Moods over manual — Use light_mood instead of setting individual lights
  2. Experiences for sequences — Don't manually orchestrate, use experiences
  3. Think atmosphere — Lights + screens + audio together create immersion
  4. Art, not dashboards — Screens should be beautiful, not cluttered
  5. Timing matters — Use delays in sequences to let effects breathe

Troubleshooting

Lights not responding:
- Check Home Assistant connection
- Use light_list to see available entities
- Ensure entity IDs match HA exactly

Screens not updating:
- Check screen connection with get_screens
- Screens need to be on the same network

Experience not found:
- Use experience_list to see available experiences
- Experience names are case-insensitive, use dashes not spaces


Reflectt Skill Pack v1.0.0 — The skill that lets AI agents mix reality

# README.md

Reflectt Skill Pack

The skill that lets AI agents mix reality.

Control physical spaces — screens, lights, and audio — and orchestrate them into coordinated immersive experiences.

What It Does

  • Light Control — Set moods, colors, brightness via Home Assistant
  • Screen Control — Push HTML to displays throughout your space
  • Audio — TTS and audio playback through screen speakers
  • Experiences — Coordinated multi-device sequences (think: movie night, wake-up routines, dungeon adventures)

Requirements

Required

  • Homie MCP Server running at https://localhost:3333
  • At least one screen device connected to Homie

Optional (Enhanced Features)

  • Home Assistant — For light control
  • Edge-TTS — For enhanced voice narration
  • Philips Hue / smart lights configured in HA

Installation

1. Ensure Homie is Running

cd ~/dev/homie
bun run src/index.ts

Or if using launchd:

launchctl start com.ryan.homie

2. Configure MCP in Your Agent

Add to your agent's MCP config:

{
  "mcpServers": {
    "homie": {
      "url": "https://localhost:3333/mcp",
      "transport": "http"
    }
  }
}

3. Connect Screens

Navigate any device with a browser to:

https://YOUR_HOMIE_IP:3333/?screen=SCREEN_NAME

Example: https://192.168.1.250:3333/?screen=living-room

4. Configure Home Assistant (Optional)

Set in ~/dev/homie/.env:

HA_URL=ws://homeassistant.local:8123/api/websocket
HA_HTTP_URL=http://homeassistant.local:8123
HA_TOKEN=your_long_lived_access_token

Quick Test

Once installed, try these commands with your AI agent:

"Set cozy mood"
"Show the time on all screens"  
"Run movie night"
"Run Shadow of Malvorth"

Built-in Experiences

Experience Description
shadow-of-malvorth Epic 7-act dungeon adventure with lights, screens, and narration
good-morning Gentle wake-up with sunrise lighting
movie-night Cinema ambiance with bias lighting
wind-down Evening transition to restful atmosphere
ambient Beautiful always-on living wallpaper

🎨 Want more? Browse and download from the Experience Gallery!

Creating Custom Experiences

Experiences are YAML files in ~/dev/homie/public/experiences/.

Basic structure:

name: My Experience
description: What it does
tags: [custom]

acts:
  - name: First Act
    steps:
      - type: light_mood
        mood: cozy
        delay_ms: 0

      - type: speak
        text: Welcome!
        delay_ms: 1000

Step Types

Type Description
light_mood Apply mood preset
light_set Set specific light
light_effect Run effect (pulse, flicker, etc)
screen_update_all Push HTML to all screens
speak Text-to-speech
play_audio Play audio file
wait Pause execution

Mood Presets

Mood Use Case
cozy Evening relaxation
focus Work/productivity
movie Film watching
party Entertainment
sleep Bedtime
combat Gaming/action
romantic Date night

File Structure

~/dev/homie/
├── src/
│   ├── lights.ts         # Light control module
│   ├── experiences.ts    # Experience orchestration
│   └── mcp-http.ts       # MCP server (extended)
│
└── public/experiences/
    ├── shadow-of-malvorth.yaml
    ├── good-morning.yaml
    ├── movie-night.yaml
    ├── wind-down.yaml
    └── ambient.yaml

Troubleshooting

"No lights found"

  • Check Home Assistant is running
  • Verify HA_TOKEN is valid
  • Run light_list to see available entities

"Screen not connected"

  • Ensure screen is navigated to Homie URL
  • Check get_screens for connection status
  • Try refreshing the screen browser

"Experience not found"

  • Run experience_list to see available experiences
  • Check YAML file exists in experiences directory
  • Ensure YAML syntax is valid

Version

v1.0.0 — February 2026

License

Part of the Homie ecosystem. For personal use.

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.