Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes.

MITAuto-check passed

Install Switchbot

skills CLI
$ npx skills add Anil-matcha/awesome-muse-connectors --skill switchbot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Anil-matcha/awesome-muse-connectors switchbot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Anil-matcha/awesome-muse-connectors.git skills-src && mkdir -p .claude/skills && cp -r skills-src/connectors/switchbot .claude/skills/switchbot && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
switchbot
GitHub stars
1.3k
Token cost
~1.4k tokens
SKILL.md length
458 words
Files
2
Skills in repo
153
Repo updated
First seen
Licence
MIT

At a glance

Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes.

  • Works in 8 steps: HIGH actuations are blocked without… → MEDIUM actuations confirm on first use… → LOW actuations proceed with a logged… → …
  • Phrases: switchbot
  • SKILL.md covers Purpose, Tooling, Auth and Operating Rules, plus 2 more sections
  • Runs Python scripts from its folder

What it does

Switchbot is an agent skill from Anil-matcha/awesome-muse-connectors. Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes. Trigger phrases: switchbot, switchbot lock, switchbot bot, switchbot curtain.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `bin/switchbot.py`).

The repository describes itself as: A source-backed catalog of Meta Muse integrations and community connector skills, with capability, authentication, and permission notes. The licence is MIT.

When your agent uses it

  • Phrases: switchbot
  • Switchbot curtain

Example prompts

  • “/switchbot”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. HIGH actuations are blocked without explicit confirmation. lock and
  2. MEDIUM actuations confirm on first use per device. Bot press
  3. LOW actuations proceed with a logged notice. Curtain and Blind Tilt
  4. A scene's physical effects are whatever the user saved into it. Read back
  5. Reads (auth, devices, status, scenes) never need confirmation.
  6. Rate limit: about 10,000 requests/day. Poll status sparingly.
  7. Open item: the HMAC signature is computed over the credential
  8. Never exfiltrate the credential: the CLI only ever handles surrogates. Do

What it can do on your machine

Read from SKILL.md and the folder at commit d6dc5d8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Switchbot loads about 1.4k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 458 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Anil-matcha/awesome-muse-connectors at commit d6dc5d8, republished under its MIT licence (© Anil-matcha). 458 words, ~1,412 tokens.

Download SKILL.mdSave it as .claude/skills/switchbot/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
switchbot
description
Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes. Trigger phrases: switchbot, switchbot lock, switchbot bot, switchbot curtain.
metadata.includeInPrompt
true
tagline
Read status and send commands to SwitchBot devices over the official OpenAPI v1.1: SwitchBot Bot (physical button presser), SwitchBot Lock, Curtain and Blind…
catalog_auth
token + secret pair via the secure credential flow
catalog_hosts
api.switch-bot.com

SwitchBot

Purpose

Read status and send commands to SwitchBot devices over the official OpenAPI v1.1: SwitchBot Bot (physical button presser), SwitchBot Lock, Curtain and Blind Tilt motors, plugs, lights, air conditioners, infrared remotes, and saved scenes. Use it when the user asks about or wants to change anything in their SwitchBot setup. Commands drive real physical hardware, so writes are confirmation-gated (see Operating Rules).

Tooling

All commands go through bin/switchbot.py:

bash
bin/switchbot.py auth                                   # status check: verify token, count devices
bin/switchbot.py devices                                # list devices and IR remotes
bin/switchbot.py status --id <deviceId>                 # read device status

# Writes. lock/unlock are HIGH: they REQUIRE --confirm naming the exact
# physical effect, on every run:
bin/switchbot.py command --id <deviceId> --command lock \
    --confirm "lock the back door SwitchBot lock"
bin/switchbot.py command --id <deviceId> --command unlock \
    --confirm "unlock the back door SwitchBot lock"

# press / turnOn / turnOff / setAll are MEDIUM: --confirm on first use per
# device, then proceed:
bin/switchbot.py command --id <deviceId> --command press \
    --confirm "press the coffee machine power button with the SwitchBot Bot"
bin/switchbot.py command --id <deviceId> --command turnOn \
    --confirm "turn on the SwitchBot plug in the workshop"
bin/switchbot.py command --id <deviceId> --command setAll \
    --param mode=1 --param temperature=24 --param fanSpeed=2 \
    --confirm "set the bedroom AC to cool 24 degrees, fan medium"

