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 agentmods add instructions/lance0/nbox/agents-mdgit clone --depth 1 https://github.com/lance0/nboxWhat 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 | $0.05508 | $0.05508 |
| Opus 5 | $0.02754 | $0.02754 |
| Sonnet 5 | $0.01102 | $0.01102 |
| Haiku 4.5 | $0.00551 | $0.00551 |
Grade A, and why
nbox AGENTS.md 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.
How it starts
The opening of the file, as written. The whole thing — 261 lines — stays where its author put it; the contents beside it link to each section on GitHub.
nbox for agents
nbox is a CLI + TUI for NetBox (DCIM/IPAM). For programmatic/agent use, drive the
CLI subcommands with machine-readable output. The interactive TUI (nbox with no
subcommand) is for humans; agents should always pass a subcommand. Pass --no-tui
to make that a hard guarantee: any invocation that would launch the TUI (a bare
nbox, or nbox tui) refuses with a usage error (exit 2) instead of blocking on a
terminal.
Output
--json/-o json— JSON to stdout (pretty by default).--raw— compact JSON (one line; pairs with--json).--envelope— wrap as{ "schema_version": 1, "data": <payload> }for stable parsing.--fields a,b,c— keep only those top-level fields (per element for arrays).-o csv— CSV for tabular/list results (e.g.search); arrays render as a table. Single objects are rejected (exit 2) — use--jsonor plain.
stdout carries only the requested data; logs/diagnostics/errors go to stderr.
Exit codes (stable):
| Code | Meaning |
|---|---|
| 0 | success |
| 1 | generic error (incl. other API failures) |
| 2 | usage error (bad arguments) |
| 3 | authentication / permission (HTTP 401/403) |
| 4 | not found (no object matched) |
| 5 | ambiguous reference (more than one match) |
Recommended agent invocation: nbox <cmd> ... --json --envelope (add --raw to
minimize tokens, --fields to trim payloads).
Commands
nbox device <name|slug|id>
# optional write subcommand:
device <name> set status <value> [--message "…"]
# --dry-run | --allow-writes --confirm
# (ADR-0001 safe write; read-only default)
nbox ip <address> [--vrf <name|slug|rd>] # surfaces nat_inside/nat_outside (NetBox 4.6) when set
nbox ip reserve <cidr> [--vrf <name|slug|rd>] [--description "…"] [--dns-name "…"] [--count N]
# write: reserve the next available IP (POST available-ips); --dry-run | --allow-writes --confirm [--message]
# --count N: reserve N IPs atomically (one list-body POST, all-or-nothing); any failure exits 1, nothing created
nbox prefix <cidr> [--vrf <name|slug|rd>]
# optional write subcommand:
prefix <cidr> reserve [--length L] [--vrf <name|slug|rd>] [--description "…"]
# write: reserve the next available child prefix (POST available-prefixes); --dry-run | --allow-writes --confirm [--message]
nbox next-ip <cidr> [--count N] [--vrf <name|slug|rd>]
nbox next-prefix <cidr> [--length L] [--vrf <name|slug|rd>]
nbox vlan <vid|name> [--site <name|slug>] [--group <name|slug>]
nbox interface <device> <interface>
# optional write subcommand:
interface <device> <interface> set description "…" [--message "…"]
# --dry-run | --allow-writes --confirm
# (ADR-0001 safe write; read-only default)
nbox site <name|slug>
nbox rack <name|id>
nbox rack-group <slug|name|id> # NetBox 4.6+
nbox circuit <cid|id> # JSON: `terminations` (A/Z), each path hop a `device` ref + a `diagram`
nbox virtual-circuit <cid|id> # JSON: `terminations` (multi-point interface refs); NetBox 4.2+
nbox provider <slug|name|id>
nbox vm-type <slug|name|id> # NetBox 4.6+
nbox aggregate <cidr|id>
nbox asn <number>
nbox ip-range <start|id>
# optional write subcommand:
ip-range <start|id> reserve [--description "…"] [--dns-name "…"] [--count N]
# write: reserve the next available IP in an IP range (POST available-ips); --dry-run | --allow-writes --confirm [--message]
# --count N: reserve N IPs atomically (one list-body POST, all-or-nothing); any failure exits 1, nothing created
nbox tenant <slug|name|id>
nbox contact <name|id>
nbox vm <name|id>
nbox cluster <name|id>
nbox vrf <name|rd|id>
nbox route-target <name|id>
nbox mac <addr> # any common form (aa:bb:cc:dd:ee:ff, AABB.CCDD.EEFF, …) is normalized; reverse-resolves to the carrying interface(s)/device(s)
nbox search <query> [--limit N] [--status S] [--site <name|slug|id>] [--region <name|slug|id>] [--site-group <name|slug|id>] [--location <name|slug|id>] [--tenant SLUG] [--role SLUG] [--tag SLUG] [--owner <name>] [--owner-group <name>] [--vrf <id|rd|name>] [--cols a,b,c] [--partial]
nbox tags
nbox tagged <tag> # objects carrying a tag, across kinds (NetBox 4.3+
# `/api/extras/tagged-objects/`); tag = id|name|slug
nbox tag add <type> <name> <tag> # write: add a tag to any object (PATCH tags array); --dry-run | --allow-writes --confirm [--message]
# <type> = any read kind (device, ip, prefix, vlan, …); <tag> = id|name|slug; no-op if already present
nbox tag remove <type> <name> <tag> # write: remove a tag from any object (PATCH tags array); same gate as tag add; no-op if already absent
nbox journal <kind> <ref> # kinds: device, ip, prefix, vlan, site, rack, rack-group, circuit,
# virtual-circuit, aggregate, asn, ip-range, tenant, contact, provider, vm,
# vm-type, cluster, vrf, route-target, mac, interface (<device>/<name>)
nbox history <kind> <ref> [--diff] # system audit log (create/update/delete, who + when) for an object —
# `/api/core/object-changes/` (NetBox 4.x); distinct from `journal`
# (operator notes). `--diff` shows the full before/after JSON for the
# newest change (implies --limit 1). Same kind set as `journal`.
nbox open <kind>/<ref>
nbox export prometheus-sd (--prefix <cidr> [--vrf <name|slug|rd>] | --tag <slug>) [--port N]
# structured read-only export: Prometheus file-SD JSON, targets grouped by device
nbox export address-list (--prefix <cidr> [--vrf <name|slug|rd>] | --tag <slug>) [--family 4|6] [--summarize] [--format json|plain]
# firewall/blocklist address list (host IPs as /32 or /128, plus tagged prefixes)
nbox export device-inventory [--site <slug>] [--role <slug>] [--tag <slug>] [--status <value>] [--manufacturer <slug>] [--format json|csv]
# one record per device (name/status/role/site/model/serial/primary_ip/tags/…)
nbox raw GET <api-path> # path with or without /api/, e.g. dcim/devices/?limit=1
nbox status # NetBox/Django/Python versions, api routing,
# capabilities, and a token-validity preflight
# (NetBox 4.5+ `/api/authentication-check/`)
nbox completions <bash|zsh|fish|powershell|elvish>
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.
- 2d ago First seen · 261 lines · 5,508 tokens per session scan A a836f2cd4d7a
nbox AGENTS.md is an instructions file published in the GitHub repository lance0/nbox (11 stars, last pushed 20d ago), licensed Apache-2.0. It adds 5,508 tokens to every session, about $0.0275 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-30.
Other instructions, from other repositories
nbx AGENTS.md
AGENTS.md instructions for Hebbian-Robotics/nbx, a project described as: A NetBox CLI for humans and AI agents. Single static binary, schema-driven typed flags, versioned JSON output envelope, agent skill files.
nbx CLAUDE.md
Claude Code instructions for Hebbian-Robotics/nbx, a project described as: A NetBox CLI for humans and AI agents. Single static binary, schema-driven typed flags, versioned JSON output envelope, agent skill files.
NetworkOps_Platform CLAUDE.md
Instructions for E-Conners-Lab/NetworkOps_Platform, covering claude.md, project overview, common commands, setup and run.
netbox-proxbox CLAUDE.md
Instructions for emersonfelipesp/netbox-proxbox, covering netbox-proxbox codebase guide, repository destination policy (hard rule), pre-commit checklist, framework stack preference and security and permissions.
netbox-proxbox AGENTS.md
Instructions for emersonfelipesp/netbox-proxbox, covering agent entry points, installation docs: two traps, repository destination policy (hard rule), netbox compatibility boundary and pre-commit checklist.
netbox-mcp-server CLAUDE.md
Instructions for netboxlabs/netbox-mcp-server, covering netbox mcp server, core concept, tech stack, project structure and common commands.