Agent skill

Unifi Protect

by Anil-matcha in Anil-matcha/awesome-muse-connectors

Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes).

MITAuto-check passed

Install Unifi Protect

skills CLI
$ npx skills add Anil-matcha/awesome-muse-connectors --skill unifi-protect -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Anil-matcha/awesome-muse-connectors unifi-protect --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Anil-matcha/awesome-muse-connectors.git skills-src && mkdir -p .claude/skills && cp -r skills-src/connectors/unifi-protect .claude/skills/unifi-protect && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unifi-protect
GitHub stars
1.3k
Token cost
~1.2k tokens
SKILL.md length
402 words
Files
2
Skills in repo
153
Repo updated
First seen
Licence
MIT

At a glance

Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes).

  • Works in 6 steps: Reads are always safe. auth, cameras,… → LOW actuations proceed with a logged… → Open item: the PTZ / lights / chime /… → …
  • Phrases: unifi protect
  • SKILL.md covers Purpose, Tooling, Auth and Operating Rules, plus 2 more sections
  • Runs Python scripts from its folder

What it does

Unifi Protect is an agent skill from Anil-matcha/awesome-muse-connectors. Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes). Trigger phrases: unifi protect, unifi camera, protect snapshot, unifi doorbell.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `bin/unifi-protect.py`).

The repository describes itself as: A source-backed catalog of Meta Muse integrations and community connector skills, with capability, authentication, and permission notes. The licence is MIT.

When your agent uses it

  • Phrases: unifi protect
  • Protect snapshot

Example prompts

  • “/unifi-protect”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Reads are always safe. auth, cameras, camera, and snapshot
  2. LOW actuations proceed with a logged notice. patch (camera settings
  3. Open item: the PTZ / lights / chime / talkback paths are untested. Their
  4. TLS: keep verification on. Use --insecure only for a console with a
  5. Snapshot files are written to the path given by --out; use the
  6. Never exfiltrate the credential: the CLI only ever handles surrogates. Do

What it can do on your machine

Read from SKILL.md and the folder at commit d6dc5d8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Unifi Protect loads about 1.2k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 402 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Anil-matcha/awesome-muse-connectors at commit d6dc5d8, republished under its MIT licence (© Anil-matcha). 402 words, ~1,171 tokens.

Download SKILL.mdSave it as .claude/skills/unifi-protect/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
unifi-protect
description
Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes). Trigger phrases: unifi protect, unifi camera, protect snapshot, unifi doorbell.
metadata.includeInPrompt
true
tagline
Read camera state and still snapshots from a local UniFi Protect console (Protect 5.3+) through the official Integration API, and adjust camera settings: PTZ…
catalog_auth
integration key via the secure credential flow
catalog_hosts
the host you pass via --host

UniFi Protect

Purpose

Read camera state and still snapshots from a local UniFi Protect console (Protect 5.3+) through the official Integration API, and adjust camera settings: PTZ position, flood lights, chimes, talkback. Use it when the user asks what their UniFi cameras see, wants a snapshot saved, or wants to change camera behavior. Everything runs against the local console; there is no cloud dependency.

Tooling

All commands go through bin/unifi-protect.py. --host is the console base URL (the CLI appends /proxy/protect/integration/v1):

bash
bin/unifi-protect.py --host https://192.168.1.1 auth              # status check: verify key, count cameras
bin/unifi-protect.py --host https://192.168.1.1 cameras          # list cameras and state
bin/unifi-protect.py --host https://192.168.1.1 camera --id <id> # camera detail
bin/unifi-protect.py --host https://192.168.1.1 snapshot --id <id> \
    --out ~/workspace/porch.jpg                                   # save a still image

# Writes. Camera setting updates are LOW: they proceed with a logged notice:
bin/unifi-protect.py --host https://192.168.1.1 patch --id <id> \
    --field micEnabled=true

