shelly
Read and control Shelly smart relays, plugs, lights, covers, shutters, shades, sensors, and energy devices through local Gen1/Gen2 HTTP APIs, Shelly Gen2 RPC…
Skill by HybridAIOne
Chalk Labs
Need help deploying shelly?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hybridaione-shelly
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/shelly
What's inside
- Skill name
shelly- Description
- Read and control Shelly smart relays, plugs, lights, covers, shutters, shades, sensors, and energy devices through local Gen1/Gen2 HTTP APIs, Shelly Gen2 RPC methods such as Cover.GetConfig and Cover.GetStatus, or the Shelly Cloud Control API with guarded output changes.
- License
- MIT
- Instructions
- 205 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- shelly.cjs
SKILL.md (first lines)
# Shelly
Use this skill for Shelly device inspection and guarded control through the
bundled helper. Keep the markdown instructions generic; API-specific request
construction belongs in `shelly.cjs`.
## Core Contract
- Run Shelly HTTP operations through `skills/shelly/shelly.cjs`. Do not
handcraft Shelly URLs or JSON bodies when the helper supports the operation.
- The helper executes HTTP operations through the HybridClaw gateway, so normal
Shelly reads and writes should be a single helper command. Use `--request`
only when an explicit request specification is needed for debugging or code
review. For WebSocket planning outputs, use the emitted `webSocket` object as
the complete connection or message specification.
- Read state before any relay, switch, light, or cover control operation.
- Treat control operations as amber. Before asking for approval, build an
`approval-plan` for the selected operation and include its
`approvedHelperCommandText` in the approval request. Stop after presenting
the plan. Only after the operator confirms in a later message, run that
helper command exactly and use its emitted request specification unchanged.
- Do not perform factory reset, reboot, firmware update, Wi-Fi reset, auth
changes, or certificate upload through this skill.
## Helper Operations
Use this command surface directly; do not rediscover flags by trial and error.
Run `node skills/shelly/shelly.cjs --help` only when the surface below appears
stale. The helper owns the Shelly API method, path, body selection, gateway
dispatch, secret injection, and response wrapping. Normal HTTP commands execute
the request and return `command: "live"`, the operation, a redacted request
summary, and the gateway result. `--request` emits a request wrapper containing
`command`, `operation`, `stakesTier`, and `httpRequest` without executing it.
WebSocket helpers emit `webSocket` instead of `httpRequest`. `approval-plan`
emits no `httpRequest`; it validates an amber command and returns the exact
approved helper command to run after confirmation.
Command surface:
```text
node skills/shelly/shelly.cjs [--format json|pretty] [--request] <resource> <action> [flags]
node skills/shelly/shelly.cjs [--format json|pretty] approval-plan <resource> <action> [flags]
device info --device-url http://192.0.2.10 [--ident]
device status --device-url http://192.0.2.10
device config --device-url http://192.0.2.10
device methods --device-url http://192.0.2.10
device components --device-url http://192.0.2.10 [--include status] [--include config] [--key switch:0]
cover config --device-url http://192.0.2.10 --id 0
cover status --device-url http://192.0.2.10 --id 0
cover open --device-url http://192.0.2.10 --id 0 --operator-grant
cover close --device-url http://192.0.2.10 --id 0 --operator-grant
cover stop --device-url http://192.0.2.10 --id 0 --operator-grant
cover goto --device-url http://192.0.2.10 --id 0 --position 50 --operator-grant
cover status --cloud-host https://<HOST> --device-id abc123
cover goto --cloud-host https://<HOST> --device-id abc123 --position 50 --operator-grant
switch status --device-url http://192.0.2.10 --id 0
switch set --device-url http://192.0.2.10 --id 0 --on true --operator-grant
switch toggle --device-url http://192.0.2.10 --id 0 --operator-grant
switch set --cloud-host https://<HOST> --device-id abc123 --on true --operator-grant
relay status --device-url http://192.0.2.10 --id 0
relay set --device-url http://192.0.2.10 --id 0 --turn on|off|toggle --operator-grant
light set --cloud-host https://<HOST> --device-id abc123 --on true --brightness 50 --operator-grant
cloud state --cloud-host https://<HOST> --device-id abc123 --select status
cloud all-status --cloud-host https://<HOST>
cloud oauth-token --cloud-host https://<HOST>
cloud websocket-url --cloud-host https://<HOST>
cloud websocket-command --cloud-host https://<HOST> --device-id abc123 --cmd roller_to_pos --params-json '{"id":0,"pos":50}' --operator-grant
gen1 get --device-url http://192.0.2.10 --path /settings [--query key=value]
gen1 set --device-url http://192.0.2.10 --path /settings/relay/0 --query default_state=on --operator-grant
rpc get --device-url http://192.0.2.10 --method Cloud.GetStatus [--param id=0] [--params-json '{}']
rpc call --device-url http://192.0.2.10 --method Cover.Calibrate --params-json '{"id":0}' --operator-grant
```
Supported operation groups:
- Device reads: local info, status, config, method list, and components; cloud
state when routed with cloud inputs.
- Generic Gen1 and Gen2 coverage: documented Gen1 HTTP paths and documented
Gen2 RPC methods.
- Cover reads/control: config, status, open, close, stop, and go-to-position.
- Switch and relay reads/control: status, set, and toggle where supported.
- Light control: cloud set operations.
- Cloud account reads and event planning: v2 state by known ids, OAuth token
exchange, Real Time Events all-status, WebSocket URL, and command-message
construction.
## Selection Workflow
1. Prefer local Gen2+ reads when a local device URL is available and reachable.
2. Fall back to Gen1 reads for older devices.
3. Use Real Time Events OAuth for account-level cloud discovery.
4. Use Cloud Control API v2 for known device ids, especially when local access
is unavailable or the requested device is remote.
5. For control, use the matching helper command and include `--operator-grant`
only after explicit approval.
When the operator explicitly asks for local, LAN, or RPC access, stay on the
local helper route. If local execution fails, report the local failure and the
gateway error; do not substitute a cloud result unless the operator then asks
for a cloud fallback.
## Required Inputs
Collect only the inputs needed for the chosen surface.
| Input | Where it comes from | Used for |
| --- | --- | --- |
| Local device URL or IP | Router/DHCP data, Shelly app network details, local DNS, or a verified URL | Local Gen1/Gen2 reads and control |
| Cover or switch channel id | Local component keys such as `cover:0` or `switch:0` | Component-specific local/cloud operations |
| Shelly Cloud tenant server URI | Shelly Smart Control user settings; OAuth JWT `user_api_url` can also identify it | Cloud Control v2 and Real Time Events |
| `SHELLY_CLOUD_AUTH_KEY` | Shelly Smart Control user settings, Authorization Cloud Key | Cloud Control v2 for known device ids |
| Device id | Shelly Smart Control device details, Device Information, Device Id | Cloud Control v2 state/control |
| `SHELLY_CLOUD_ACCESS_TOKEN` | Captured OAuth access token | Real Time Events account discovery |
| `SHELLY_OAUTH_CODE` | Temporary OAuth authorization code from the callback URL | One-time token exchange |
## Access to Local Devices
Local device requests require the HybridClaw runtime to reach the deviceFrom HybridAIOne/hybridclaw, MIT.
More from HybridAIOne/hybridclaw
- 0.720score
manim-video
HybridAIOne
Plan, script, render, and stitch Manim Community Edition videos in Python.
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
datalion
HybridAIOne
Use for DataLion workflows such as listing, reading, creating, or editing projects, inspecting data sources, importing Excel or CSV data, working with reports…
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
langfuse
HybridAIOne
Use Langfuse for LLM observability and evaluation and look up Langfuse documentation.
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
hermes3000-writing
HybridAIOne
Use Hermes3000 to plan, draft, revise, save, check consistency, and export long-form manuscripts through the Hermes3000 AI writing portal API.
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
human-distill
HybridAIOne
Distill a real person into a hireable coworker agent from their source material — chat exports, emails, meeting transcripts, documents, interviews, and live…
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
ga4
HybridAIOne
Run production Google Analytics 4 Data API reports with gateway-injected bearer auth, safe request review, traffic source, landing-page, time-series, revenue…
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
meme-generation
HybridAIOne
Generate meme images from curated classic templates, dynamic imgflip templates, or a custom image.
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
excalidraw
HybridAIOne
Create and revise editable `.excalidraw` diagrams as Excalidraw JSON for architecture diagrams, flowcharts, sequence diagrams, concept maps, and other…
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
diagram
HybridAIOne
Create, validate, update, and render diagram-as-code artifacts with Mermaid-first schema awareness plus PlantUML, Graphviz DOT, and Excalidraw JSON adapters.
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
agentic-tpm
HybridAIOne
Coordinate cross-functional project delivery by tracking commitments, dependencies, decisions, and risks; maintain project context and prepare bounded…
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
distil-pii-redactor
HybridAIOne
Redact, anonymize, sanitize, or remove PII locally with Distil-PII and llama.cpp; keep personal data and secret values out of model context, logs, and chat.
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
google-ads
HybridAIOne
Manage Google Ads accounts with safe GAQL reporting, campaign planning, guarded mutations, and gateway-proxied REST API calls.
SkillAFreshness: A★ 159Claude Code +9
Signals
- Stars
- 159
- Forks
- 17
- Open issues
- 323
- Last commit (this folder)
- Jul 2, 2026 (4 months ago)
- Last release
- Oct 24, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/HybridAIOne/hybridclaw
- Website
- www.hybridclaw.io/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from HybridAIOne
- 0.720score
human-distill
HybridAIOne
Distill a real person into a hireable coworker agent from their source material — chat exports, emails, meeting transcripts, documents, interviews, and live…
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
manim-video
HybridAIOne
Plan, script, render, and stitch Manim Community Edition videos in Python.
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
datalion
HybridAIOne
Use for DataLion workflows such as listing, reading, creating, or editing projects, inspecting data sources, importing Excel or CSV data, working with reports…
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
hermes3000-writing
HybridAIOne
Use Hermes3000 to plan, draft, revise, save, check consistency, and export long-form manuscripts through the Hermes3000 AI writing portal API.
SkillAFreshness: A★ 159Claude Code +9 - 0.720score
langfuse
HybridAIOne
Use Langfuse for LLM observability and evaluation and look up Langfuse documentation.
SkillAFreshness: A★ 159Claude Code +9 - 0.716score
meme-generation
HybridAIOne
Generate meme images from curated classic templates, dynamic imgflip templates, or a custom image.
SkillAFreshness: A★ 159Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get shelly running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
shelly skill. Agent Mart. https://agentmart.dev/skills/hybridaione-shelly (last updated 2026-10-24)