Files
lmiranda 747a2b15e5 refactor(cmdb-assistant): extract skills and slim commands
- 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>
2026-01-30 17:21:21 -05:00

3.7 KiB

Audit Workflow Skill

How to audit NetBox data quality.

Prerequisites

Load these skills:

  • netbox-patterns - Best practices reference
  • mcp-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

  1. Extract naming patterns from existing objects
  2. Identify dominant patterns (most common)
  3. Flag outliers that don't match
  4. 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)

Use general roles + platform/tags for specificity:

  • Instead of nginx-web-server, use web-server + platform nginx

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