unifi-clients
Use when operating on UniFi clients, devices, switch ports, or DHCP: "block a device", "kick a client off wifi", "restart an access point", "power cycle a PoE port", "move a device to a different VLAN", "my device is on the wrong subnet after I changed the port", "set a DHCP reservation", "change DHCP DNS servers", "forget an old client", "why did my PUT reset all the other ports", or reading UniFi events and alarms. Covers full-object PUT discipline, the wired VLAN migration trap, and where events moved. Assumes unifi-connect. Not for firewall policy between zones (unifi-firewall), radios and
npx skills add t3chnaztea/unifi-skills --skill unifi-clients --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# UniFi Clients and Devices Day-to-day operations, and the two ways they go wrong: **partial writes that silently destroy config**, and **VLAN changes that appear to work and do not.** ## Full-object PUT discipline The rule that prevents most damage on this API: > `rest/*` endpoints replace the object. GET it, modify the one field, PUT the > whole thing back. A partial PUT does not merge. It writes what you sent and drops the rest. The consequences scale with the object: - `rest/networkconf`: PUT `{"dhcpd_dns_1": "..."}` and you can lose the network's DHCP range, domain name, and VLAN assignment. - `rest/wlanconf`: you can lose the passphrase, the network binding, the band settings. - `rest/device` `port_overrides`: **PUT the complete `port_overrides` list.** Sending one port's override resets every other port on the switch to defaults. On a 24-port switch carrying a segmented network, that is the whole afternoon. ```bash # Correct shape, every time udm raw GET /proxy/network/api/s/default/rest/networkconf/<NETWORK_ID> > /tmp/net.json # edit /tmp/net.json, changing only what you mean to change udm raw PUT /proxy/network/api/s/default/rest/networkconf/<NETWORK_ID> "$(cat /tmp/net.js
- Full-object PUT discipline
- The wired VLAN migration trap
- Client operations
- Device operations
- DHCP DNS
- Events and alarms
Correct shape, every time
udm raw GET /proxy/network/api/s/default/rest/networkconf/<NETWORK_ID> > /tmp/net.json
edit /tmp/net.json, changing only what you mean to change
udm raw PUT /proxy/network/api/s/default/rest/networkconf/<NETWORK_ID> "$(cat /tmp/net.json)"
Confirm the port actually draws power first
udm devices --json | python3 -c '
import json,sys
for d in json.load(sys.stdin):
for p in d.get("port_table") or []:
if float(p.get("poe_power") or 0) > 0:What does the unifi-clients skill do?
Use when operating on UniFi clients, devices, switch ports, or DHCP: "block a device", "kick a client off wifi", "restart an access point", "power cycle a PoE port", "move a device to a different VLAN", "my device is on the wrong subnet after I changed the port", "set a DHCP reservation", "change DHCP DNS servers", "forget an old client", "why did my PUT reset all the other ports", or reading UniFi events and alarms. Covers full-object PUT discipline, the wired VLAN migration trap, and where events moved. Assumes unifi-connect. Not for firewall policy between zones (unifi-firewall), radios and
How do I install it?
Run `npx skills add t3chnaztea/unifi-skills --skill unifi-clients --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From t3chnaztea/unifi-skills, a repository with 24 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.