# Curtain/blind moves (setPosition) are LOW: they proceed with a logged notice:
bin/switchbot.py command --id <deviceId> --command setPosition --param position=0

# Scenes are HIGH (their effects are whatever was saved into them):
bin/switchbot.py scenes
bin/switchbot.py scene-execute --scene-id <sceneId> \
    --confirm "run the Movie Night scene (dims lights, closes curtains)"

--param KEY=VALUE builds the command's parameter as a JSON object (setPosition uses position, AC setAll uses mode, temperature, fanSpeed, power). For simple commands (press, turnOn, turnOff, lock, unlock) omit --param and the default parameter "default" is used, or pass --parameter with a raw string.

Auth

  • Provider id: switchbot (credential is collected as custom.switchbot)
  • Collection: ONE combined value token:secret via the secure credential flow (credentials.request_api_access). In the SwitchBot app go to Profile > Preferences, tap the app version several times to reveal developer options, and copy the open token plus the secret. The CLI sends the token in the Authorization header and an HMAC-SHA256 signature of token + t + nonce (keyed by the secret) in the sign header, with t and nonce headers.
  • BLE devices (Bot, Lock, Curtain, Blind Tilt) need a SwitchBot Hub with cloud services enabled to be reachable through this API.
  • Allowed hosts: api.switch-bot.com
  • Status check: bin/switchbot.py auth
Show full SKILL.md (240 more words)Show less

Operating Rules

  1. HIGH actuations are blocked without explicit confirmation. lock and unlock on a SwitchBot Lock, and scene executions, require --confirm "<exact physical effect>" on every run. Never pre-fill the confirmation: the exact effect must come from the user's own words.
  2. MEDIUM actuations confirm on first use per device. Bot press (physically presses a real button), plug and light toggles, and AC commands (setAll, setMode) need --confirm the first time a device is actuated; the CLI records it locally (~/.config/muse-connectors/switchbot/confirmed.json) and later runs proceed.
  3. LOW actuations proceed with a logged notice. Curtain and Blind Tilt moves (setPosition) print a notice to stderr and run without confirmation.
  4. A scene's physical effects are whatever the user saved into it. Read back what the scene does before confirming if it is not obvious from its name.
  5. Reads (auth, devices, status, scenes) never need confirmation.
  6. Rate limit: about 10,000 requests/day. Poll status sparingly.
  7. Open item: the HMAC signature is computed over the credential surrogate as delivered by the credential store. Confirm the signature verifies against SwitchBot's servers on first live use before trusting signed calls.
  8. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the token or secret values.

Files

  • SKILL.md
  • bin/switchbot.py

Maturity

🧪 Draft: written from SwitchBot's public OpenAPI v1.1 docs; not yet live-tested end-to-end. The signature-header construction and the command parameter shapes are untested against real SwitchBot devices.

© Anil-matcha, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in connectors/switchbot of Anil-matcha/awesome-muse-connectors.

  • SKILL.md
  • bin/switchbot.py

Open the folder on GitHubat commit d6dc5d8

Compare with similar skills

Switchbot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Switchbot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Switchbot this skillAnil-matcha/awesome-muse-connectors1.3k—~1.4kAutomated safety check: PassMIT
Bot Handoffvectorize-io/hindsight46k—~496Automated safety check: PassMIT
RuView Sensing Device Accessruvnet/RuView97k—~737Automated safety check: PassMIT
Telegram Bot Builderdavila7/claude-code-templates32k3 repos~1.5kAutomated safety check: NotesMIT
Analyzing Usb Device Connection Historymukul975/Anthropic-Cybersecurity-Skills34k—~3.4kAutomated safety check: PassApache-2.0
Bot Channel Acceptance Testinglobehub/lobehub83k—~1kAutomated safety check: PassCustom licence

