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.
npx skills add jenreh/harmonyhub-py --skill harmonyhubgit clone --depth 1 https://github.com/jenreh/harmonyhub-pyWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jenreh/harmonyhub-py/harmonyhub)<a href="https://agentmods.dev/skills/jenreh/harmonyhub-py/harmonyhub"><img src="https://agentmods.dev/badge/skills/jenreh/harmonyhub-py/harmonyhub/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jenreh/harmonyhub-py/harmonyhub"><img src="https://agentmods.dev/badge/skills/jenreh/harmonyhub-py/harmonyhub.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00048 | $0.01437 |
| Opus 5 | $0.00024 | $0.00718 |
| Sonnet 5 | $0.00010 | $0.00287 |
| Haiku 4.5 | $0.00005 | $0.00144 |
Grade A, and why
harmonyhub 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 9d 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.
How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
harmonyhub — Remote control
The user talks to you like a remote. You translate to a hub action. No technical terms in replies — keep it short and human ("OK, Pro7 läuft", "Lautstärke +", "TV aus").
Prefer the MCP tools (harmony_*) when available; fall back to the harmony CLI otherwise.
Hard rules
- Channel requests require the
Fernsehenactivity. Before anyharmony_set_channel(orharmony channel) call, runharmony_get_statusand verifycurrent_activity.activity_label == "Fernsehen". If it is anything else (incl.PowerOff,Apple TV sehen,Musik hören,TV), callharmony_start_activity("Fernsehen")first, wait ~5 s, then set the channel. Never skip the check. - Channel name (e.g. "Pro7", "ARD") → look up the number in the channel-name map below. Don't guess.
- Reply in one short sentence in the user's language. No tool names, no JSON.
What the user can ask for
| Intent | Examples (de/en) | Action |
|---|---|---|
| Switch to a TV channel | "schalte Pro7 ein", "watch ARD", "Sat1 bitte" | activity → Fernsehen, then channel |
| Change activity | "Apple TV", "Musik hören", "Fernsehen" | start activity by label |
| Turn everything off | "alles aus", "Feierabend", "power off", "schalt den Fernseher aus" | harmony_power_off |
| Volume | "lauter", "leiser", "louder", "quieter" | harmony_send_key volume_up / volume_down |
| Mute | "stumm", "mute", "Ton aus", "Ton an" | harmony_send_key mute |
| Channel +/- | "nächster Sender", "channel up", "zurück zappen" | harmony_send_key channel_up/channel_down |
| Pause / OK / Back on Apple TV menu | "OK", "zurück", "Menü" | harmony_send_key ok / back |
| Set channel by number | "Kanal 11", "channel 23" | harmony_set_channel "<n>" |
| What's on? | "was läuft", "current activity" | harmony_get_status |
Channel name map
Resolve broadcaster names (case-insensitive, dots/spaces ignored) to channel numbers:
| Channel | Names |
|---|---|
| 1 | ARD, Das Erste, Erstes |
| 2 | ZDF, Zweites |
| 3 | RTL, RTL Television |
| 4 | Sat1, Sat.1, Sateins |
| 5 | Pro7, ProSieben, Pro Sieben |
| 6 | RTL2, RTL II, RTL Zwei |
| 7 | VOX |
| 8 | Kabel Eins, Kabel1 |
| 9 | ZDFneo, ZDF Neo |
| 10 | Sixx, Sicks |
| 15 | WDR |
| 16 | NDR |
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.
- 9d ago First seen · 128 lines · 48 tokens per session scan A 23e1849fd134
harmonyhub is a skill published in the GitHub repository jenreh/harmonyhub-py (6 stars, last pushed 20d ago), licensed MIT. It adds 48 tokens to every session and 1,437 once invoked, about $0.0002 per session on Opus 5. 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-31.
Other skills, from other repositories
unifi-protect
How to manage UniFi Protect cameras and NVR — view cameras, smart detections, Find Anything detection search, recordings, snapshots, lights, sensors, Known Faces, license plates, and the Alarm Manager. Use this skill when the user mentions UniFi cameras, security cameras, NVR, recordings, motion detection, person…
unifi-access
How to manage UniFi Access door control — locks, credentials, visitors, access policies, and events. Use this skill when the user mentions UniFi Access, door locks, door access, building access, NFC cards, PIN codes, visitor passes, access policies, access schedules, door readers, or any UniFi Access task.
network-health-check
Run a UniFi network health check — diagnose device status, connectivity issues, firmware updates, and system health. Use when asked to check network health, find what's down, diagnose connectivity issues, or get a network status summary.
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…
unifi-access-support
Generate a sanitized UniFi Access support bundle, help the user review it locally, and prepare it for a bug report without posting it.
eplan-development
Develop EPLAN Electric P8 scripts, API extensions, and remote-control applications. Use when writing C# scripts for EPLAN (actions, event handlers, ribbon), accessing the EPLAN API (parts database, projects, pages), building external apps that drive EPLAN via Remote Client, or debugging EPLAN automation issues…