Guide · Agent skill
How to use the Eight Sleep Pod Control agent skill (eightctl)
Updated · written with AI from the project's own documentation and checked against our catalogue data
The eightctl skill gives an AI agent the ability to run the eightctl command-line tool, which controls an Eight Sleep smart bed pod. It is written for Eight Sleep owners who want to check their pod's status, change the temperature, or manage alarms and schedules by asking an assistant in plain language. By the end of this guide you will know what the skill does, how to install it, how to phrase requests, and what safety points to check first.
Quick start
- 1Install Go and eightctl. Install a Go toolchain, then run the go install command for github.com/steipete/eightctl/cmd/eightctl@latest.
- 2Download the skill ZIP. Download the eightctl skill ZIP from this page and unzip it.
- 3Place the skill folder. Move the folder into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 4Add your Eight Sleep login. Create ~/.config/eightctl/config.yaml or set EIGHTCTL_EMAIL and EIGHTCTL_PASSWORD.
- 5Test with eightctl status. Run eightctl status in a terminal to confirm the login and connection work.
- 6Make a request. Ask the agent a natural request such as checking status or setting a temperature, and confirm when it asks.
What is an agent skill, and what does eightctl let the agent do?
An agent skill is a folder containing instructions (a SKILL.md file) that teaches an AI agent how to perform a specific task with tools it can reach on your computer. The eightctl skill's SKILL.md tells the agent which eightctl commands exist and when to use them.
Once installed, the agent can check the status of your Eight Sleep pod, turn it on or off, and set the temperature. It can also manage alarms, schedules, audio, and base (bed angle) settings. The skill tells the agent to confirm with you before changing temperature or alarms.
- Status: check the pod's current state
- Power: turn the pod on or off
- Temperature: set the temperature
- Alarms: list, create, or dismiss alarms
- Schedules: list, create, or update schedules
- Audio: check state, play, or pause
- Base: view info or change the bed angle
Install the eightctl command-line tool
The skill depends on the eightctl command-line tool, which the skill's metadata installs with Go. You need a Go toolchain on your machine for this step. The install entry in the skill points to github.com/steipete/eightctl/cmd/eightctl@latest.
Run the install from a terminal, then confirm the tool is available by checking its status with the command below.
go install github.com/steipete/eightctl/cmd/eightctl@latestInstall the skill: download, unzip, and place it
Download the ZIP for the eightctl skill from this page and unzip it. You have two options for where the skill folder goes. For a personal skill available across your projects, place it in ~/.claude/skills/. For a skill limited to one project, place it in that project's .claude/skills/ folder.
If you use the Claude apps instead of files on disk, you can upload the skill under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/
- Project only: .claude/skills/ inside the project folder
- Claude apps: Settings → Capabilities → Skills, then upload
Set up your Eight Sleep login
The skill requires your Eight Sleep account email and password. You can provide them in either of two ways: a config file at ~/.config/eightctl/config.yaml, or the environment variables EIGHTCTL_EMAIL and EIGHTCTL_PASSWORD.
Store these credentials only where you are comfortable doing so. Anyone who can read that file or those variables can access the account.
- Config file: ~/.config/eightctl/config.yaml
- Environment variables: EIGHTCTL_EMAIL and EIGHTCTL_PASSWORD
Ask the agent for what you want in plain language
Once the skill is installed and the login works, you can ask in ordinary words. The skill's quick-start commands map to requests such as checking status, turning the pod on or off, and setting a temperature. The example value in the skill is 20 for temperature, so phrase requests with a specific value you want.
When you ask for a change to temperature or alarms, expect the agent to confirm before it acts. This is intended behaviour in the skill's notes.
- "What is my Eight Sleep pod's status right now?"
- "Turn my pod off."
- "Set the temperature to 20."
- "List my alarms."
- "Show me my schedules."
- "Pause the audio on my pod."
Know the commands the skill uses
The skill lists these commands. You can run them yourself in a terminal to test the setup before relying on the agent.
Alarm and schedule commands accept the subcommands shown. Audio and base commands work the same way.
eightctl status
eightctl on|off
eightctl temp 20
eightctl alarm list|create|dismiss
eightctl schedule list|create|update
eightctl audio state|play|pause
eightctl base info|angleWhat people use it for
- Checking whether the pod is on before bed
- Setting a temperature change from a chat message
- Listing and dismissing alarms in the morning
- Pausing or playing audio as part of a bedtime routine
- Reviewing or updating schedules without opening the app
Frequently asked questions
How do I install the eightctl skill?
Download the ZIP for the skill from this page and unzip it. Place the folder in ~/.claude/skills/ for personal use, or in a project's .claude/skills/ folder. In the Claude apps, you can upload it under Settings → Capabilities → Skills.
What do I need to use eightctl?
You need the eightctl command-line tool, which the skill installs with Go, so a Go toolchain is required for that step. You also need your Eight Sleep account email and password, provided through a config file or environment variables.
Is the eightctl skill free?
The skill is published under the MIT licence. The source does not state any pricing, so check the project page for details beyond the licence.
Where do I store my Eight Sleep password?
The skill accepts it in ~/.config/eightctl/config.yaml or in the EIGHTCTL_EMAIL and EIGHTCTL_PASSWORD environment variables. Both places store the credentials on your machine, so only use them if you are comfortable with that.
Why does the agent ask me to confirm before changing the temperature?
The skill instructs the agent to confirm before changing temperature or alarms. This prevents unexpected changes to your bed while you are using it.
What should I do if the skill stops working or I get throttled?
The skill notes that the API is unofficial and rate-limited, and advises avoiding repeated logins. Wait before retrying, and avoid sending many requests in a short time. The source does not describe other troubleshooting steps.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Choose eightctl if you own an Eight Sleep pod, are comfortable installing a command-line tool, and want quick chat or voice control of status, temperature, alarms and schedules. Pick something else if you do not own an Eight Sleep pod, you are unwilling to store your account login locally, or you need a reliable supported integration, since the API is unofficial and rate-limited.
Download the skill