Similar skills

  • Bot Handoff

    vectorize-io/hindsight

    Keep a durable record of work passed between Bots in the shared Hindsight memory bank.

    46k GitHub stars~496 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Reaches RuView sensing hardware, such as ESP32 CSI nodes, mmWave radars, RPLIDAR and iPhone LiDAR, from the host it is plugged into or over SSH.

    97k GitHub stars~737 tokensUpdated today
    DevelopmentAuto-check passed
  • Telegram Bot Builder

    davila7/claude-code-templates

    Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots.

    32k GitHub starsUsed in 3 repos~1.5k tokens
    Productivity & AutomationAuto-check: notes
  • Analyzing Usb Device Connection History

    mukul975/Anthropic-Cybersecurity-Skills

    Correlate Windows registry keys (USBSTOR, MountedDevices), Event Logs, and setupapi.dev.log to reconstruct USB device connection history, first/last-plugged timestamps, and drive letter mappings.

    34k GitHub stars~3.4k tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Extends a project's acceptance process to real chat bot channels: Discord, Slack, Telegram, WeChat, Lark, QQ, and iMessage on macOS.

    83k GitHub stars~1k tokensUpdated today
    Testing & QAAuto-check passed
  • Mdm Device Management

    sickn33/agentic-awesome-skills

    Manage and secure company devices with MDM solutions. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~3k tokens
    DevOps & CloudAuto-check: notes

More from Anil-matcha/awesome-muse-connectors

All 153 skills in this repo
  • Aqara

    Anil-matcha/awesome-muse-connectors

    Read and control Aqara smart home devices: plugs, switches, lights, AC, locks, curtains, scenes.

    1.3k GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Beatoven

    Anil-matcha/awesome-muse-connectors

    Beatoven.ai royalty-free music generation: compose tracks, poll tasks, download audio, fetch individual stems.

    1.3k GitHub starsUsed in 1 repo~823 tokens
    Auto-check passed
  • Framer

    Anil-matcha/awesome-muse-connectors

    Check a Framer project's Server API connection: verify the per-project API key with the official handshake.

    1.3k GitHub starsUsed in 1 repo~851 tokens
    Auto-check passed
  • Airtable

    Anil-matcha/awesome-muse-connectors

    List Airtable bases, read table records, and add records. An agent skill from Anil-matcha/awesome-muse-connectors.

    1.3k GitHub stars~511 tokensUpdated 2 days ago
    Auto-check passed
  • Alphavantage

    Anil-matcha/awesome-muse-connectors

    Stock quotes and daily price history. An agent skill from Anil-matcha/awesome-muse-connectors.

    1.3k GitHub stars~517 tokensUpdated 2 days ago
    Auto-check passed
  • Amadeus

    Anil-matcha/awesome-muse-connectors

    Search travel with Amadeus: flight offers and prices, airport autocomplete, hotel offers, cheapest dates.

    1.3k GitHub stars~699 tokensUpdated 2 days ago
    Auto-check passed

Questions about Switchbot

What does Switchbot do?

Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes. Switchbot is an agent skill from Anil-matcha/awesome-muse-connectors. Read and control SwitchBot devices: Bots, Locks, curtains, plugs, lights, AC, IR remotes, scenes.

When should I use Switchbot?

Switchbot fits situations like: phrases: switchbot; switchbot curtain.

How do I install Switchbot in Claude Code?

Run `npx skills add Anil-matcha/awesome-muse-connectors --skill switchbot -a claude-code`. Or copy the skill folder (connectors/switchbot in Anil-matcha/awesome-muse-connectors) into .claude/skills/switchbot in your project. Claude Code loads it when a task matches its description.

How do I install Switchbot in Codex?

Run `npx skills add Anil-matcha/awesome-muse-connectors --skill switchbot -a codex`. Or copy the skill folder (connectors/switchbot in Anil-matcha/awesome-muse-connectors) into .agents/skills/switchbot in your project. Codex loads it when a task matches its description.

Can I use Switchbot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Anil-matcha/awesome-muse-connectors --skill switchbot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/switchbot, .gemini/skills/switchbot, .github/skills/switchbot and .opencode/skills/switchbot in your project.

What does Switchbot need to run?

Going by SKILL.md and its folder, Switchbot needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Switchbot access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Switchbot safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Switchbot use?

Switchbot is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Switchbot use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Switchbot?

Skills that share tags, products or a category with Switchbot: Bot Handoff (vectorize-io/hindsight, 46k stars), RuView Sensing Device Access (ruvnet/RuView, 97k stars), Telegram Bot Builder (davila7/claude-code-templates, 32k stars) and Analyzing Usb Device Connection History (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Switchbot?

Anil-matcha (a GitHub user) maintains it in Anil-matcha/awesome-muse-connectors, which has 1,334 GitHub stars. The repository holds 153 skills in this directory. The repository was last updated on October 5, 2026.

Source: Anil-matcha/awesome-muse-connectors on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.