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 Josepavese/nido --skill nido-vm-testinggit clone --depth 1 https://github.com/Josepavese/nidoWrote 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/josepavese/nido/nido-vm-testing)<a href="https://agentmods.dev/skills/josepavese/nido/nido-vm-testing"><img src="https://agentmods.dev/badge/skills/josepavese/nido/nido-vm-testing.svg" alt="Measured on agentmods" 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.00069 | $0.01428 |
| Opus 5 | $0.00034 | $0.00714 |
| Sonnet 5 | $0.00014 | $0.00286 |
| Haiku 4.5 | $0.00007 | $0.00143 |
Grade A, and why
nido-vm-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 8d 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.
apt-get install -y ca-certificates curl git make How it starts
The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Nido VM Testing
Use Nido as a disposable VM lab for tests and agent workloads. Prefer real VMs when the result depends on system packages, init behavior, kernel isolation, networking, filesystem layout, OS services, or production-like assumptions that containers do not faithfully model.
Quick Start
Run the host preflight first:
nido doctor
nido images list
Minimal lifecycle:
cat > provision.sh <<'EOF'
#!/bin/sh
set -eux
apt-get update
apt-get install -y ca-certificates curl git make
EOF
nido spawn app-test --image ubuntu:24.04 --user-data provision.sh --port app:8080/tcp --memory 4096 --cpus 2 --json
nido info app-test --json
nido ssh app-test "echo ready"
nido delete app-test --json
For a ready automation example, run or adapt scripts/nido-ephemeral-test.sh.
Standard Workflow
- Choose an image or template. Use cloud images for clean OS tests. Use templates when prerequisites are expensive and stable.
- Write provisioning as a
--user-datascript. Install OS packages, users, services, certificates, language runtimes, and test dependencies here. - Spawn with explicit resources and port rules.
Use
--memory,--cpus, and--port label:guest/tcp; let Nido allocate host ports unless a fixed port is required. - Wait for SSH using
nido info --json. Parsessh_portandssh_user; do not assume fixed ports. - Upload or fetch the software under test.
Use direct
ssh/scpwith the port fromnido info, or clone from an internal repository. - Run tests inside the VM. Keep commands non-interactive and capture logs/artifacts before cleanup.
- Delete the VM. Use shell traps or CI cleanup steps. Avoid leaving stopped VMs unless debugging.
Best Practices
- Use unique names such as
nido-ci-$RUN_IDand delete by exact name. - Always parse
nido info --json; ports are runtime allocations. - Prefer auto host ports:
--port api:8000/tcp. Fixed host ports are for human workflows, not parallel CI. - Keep provisioning idempotent. A script should be safe if cloud-init retries it.
- Put slow, stable prerequisites into a template. Put changing app code into the ephemeral VM at test time.
- Pin OS images, package versions, and test commands for reproducibility.
- Keep secrets out of templates. Inject short-lived secrets at runtime and scrub logs.
- Use
nido delete <name>for test cleanup. Avoid broadnido pruneon shared developer machines. - For Windows blueprints, use
--guion the first boot when diagnosing OOBE/post-install state.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 142 lines · 69 tokens per session scan A 517303d884bb
nido-vm-testing is a skill published in the GitHub repository Josepavese/nido (2 stars, last pushed today), licensed MIT. It adds 69 tokens to every session and 1,428 once invoked, about $0.0003 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-31.
Other skills, from other repositories
robotgo
Use when automating desktop GUI operations in Go — mouse/keyboard control, screen capture, image recognition via OpenCV, global hotkeys via gohook. RobotGo: cross-platform Go desktop automation (RPA) library for macOS, Windows, and Linux.
config-evals
Builds and maintains configuration-based evaluations on a workflow with the eval-config tool. Use when the user asks to set up, add, view, change, or remove an evaluation, score, grade, or judge a workflow's output, or measure answer quality against a test dataset. This is the only eval form Instance AI handles — it…
mix-compression
Reduce mix output noise (5-15% token savings) by installing rtk filters that compress mix test/credo/dialyzer/compile output before it reaches Claude. Use when long mix output floods context.
lark-cli
Use when the user wants to operate Lark or Feishu via the local lark-cli (@larksuite/cli), including install, app credentials, OAuth, readiness checks, and safe read/write boundaries.
superpowers
Use when the user wants a disciplined software development workflow with design-first planning, implementation plans, TDD, systematic debugging, code review, or verification-before-completion, adapted from obra/superpowers.
opencli
Use when the user wants to use websites, browser login sessions, Electron apps, or external CLIs through a local OpenCLI setup, especially when setup guidance, readiness checks, and safe task execution are needed.