UniFi Network Monitoring Skill
Monitor and manage UniFi network infrastructure through the UniFi Controller API.
Device Information
User's UniFi Setup:
- UniFi Security Gateway (USG3) - Router/Gateway
- Cloud Key Gen 2 - UniFi Controller host
- Access Points, Switches (to be discovered)
Available Commands
All commands are executed via the UniFi CLI wrapper located at ~/.claude/skills/Unifi/unifi-cli.ts.
Run commands using:
bun ~/.claude/skills/Unifi/unifi-cli.ts <command>Network Status Commands
- Get Site Status
bun ~/.claude/skills/Unifi/unifi-cli.ts site-statusShows overall network health, controller version, and site information. - List All Devices
bun ~/.claude/skills/Unifi/unifi-cli.ts devicesShows all UniFi devices (USG, APs, Switches) with status, uptime, and firmware. - List Connected Clients
bun ~/.claude/skills/Unifi/unifi-cli.ts clientsShows all connected clients with hostname, IP, MAC, connection type, and bandwidth usage. - Get Device Health
bun ~/.claude/skills/Unifi/unifi-cli.ts healthShows health metrics for all devices including CPU, memory, uptime. - Get Recent Alerts
bun ~/.claude/skills/Unifi/unifi-cli.ts alertsShows recent network alerts and events. - Get WAN Status
bun ~/.claude/skills/Unifi/unifi-cli.ts wanShows WAN connection status, public IP, speeds, and uptime. - Get Bandwidth Stats
bun ~/.claude/skills/Unifi/unifi-cli.ts bandwidthShows current bandwidth usage by client and overall network.
Configuration
Configuration is stored in ~/.claude/skills/Unifi/config.json:
{
"controller": {
"host": "192.168.1.x",
"port": 8443,
"username": "admin",
"password": "your-password",
"site": "default"
}
}Security Notes:
- Config file contains credentials - NEVER commit to public repos
- Stored in
~/.claude/skills/Unifi/which should be in.gitignore - Uses local network connection to Cloud Key
- Read-only operations by default (safe queries only)
First-Time Setup
If this is the first time using the skill:
- Install dependencies:
cd ~/.claude/skills/Unifi && bun install - Create config file:
cp ~/.claude/skills/Unifi/config.example.json ~/.claude/skills/Unifi/config.json - Edit config with actual values:
- Set host to Cloud Key IP address - Set username and password for UniFi Controller - Site is usually "default" unless using multiple sites
- Test connection:
bun ~/.claude/skills/Unifi/unifi-cli.ts site-status
Usage Instructions for AI
When user asks about network status:
- Check if skill is configured:
- Verify ~/.claude/skills/Unifi/config.json exists - If not, guide user through setup
- Run appropriate command:
- Network status → site-status - Who's online → clients - Device health → health or devices - Internet status → wan - Recent issues → alerts
- Parse and present results:
- Format output in readable tables - Highlight important metrics (high bandwidth, offline devices, alerts) - Provide context and interpretation
Example Queries
User asks: "Who's connected to my network?"
bun ~/.claude/skills/Unifi/unifi-cli.ts clientsUser asks: "Is my internet working?"
bun ~/.claude/skills/Unifi/unifi-cli.ts wanUser asks: "What's wrong with my network?"
bun ~/.claude/skills/Unifi/unifi-cli.ts alerts
bun ~/.claude/skills/Unifi/unifi-cli.ts healthUser asks: "How's my network doing?"
bun ~/.claude/skills/Unifi/unifi-cli.ts site-status
bun ~/.claude/skills/Unifi/unifi-cli.ts devicesLimitations
- Read-only operations (no configuration changes)
- Requires local network access to Cloud Key
- Depends on UniFi Controller being online and accessible
- Some features require specific UniFi device types
Future Enhancements
Potential additions:
- Port forwarding management
- DHCP lease information
- Deep packet inspection (DPI) stats
- Guest network management
- WiFi configuration queries
- Historical bandwidth trends
- Alert notifications
Troubleshooting
Connection Failed:
- Verify Cloud Key is online and accessible
- Check IP address in config.json
- Ensure username/password are correct
- Verify port 8443 is accessible (HTTPS to Controller)
Authentication Failed:
- Verify username/password in config.json
- Check if account has admin privileges
- Try logging into Controller web UI with same credentials
Command Not Found:
- Run
cd ~/.claude/skills/Unifi && bun install - Verify bun is installed:
bun --version - Check file exists:
ls -la ~/.claude/skills/Unifi/unifi-cli.ts