Borrowing it
Nothing to install: this file belongs to sirkirby/unifi-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/sirkirby/unifi-mcp/main/.agents/skills/live-smoke-testing/SKILL.mdgit clone --depth 1 https://github.com/sirkirby/unifi-mcpWrote 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/sirkirby/unifi-mcp/live-smoke-testing)<a href="https://agentmods.dev/skills/sirkirby/unifi-mcp/live-smoke-testing"><img src="https://agentmods.dev/badge/skills/sirkirby/unifi-mcp/live-smoke-testing/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/sirkirby/unifi-mcp/live-smoke-testing"><img src="https://agentmods.dev/badge/skills/sirkirby/unifi-mcp/live-smoke-testing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 7 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 6 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 67 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 177 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Tool Misuse · line 55 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Anti-Refusal · line 69 Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.Fix: Remove instructions that suppress warnings, disclaimers, or ethical commentary. Let the agent surface safety-relevant caveats to the user.
- medium MCP Rug Pull · line 413 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 514 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
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.00185 | $0.07988 |
| Opus 5.5 | $0.00074 | $0.03195 |
| Sonnet 5.5 | $0.00037 | $0.01598 |
| Haiku 4.5 | $0.00018 | $0.00799 |
Grade A, and why
myco:live-smoke-testing scanned grade A with 1 finding 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 1mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -k https://$UNIFI_HOST How it starts
The opening of the file, as written. The whole thing — 533 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Live Smoke Testing Against Real UniFi Hardware
scripts/live_smoke.py is the manifest-driven live hardware test harness. It validates API
contracts that mock-based CI (unit tests, golden fixtures) structurally cannot catch — auth
token expiry, payload normalization, API version mismatches, and hardware-specific field
assumptions. Live smoke runs caught multiple critical bugs before merge. Run live smoke
before every major merge that touches API-facing code.
Prerequisites
Before any live run, ensure:
-
.envfile at project root (gitignored) with real credentials:UNIFI_HOST=<controller-hostname-or-ip> UNIFI_USERNAME=<admin-username> UNIFI_PASSWORD=<admin-password> UNIFI_SITE=<site-id> # usually "default" # For Access domain: UNIFI_ACCESS_API_KEY=<access-api-key> -
Per-server
tools_manifest.jsonis up-to-date — the harness auto-discovers tools from each server's manifest. During development, verify your local module's manifest is current:# Check where each server's manifest is located find . -name "tools_manifest.json" -type fNew tools registered in the manifest are automatically included in smoke runs; no manual harness edits are needed just to add read-only or preview coverage for a newly registered tool. If adding a new tool, verify the manifest entry exists and
safety_tier()classification is correct (see Procedure A). -
Target hardware is reachable — verify connectivity before running:
curl -k https://$UNIFI_HOST -
Branch context — the harness lives in
scripts/live_smoke.pyon the main branch. When branching or bisecting, confirm you have the current harness code before running. -
Git worktree
.envplacement —scripts/live_smoke.pyderives its repo root from its own file location (Path(__file__).resolve().parents[1]) and loads.envfrom that root. In a git worktree the root resolves to the worktree directory, NOT the main checkout. Copy or symlink your credentials file from the main checkout into the worktree root before running:ln -s /path/to/main-checkout/.env /path/to/worktree/.envOmitting this causes silent credential-not-found failures with no warning.
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.
- 1mo ago Changed · +10 lines b59c08de6d2e
- 1mo ago First seen · 523 lines · 185 tokens per session scan A 59b5f9c678a8
myco:live-smoke-testing is a skill published in the GitHub repository sirkirby/unifi-mcp (955 stars, last pushed yesterday), licensed MIT. It adds 185 tokens to every session and 7,988 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
streamdeck-designer
Design, theme, and author complete Stream Deck layouts for the user's hardware using the streamdeck-mcp tools. Use whenever the user wants a custom Stream Deck setup, asks for a themed deck (e.g. "hello-kitty Twitch deck", "retrowave music controls", "a dev deck for this repo"), wants buttons or dials configured for…
streamdeck-profile
Use this skill when you need to configure Elgato Stream Deck desktop profiles without taking USB control of the hardware.
unifi-udm-pro-mcp
UniFi UDM Pro MCP Server for managing networks, connected clients, Wi-Fi settings, and device health via Model Context Protocol.
unifi-network
Manage and inspect a UniFi home or small-office network using the unifi-mcp tools. Use this skill when asked about UniFi devices, access points, switches, gateways, connected clients, WiFi networks (SSIDs), VLANs, firewall policies or zones, ACL rules, local DNS records, VPNs, or hotspot vouchers — for example "what's…
bat-story-eval
Compare MCP tool behavior between target and baseline versions using pre-built and custom stories with diff-based triage.
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.