- Extract 9 skill files from command knowledge: - mcp-tools-reference.md: Complete NetBox MCP tools reference - system-discovery.md: Bash commands for system info gathering - device-registration.md: Device registration workflow - sync-workflow.md: Machine sync process - audit-workflow.md: Data quality audit checks - ip-management.md: IP/prefix management and conflict detection - topology-generation.md: Mermaid diagram generation - change-audit.md: NetBox change audit workflow - visual-header.md: Standard visual header pattern - Slim all 11 commands to under 60 lines: - cmdb-sync.md: 348 -> 57 lines - cmdb-register.md: 334 -> 51 lines - ip-conflicts.md: 238 -> 58 lines - cmdb-audit.md: 207 -> 58 lines - cmdb-topology.md: 194 -> 54 lines - initial-setup.md: 176 -> 74 lines - change-audit.md: 175 -> 57 lines - cmdb-site.md: 68 -> 50 lines - cmdb-ip.md: 65 -> 52 lines - cmdb-device.md: 64 -> 55 lines - cmdb-search.md: 46 lines (unchanged) - Update agent to reference skills for best practices - Preserve existing netbox-patterns skill Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.7 KiB
3.7 KiB
Audit Workflow Skill
How to audit NetBox data quality.
Prerequisites
Load these skills:
netbox-patterns- Best practices referencemcp-tools-reference- MCP tool reference
Data Collection
virt_list_vms
dcim_list_devices
virt_list_clusters
dcim_list_sites
tenancy_list_tenants
dcim_list_device_roles
dcim_list_platforms
Quality Checks by Severity
CRITICAL (must fix immediately)
| Check | Detection |
|---|---|
| VMs without cluster | cluster is null AND site is null |
| Devices without site | site is null |
| Active devices without primary IP | status=active AND primary_ip4 is null AND primary_ip6 is null |
HIGH (should fix soon)
| Check | Detection |
|---|---|
| VMs without site | No site (neither direct nor via cluster.site) |
| VMs without tenant | tenant is null |
| Devices without platform | platform is null |
| Clusters not scoped to site | site is null on cluster |
| VMs without role | role is null |
MEDIUM (plan to address)
| Check | Detection |
|---|---|
| Inconsistent naming | Names don't match patterns |
| Role fragmentation | >10 device roles with <3 assignments each |
| Missing tags on production | Active resources without tags |
| Mixed naming separators | Some _, others - |
LOW (informational)
| Check | Detection |
|---|---|
| Docker containers as VMs | Cluster type is "Docker Compose" |
| VMs without description | description is empty |
| Sites without physical address | physical_address is empty |
| Devices without serial | serial is empty |
Naming Convention Analysis
Expected Patterns
| Object Type | Pattern | Example |
|---|---|---|
| Devices | {role}-{location}-{number} |
web-dc1-01 |
| VMs | {env}-{app}-{number} |
prod-api-01 |
| Clusters | {site}-{type} |
home-docker |
Analysis Steps
- Extract naming patterns from existing objects
- Identify dominant patterns (most common)
- Flag outliers that don't match
- Suggest standardization
Role Fragmentation Analysis
Red Flags
- More than 15 highly specific roles
- Roles with technology in name (use platform instead)
- Roles that duplicate functionality
- Single-use roles (only 1 device/VM)
Recommended Consolidation
Use general roles + platform/tags for specificity:
- Instead of
nginx-web-server, useweb-server+ platformnginx
Report Template
## CMDB Data Quality Audit Report
**Generated:** [timestamp]
**Scope:** [scope parameter]
### Summary
| Metric | Count |
|--------|-------|
| Total VMs | X |
| Total Devices | Y |
| Total Clusters | Z |
| **Total Issues** | **N** |
| Severity | Count |
|----------|-------|
| Critical | A |
| High | B |
| Medium | C |
| Low | D |
### Critical Issues
[List each with specific object names and IDs]
- VM `HotServ` (ID: 1) - No cluster or site assignment
- Device `server-01` (ID: 5) - No site assignment
### High Issues
[List each with specific object names]
### Medium Issues
[Grouped by category with counts]
### Recommendations
1. **[Most impactful fix]** - affects N objects
2. **[Second priority]** - affects M objects
### Quick Fixes
Commands to fix common issues:
Assign site to VM
virt_update_vm id=X site=Y
Assign platform to device
dcim_update_device id=X platform=Y
### Next Steps
- Run `/cmdb-register` to properly register new machines
- Use `/cmdb-sync` to update existing registrations
- Consider bulk updates via NetBox web UI for >10 items
Scope-Specific Focus
| Scope | Focus |
|---|---|
all |
Full audit across all categories |
vms |
Virtual Machine checks only |
devices |
Device checks only |
naming |
Naming convention analysis |
roles |
Role fragmentation analysis |