What problem does it solve?
Adding a new UniFi resource type to this monorepo requires coordinated changes across many layers — manager classes, MCP tool modules, Pydantic domain models, tests, REST/GraphQL API exposure, and the action dispatcher — and missing any one surface causes silent failures or CI merge blocks. This Skill encodes the complete, battle-tested procedure so nothing is missed.
Core Features & Use Cases
- End-to-end resource implementation: Step-by-step coverage of manager CRUD (including 405 list-and-filter workarounds), V2 response normalization, domain Pydantic models with MUTABLE_FIELDS validation, tool modules with preview/confirm flow, and typed action input models.
- API layer integration: Strawberry GraphQL type registration, cursor-based pagination, serializer registration, DISPATCH_ARG_TRANSLATORS wiring, render hints, and HTTP error contracts (409 for capability mismatch).
- Field-symmetry migration and update safety: Procedures for auditing list/create/update field parity, the fetch-merge-put update pattern with deepcopy, delta previews, and write-verification classification of persisted/dropped/coerced fields.
- Use Case: When asked to add support for a new UniFi resource (e.g., a new firewall or alarm resource), apply this Skill to produce the manager, tools, models, tests, GraphQL type, REST route, dispatcher translator, and regenerated manifests in one CI-passing change.
Quick Start
Apply the extend-unifi-api skill to implement a new UniFi resource type end-to-end across the manager, tool, and API layers.