# PTZ, lights, chime, talkback are LOW-grade but their exact write paths are
# UNTESTED open items: each prints a warning, then proceeds with a notice:
bin/unifi-protect.py --host https://192.168.1.1 ptz --id <id> --pan 10 --tilt -5
bin/unifi-protect.py --host https://192.168.1.1 lights --id <id> --on true
bin/unifi-protect.py --host https://192.168.1.1 chime --id <id>
bin/unifi-protect.py --host https://192.168.1.1 talkback --id <id>

Consoles commonly use self-signed TLS certificates. Verification stays ON by default; if the console's certificate is self-signed and the user accepts the risk, add --insecure to any command. The CLI warns loudly when verification is disabled.

Auth

  • Provider id: unifi-protect (credential is collected as custom.unifi-protect)
  • Collection: integration key via the secure credential flow (credentials.request_api_access). On the console: Protect Settings > Control Plane > Integrations > create an integration key. The CLI sends it as the X-API-KEY header.
  • Allowed hosts: whatever --host names (the console's IP/hostname). The CLI pins egress to that host per run.
  • Status check: bin/unifi-protect.py --host <console> auth

Operating Rules

  1. Reads are always safe. auth, cameras, camera, and snapshot never need confirmation.
  2. LOW actuations proceed with a logged notice. patch (camera settings such as microphone or recording behavior), PTZ moves, flood-light on/off, chime sounding, and talkback print a notice to stderr and run. Arm-profile changes alter which cameras record and when: say so in the reply when a patch touches recording behavior.
  3. Open item: the PTZ / lights / chime / talkback paths are untested. Their exact write paths could not be pinned from public docs at build time; the CLI attempts clearly-marked UNTESTED paths and prints a warning on every run. Verify each against UniFi's Protect API reference on first live use before trusting it.
  4. TLS: keep verification on. Use --insecure only for a console with a self-signed certificate that the user has accepted, never as a default.
  5. Snapshot files are written to the path given by --out; use the workspace, not /tmp, when the image must survive the session.
  6. Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the integration key value.
Show full SKILL.md (39 more words)Show less

Files

  • SKILL.md
  • bin/unifi-protect.py

Maturity

🧪 Draft: written from UniFi's public Protect Integration API docs; not yet live-tested end-to-end. Reads (cameras, snapshot) and PATCH /cameras/{id} are pinned; the PTZ / talkback / lights / chime write paths are open items and ship marked untested.

© Anil-matcha, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in connectors/unifi-protect of Anil-matcha/awesome-muse-connectors.

  • SKILL.md
  • bin/unifi-protect.py

Open the folder on GitHubat commit d6dc5d8

Compare with similar skills

Unifi Protect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unifi Protect compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unifi Protect this skillAnil-matcha/awesome-muse-connectors1.3k—~1.2kAutomated safety check: PassMIT
Unified Memoryaffaan-m/ECC277k1 repos~2kAutomated safety check: PassMIT
Schema Unifygarrytan/gbrain31k—~3.4kAutomated safety check: PassMIT
Insta Snapshot Reviewoxc-project/oxc23k—~356Automated safety check: PassMIT
Implementing Mimecast Targeted Attack Protectionmukul975/Anthropic-Cybersecurity-Skills34k—~1.8kAutomated safety check: PassApache-2.0
Playground Snapshot Releasemastra-ai/mastra29k—~1.7kAutomated safety check: PassCustom licence

Similar skills

  • Unified Memory

    affaan-m/ECC

    Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault.

    277k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Insta Snapshot Review

    oxc-project/oxc

    Reviews and accepts Insta snapshot changes in the Oxc repo from the command line, one reviewed snapshot at a time, instead of using the interactive UI.

    23k GitHub stars~356 tokensUpdated today
    Testing & QAAuto-check passed
  • Implementing Mimecast Targeted Attack Protection

    mukul975/Anthropic-Cybersecurity-Skills

    Deploys and configures Mimecast Targeted Threat Protection (TTP) modules -- URL Protect (click-time URL rewriting/analysis), Attachment Protect (sandbox detonation), Impersonation Protect…

    34k GitHub stars~1.8k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Publish a Playground UI snapshot (@mastra/playground-ui and its workspace dependencies) from main or the current branch via the playground-snapshot mode of the Publish to npm workflow, wait for it…

    29k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Generate Snapshot Tests

    getsentry/sentry

    Official

    Generate snapshot test files for Sentry frontend React components.

    46k GitHub stars~3.3k tokensUpdated yesterday
    Frontend & DesignAuto-check passed

More from Anil-matcha/awesome-muse-connectors

All 153 skills in this repo
  • Airtable

    Anil-matcha/awesome-muse-connectors

    List Airtable bases, read table records, and add records. An agent skill from Anil-matcha/awesome-muse-connectors.

    1.3k GitHub stars~511 tokensUpdated 5 days ago
    Auto-check passed
  • Alphavantage

    Anil-matcha/awesome-muse-connectors

    Stock quotes and daily price history. An agent skill from Anil-matcha/awesome-muse-connectors.

    1.3k GitHub stars~517 tokensUpdated 5 days ago
    Auto-check passed
  • Amadeus

    Anil-matcha/awesome-muse-connectors

    Search travel with Amadeus: flight offers and prices, airport autocomplete, hotel offers, cheapest dates.

    1.3k GitHub stars~699 tokensUpdated 5 days ago
    Auto-check passed
  • Apollo

    Anil-matcha/awesome-muse-connectors

    Search B2B contacts with Apollo.io: find people by title and company, enrich contacts and companies.

    1.3k GitHub stars~492 tokensUpdated 5 days ago
    Auto-check passed
  • Aqara

    Anil-matcha/awesome-muse-connectors

    Read and control Aqara smart home devices: plugs, switches, lights, AC, locks, curtains, scenes.

    1.3k GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed
  • Asana

    Anil-matcha/awesome-muse-connectors

    Read and manage Asana tasks: my tasks, task details, create tasks.

    1.3k GitHub stars~481 tokensUpdated 5 days ago
    Auto-check passed

Questions about Unifi Protect

What does Unifi Protect do?

Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes). Unifi Protect is an agent skill from Anil-matcha/awesome-muse-connectors. Read UniFi Protect cameras, pull snapshots, and adjust camera settings (PTZ, lights, chimes).

