agentsclimarketplace

Netbox review datamodel

Skill netboxlabs/skills/skills/netbox-review-datamodel

Audit and review NetBox data model design choices. Use when evaluating site hierarchy, IPAM organization, device modeling, tenancy patterns, custom field vs tag decisions, naming conventions, and extensibility strategy. Identifies modeling anti-patterns and suggests improvements aligned with NetBox best practices.From its SKILL.md

Install
npx -y skills add netboxlabs/skills --skill netbox-review-datamodel

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

8.2 KB, as published. Nobody here has run it

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

SourceURL / MethodUse for
Data model docshttps://netboxlabs.com/docs/netbox/models/All available model types
Custom fields docshttps://netboxlabs.com/docs/netbox/customization/custom-fields/Field types and behavior
Custom Objects docshttps://netboxlabs.com/docs/extensions/custom-objects/No-code extensibility
NetBox MCP serverIf configured — inspect the current data model, count objects, find inconsistenciesLive 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)

IDRuleSeverity
HIER-1Use Regions for geography, Site Groups for function — don't conflateHigh
HIER-2Locations are recursive — don't flatten (Floor > Room > Row is better than Row alone)Medium
HIER-3Every device should be in a Site (never orphaned at top level)High
HIER-4Racks should have a Location when the site has locations definedMedium
HIER-5Don't create single-child hierarchies — they add complexity without valueLow
HIER-6On 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 LocationsLow

IPAM (IPAM)

IDRuleSeverity
IPAM-1Define RIR Aggregates to track address space allocation boundariesMedium
IPAM-2Prefixes should nest correctly (child within parent CIDR)High
IPAM-3Use VRFs to separate overlapping address spaces — never duplicate prefixes in global tableCritical
IPAM-4IP Addresses must have prefix length (/32 for loopbacks, actual mask for interfaces)High
IPAM-5Use Roles to classify prefix purpose (infrastructure, customer, management); on NetBox 4.6+ ASNs can also carry a Role — use it to classify ASN purposeMedium
IPAM-6VLANs 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 boundaryMedium

Device Modeling (DEV)

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

Extensibility (EXT)

IDRuleSeverity
EXT-1Use custom fields for single-valued structured data attached to one object type—
EXT-2Use tags for cross-object-type classification and boolean "has this property"—
EXT-3Use config contexts for hierarchical key-value data that merges by scope—
EXT-4Use custom objects when you need a new first-class entity with its own relationships—
EXT-5Never store structured data (JSON, lists) in description or comments fieldsHigh
EXT-6Don't create custom fields that duplicate built-in fields (e.g., custom "location" field)High
EXT-7Prefer custom objects over dozens of custom fields when the data is really a related entityMedium
EXT-8On 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 schemaMedium

Naming (NAME)

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

Tenancy (TEN)

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

Anti-Patterns to Flag

Anti-PatternWhy It MattersFix
Flat site hierarchy (no locations)Can't track floor/room/row placementAdd Location hierarchy
All IPs in global VRF with duplicatesIPAM conflicts, broken reportsSeparate into VRFs
Custom fields used as foreign keysNo referential integrity, hard to queryUse custom objects or tags
JSON blobs in description fieldsNot searchable, not validated, not filterableUse custom fields or config contexts
One giant "catch-all" custom field per typeDefeats the purpose of structured dataSplit into individual fields
Devices without Device TypesLoses port/bay/slot modelingAlways specify hardware model
Mixing naming conventionsImpossible to script against, confusingStandardize and bulk-rename
Tags with spaces or special charactersBreaks API filtering, scriptsUse slug-friendly tag names
Over-nested regions (> 3 levels)Adds complexity without improving navigationFlatten to 2-3 levels max
Prefix hierarchy gapsParent/child relationships brokenFill missing intermediate prefixes

Scope

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

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.

Keep looking

Skills are one crate of 628,853. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.