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 | $0.00093 | $0.03994 |
| Sonnet 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 4d 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.
- 4d ago Changed · +10 lines b59c08de6d2e
- 12d 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 (803 stars, last pushed today), licensed MIT. It adds 185 tokens to every session and 7,988 once invoked, about $0.0009 per session on Opus 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.
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.
flutter-mcp-toolkit-control
Drive a running Flutter app — tap, scroll, type, fill forms, hot-reload, navigate. Use when you need to interact with the UI.