When should I use Unifi Protect?

Unifi Protect fits situations like: phrases: unifi protect; protect snapshot.

How do I install Unifi Protect in Claude Code?

Run `npx skills add Anil-matcha/awesome-muse-connectors --skill unifi-protect -a claude-code`. Or copy the skill folder (connectors/unifi-protect in Anil-matcha/awesome-muse-connectors) into .claude/skills/unifi-protect in your project. Claude Code loads it when a task matches its description.

How do I install Unifi Protect in Codex?

Run `npx skills add Anil-matcha/awesome-muse-connectors --skill unifi-protect -a codex`. Or copy the skill folder (connectors/unifi-protect in Anil-matcha/awesome-muse-connectors) into .agents/skills/unifi-protect in your project. Codex loads it when a task matches its description.

Can I use Unifi Protect in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Anil-matcha/awesome-muse-connectors --skill unifi-protect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unifi-protect, .gemini/skills/unifi-protect, .github/skills/unifi-protect and .opencode/skills/unifi-protect in your project.

What does Unifi Protect need to run?

Going by SKILL.md and its folder, Unifi Protect needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Unifi Protect access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Unifi Protect safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Unifi Protect use?

Unifi Protect is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unifi Protect use?

About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Unifi Protect?

Skills that share tags, products or a category with Unifi Protect: Unified Memory (affaan-m/ECC, 277k stars), Schema Unify (garrytan/gbrain, 31k stars), Insta Snapshot Review (oxc-project/oxc, 23k stars) and Implementing Mimecast Targeted Attack Protection (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unifi Protect?

Anil-matcha (a GitHub user) maintains it in Anil-matcha/awesome-muse-connectors, which has 1,347 GitHub stars. The repository holds 153 skills in this directory. The repository was last updated on October 5, 2026.

Source: Anil-matcha/awesome-muse-connectors on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.