streamdeck-profile

A tool for configuring Elgato Stream Deck desktop profiles, which control the buttons and dials shown in the Stream Deck app. It edits profile files without taking control of the connected hardware.

In plain words
What is it for?
It helps discover profiles and pages, inspect and reuse configured actions, add new plugin actions, and create button icons or text labels.
Why use it?
It avoids manually editing profile data or changing the physical device while you set up desktop actions.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/verygoodplugins/streamdeck-mcp/streamdeck-profile
Any agent
npx skills add verygoodplugins/streamdeck-mcp --skill streamdeck-profile
Clone the repo
git clone --depth 1 https://github.com/verygoodplugins/streamdeck-mcp

Made for: Claude Code, Codex.

Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,624 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01624
Opus 5 $0.00000 $0.00812
Sonnet 5 $0.00000 $0.00325
Haiku 4.5 $0.00000 $0.00162

Measured 2d ago against content hash d24273267ed7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

streamdeck-profile scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/streamdeck-profile/SKILL.md · 126 lines

How it starts

The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Stream Deck Profile Writer

Use this skill when you need to configure Elgato Stream Deck desktop profiles without taking USB control of the hardware.

Default Workflow

  1. Call streamdeck_read_profiles to discover the active profiles root and page directory_id values.
  2. Call streamdeck_read_page before editing an existing page so you can inspect the current native action objects.
  3. Reuse installed plugin actions first. Call streamdeck_find_actions (by query, plugin_name, or plugin_uuid) to locate configured buttons/dials across profiles. Paste each hit's action into streamdeck_write_page. If you already know the source page, copy button.raw from streamdeck_read_page instead.
  4. Only when nothing is configured: call streamdeck_read_plugins for plugin/action UUIDs and best-effort settings_fields, then synthesize with plugin_uuid + action_uuid + settings on write.
  5. Use streamdeck_create_icon for button art. Pass icon with a Material Design Icons name like mdi:cpu-64-bit, mdi:volume-high, or mdi:github (~7400 glyphs bundled) plus icon_color and bg_color for a glyph; or pass text alone for a text-only icon. icon and text are mutually exclusive — set the button's title on streamdeck_write_page for labels, since Elgato overlays titles on images.
  6. Use streamdeck_create_action when you need a custom shell-command button (no matching plugin action). It creates an executable script in ~/StreamDeckScripts/ and returns a ready-to-insert Open action block.
  7. Call streamdeck_write_page with directory_id for the safest updates on existing pages.
  8. Call streamdeck_restart_app on macOS if the Stream Deck desktop app does not pick up changes immediately.

Reusing a found action

{
  "key": 0,
  "title": "Office Light",
  "action": { "...paste hit.action from streamdeck_find_actions..." }
}

For dials/encoders, prefer the hit's ready-made button object (includes controller) or pass controller: hit.controller explicitly — otherwise write_page defaults to keypad.

Read the full file on GitHub · 126 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 126 lines · 0 tokens per session scan A d24273267ed7

Subscribe to this mod's changes

streamdeck-profile is a skill published in the GitHub repository verygoodplugins/streamdeck-mcp (40 stars, last pushed 20d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,624 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

ha-integration-knowledge

Everything you need to know to build, test and review Home Assistant Integrations. If you're looking at an integration, you must use this as your primary reference.

home-assistant/core · 38 tokens

myco:live-smoke-testing

Activate this skill when running, interpreting, extending, or debugging the live hardware smoke test harness in scripts/livesmoke.py. Covers all aspects of manifest-driven live testing against real UniFi hardware: .env credential setup, tool classification tiers, --phase flag selection to bound blast radius, the…

sirkirby/unifi-mcp · 185 tokens

myco:unifi-client-data-correctness

Apply this skill whenever modifying, debugging, or extending UniFi client data retrieval in the unifi-mcp monorepo — even if the user doesn't explicitly ask about correctness or fallback behavior. Covers five permanent architectural fixtures of clients.py: (1) choosing the right endpoint (/stat/sta for live clients…

sirkirby/unifi-mcp · 222 tokens

firewall-manager

Manage UniFi firewall policies using natural language — create, modify, and review firewall rules, content filters, and traffic policies. Use when asked to block traffic, create firewall rules, manage content filtering, set up time-based access controls, or review firewall configuration.

sirkirby/unifi-mcp · 56 tokens

unifi-access-setup

Configure the UniFi Access MCP server for Claude Code, Codex, or OpenClaw — set controller host, credentials, API key, and permissions.

sirkirby/unifi-mcp · 36 tokens

unifi-network

How to manage UniFi network infrastructure — devices, clients, firewall, VPN, routing, WLANs, Traffic Flows, and statistics. Use this skill when the user mentions UniFi, Ubiquiti, network management, WiFi configuration, firewall rules, port forwarding, VPN, QoS, bandwidth, traffic flows, connected clients, network…

sirkirby/unifi-mcp · 83 tokens