modules/programs/agents/shared/skills/immich/SKILL.md
Inspect and search my self-hosted Immich photo/video library. Use when the user asks about Immich, photos, videos, albums, people/faces, recent uploads, library stats, server storage, or background jobs.
npx skillsauth add MichaelVessia/nixos-config immichInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage my self-hosted Immich (v2.x) photo/video library: inspect server status and stats, browse users/albums/people/tags, search assets (CLIP-based smart search + metadata fallback), and check background job queues.
Credentials are exported into the shell by sops-nix (see
modules/programs/shell.nix):
IMMICH_URL — base URL, no trailing slash (e.g. http://192.168.1.82:2283)IMMICH_API_KEY — Immich API keyThe immich CLI reports a JSON error envelope when they are missing.
Immich uses the lowercase header x-api-key and exposes the API under /api/.
The CLI composes these for you.
Use the installed immich CLI for common operations. It always emits a single
JSON envelope with ok, command, result or error, and next_actions.
scripts/immich.sh remains as a compatibility shim for older workflows.
immich status # version + ping projected to one object
immich stats # photos, videos, usage, per-user
immich storage # disk free space + library size
immich users # users, preferring admin fields when available
immich me # current user attached to the API key
immich albums --limit 25 # visible albums
immich album-info <id> --limit 25 # full album detail + bounded asset sample
immich search "beach sunset" --limit 25 # smart search, metadata fallback
immich recent --limit 25 # most recent assets
immich people --limit 25 # named/unnamed people
immich person-info <id> # full person detail
immich jobs # background queues + counts
immich library-stats # alias for stats
immich tags # all tags
For anything not covered, call the API directly with $IMMICH_URL and
$IMMICH_API_KEY — see references/api-endpoints.md and
references/quick-reference.md.
immich search "<natural language query>" — CLIP-based
semantic search returns matching asset ids.curl -sS -H "x-api-key: $IMMICH_API_KEY" \ "$IMMICH_URL/api/assets/<id>" (see quick-reference).Use status, stats, storage, jobs for sanity checks. Drop to raw curl
for niche queries.
This skill is read-only by design. There are no asset delete, asset update,
person merge, or album mutation sub-commands in this cut. Any future
mutation sub-commands (e.g. delete-asset, merge-people,
album-add-assets) must:
For now, perform mutations from the Immich UI.
references/api-endpoints.md — endpoints used by the CLI, verified
against Immich v2.5.6references/quick-reference.md — copy-paste curl recipesreferences/troubleshooting.md — auth, permissions (v2 per-permission API
keys), connection fixesv2.5.6).asset.read
cannot list assets, even though it can hit /api/server/ping. 403s here
almost always mean a missing permission on the key, not a bad URL.x-api-key. Other Servarr-style services use
X-Api-Key; do not mix them up.http://192.168.1.82:2283). Off-network
access needs Tailscale.development
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.
development
Turn an idea or objective into a goal package for /goal. Interviews the user, builds a reviewed fact sheet via Plannotator, then explores the codebase to produce an execution plan.
development
Open Plannotator's browser-based code review UI for the current worktree or a pull request URL, then act on the feedback that comes back.
testing
Open Plannotator on the latest rendered assistant message and use the returned annotations to revise that message or continue.