AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Netbox Review Datamodel

skill-netboxlabs-skills-netbox-review-datamodel · by netboxlabs

>

No reviews yet
0 installs
24 views
0.0% view→install

Install

$ agentstack add skill-netboxlabs-skills-netbox-review-datamodel

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-netboxlabs-skills-netbox-review-datamodel)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Netbox Review Datamodel? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

NetBox Data Model Review

> Your knowledge of NetBox data models may be outdated. Available model types, relationships, and extensibility mechanisms evolve between releases. Verify against current docs before recommending changes.

Retrieval Sources

| Source | URL / Method | Use for | |--------|-------------|---------| | Data model docs | https://netboxlabs.com/docs/netbox/models/ | All available model types | | Custom fields docs | https://netboxlabs.com/docs/netbox/customization/custom-fields/ | Field types and behavior | | Custom Objects docs | https://netboxlabs.com/docs/extensions/custom-objects/ | No-code extensibility | | NetBox MCP server | If configured — inspect the current data model, count objects, find inconsistencies | Live model audit |

Review Workflow

Follow this checklist when auditing a NetBox data model:

  1. Understand the organization — what kind of network? (enterprise, DC, ISP, hybrid)
  2. Check hierarchy — is the Region → Site Group → Site → Location → Rack hierarchy appropriate?
  3. Check IPAM — are prefixes properly nested? VRFs used where needed? Aggregates defined?
  4. Check naming — are slugs consistent? Are names human-readable and grep-friendly?
  5. Check extensibility choices — custom fields vs tags vs config contexts vs custom objects
  6. Check tenancy — is multi-tenancy used correctly? Over-tenanted or under-tenanted?
  7. Check for modeling smell — overloaded fields, misuse of description for structured data

Critical Rules

Hierarchy (HIER)

| ID | Rule | Severity | |----|------|----------| | HIER-1 | Use Regions for geography, Site Groups for function — don't conflate | High | | HIER-2 | Locations are recursive — don't flatten (Floor > Room > Row is better than Row alone) | Medium | | HIER-3 | Every device should be in a Site (never orphaned at top level) | High | | HIER-4 | Racks should have a Location when the site has locations defined | Medium | | HIER-5 | Don't create single-child hierarchies — they add complexity without value | Low | | HIER-6 | On 4.6+, RackGroups offer a flat, cross-location way to group racks (e.g. "cage-7", "cold-aisle-B") independent of the Location tree — use them when rack grouping doesn't map cleanly onto site/location nesting, not as a substitute for Locations | Low |

IPAM (IPAM)

| ID | Rule | Severity | |----|------|----------| | IPAM-1 | Define RIR Aggregates to track address space allocation boundaries | Medium | | IPAM-2 | Prefixes should nest correctly (child within parent CIDR) | High | | IPAM-3 | Use VRFs to separate overlapping address spaces — never duplicate prefixes in global table | Critical | | IPAM-4 | IP Addresses must have prefix length (/32 for loopbacks, actual mask for interfaces) | High | | IPAM-5 | Use Roles to classify prefix purpose (infrastructure, customer, management); on NetBox 4.6+ ASNs can also carry a Role — use it to classify ASN purpose | Medium | | IPAM-6 | VLANs should be in VLAN Groups with an appropriate scope. Scope can be Region/SiteGroup/Site/Location/Rack/ClusterGroup/Cluster (and RackGroup on 4.6+) — don't assume site/location are the only options; pick the tightest scope that matches the VLANs' reuse boundary | Medium |

Device Modeling (DEV)

| ID | Rule | Severity | |----|------|----------| | DEV-1 | Every device needs a Device Type (not just a name) — this enables port planning | High | | DEV-2 | Use Roles to classify function (router, switch, firewall) — not naming convention alone | High | | DEV-3 | Platforms indicate software — assign them for config template compatibility | Medium | | DEV-4 | Virtual chassis members should have proper VC position and master assignment | Medium | | DEV-5 | Interface types must match reality (1000base-t vs 10gbase-sr) for capacity planning | Medium |

Extensibility (EXT)

| ID | Rule | Severity | |----|------|----------| | EXT-1 | Use custom fields for single-valued structured data attached to one object type | — | | EXT-2 | Use tags for cross-object-type classification and boolean "has this property" | — | | EXT-3 | Use config contexts for hierarchical key-value data that merges by scope | — | | EXT-4 | Use custom objects when you need a new first-class entity with its own relationships | — | | EXT-5 | Never store structured data (JSON, lists) in description or comments fields | High | | EXT-6 | Don't create custom fields that duplicate built-in fields (e.g., custom "location" field) | High | | EXT-7 | Prefer custom objects over dozens of custom fields when the data is really a related entity | Medium | | EXT-8 | On 4.6+, attach a validation_schema (JSON Schema) to JSON custom fields to enforce structure instead of leaving them free-form; flag JSON fields holding structured data with no schema | Medium |

Naming (NAME)

| ID | Rule | Severity | |----|------|----------| | NAME-1 | Slugs should be lowercase, hyphenated, grep-friendly (nyc-dc1 not NYC_DC1) | Medium | | NAME-2 | Device names should encode location + function + index (sw-nyc-dc1-01) | Low | | NAME-3 | Be consistent — pick one naming scheme and apply it everywhere | High | | NAME-4 | Avoid embedding metadata in names (don't put VLAN ID in site name) | Medium |

Tenancy (TEN)

| ID | Rule | Severity | |----|------|----------| | TEN-1 | Use tenants for logical ownership boundaries (customer, department, project) | — | | TEN-2 | Don't over-tenant — if everything belongs to one tenant, you probably don't need tenancy | Medium | | TEN-3 | Tenant Groups organize tenants hierarchically (e.g., by business unit) | Low | | TEN-4 | Shared infrastructure (management networks, core routers) can be untenanted | Medium |

Anti-Patterns to Flag

| Anti-Pattern | Why It Matters | Fix | |-------------|---------------|-----| | Flat site hierarchy (no locations) | Can't track floor/room/row placement | Add Location hierarchy | | All IPs in global VRF with duplicates | IPAM conflicts, broken reports | Separate into VRFs | | Custom fields used as foreign keys | No referential integrity, hard to query | Use custom objects or tags | | JSON blobs in description fields | Not searchable, not validated, not filterable | Use custom fields or config contexts | | One giant "catch-all" custom field per type | Defeats the purpose of structured data | Split into individual fields | | Devices without Device Types | Loses port/bay/slot modeling | Always specify hardware model | | Mixing naming conventions | Impossible to script against, confusing | Standardize and bulk-rename | | Tags with spaces or special characters | Breaks API filtering, scripts | Use slug-friendly tag names | | Over-nested regions (> 3 levels) | Adds complexity without improving navigation | Flatten to 2-3 levels max | | Prefix hierarchy gaps | Parent/child relationships broken | Fill missing intermediate prefixes |

Scope

This skill covers data model design and organization. It does NOT cover:

  • Code that interacts with the API → use [netbox-review-integration](../netbox-review-integration/SKILL.md)
  • How to model from scratch → use [netbox-data-modeling](../netbox-data-modeling/SKILL.md)
  • Custom Objects plugin specifics → use [netbox-custom-objects](../netbox-custom-objects/SKILL.md)

Principles

  • Context matters. A 5-site enterprise has different needs than a 500-site ISP. Don't over-engineer.
  • Audit the real instance. If MCP is available, query actual data rather than reviewing documentation alone.
  • Suggest, don't dictate. Many modeling choices are valid — flag clear anti-patterns, but acknowledge trade-offs for judgment calls.
  • Prioritize data integrity. Issues that cause broken relationships or duplicate data are more important than cosmetic naming issues.
  • Consider migration cost. Flagging an anti-pattern is more useful if you also explain how hard it is to fix with existing data.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.