modules/programs/agents/shared/skills/jellyfin/SKILL.md
Inspect my self-hosted Jellyfin media server: server status, users, libraries, sessions, now-playing, recently-added, item search, library counts, and scheduled tasks. Use when the user asks about Jellyfin, what's playing, who's watching, what was just added, library size, or asks to run a Jellyfin task.
npx skillsauth add MichaelVessia/nixos-config jellyfinInstall 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.
Inspect my self-hosted Jellyfin server: status, users, libraries, active sessions, what's currently playing, recently added items, item search, library counts, and scheduled tasks.
Credentials are exported into the shell by sops-nix (see
modules/programs/shell.nix):
JELLYFIN_URL — base URL (no trailing slash), e.g. http://192.168.1.21:8096JELLYFIN_API_KEY — API key from Dashboard → API KeysThe jellyfin CLI reports a JSON error envelope when they are missing.
Jellyfin inherits auth headers from Emby, so the header name is X-Emby-Token
(not X-Api-Key).
Use the installed jellyfin CLI for common operations. It always emits a single
JSON envelope with ok, command, result or error, and next_actions.
scripts/jellyfin.sh remains as a compatibility shim for older workflows.
jellyfin status # /System/Info sanity check
jellyfin users # all users with last activity
jellyfin libraries # virtual folders (libraries)
jellyfin sessions # every active session
jellyfin now-playing # sessions with NowPlayingItem
jellyfin recently-added --limit 20 # latest items
jellyfin item-search "<query>" --limit 25 # search Movies/Series/Episodes
jellyfin library-stats # /Items/Counts
jellyfin scheduled-tasks # task list with state
jellyfin run-task <taskId> --confirm-run-task # POST /ScheduledTasks/Running/<id>
For anything not covered, call the API directly with $JELLYFIN_URL and the
X-Emby-Token: $JELLYFIN_API_KEY header — see references/api-endpoints.md
and references/quick-reference.md.
jellyfin now-playing — current streams with user, device,
item, and play method.jellyfin sessions — full session list if no one is
actively playing (idle clients still show up).jellyfin recently-added --limit 10 — last 10 items added across
the libraries the first user can see.jellyfin library-stats — totals (Movies, Series,
Episodes, etc.).Always confirm with the user before:
jellyfin run-task <taskId> --confirm-run-task (kicks off a server task; some are I/O heavy)references/api-endpoints.md — endpoint reference with request/response
shapesreferences/quick-reference.md — copy-paste curl recipes for common opsreferences/troubleshooting.md — auth, connection, and common error fixesX-Emby-Token (Jellyfin forked Emby and kept the name)./Items endpoints are user-scoped — they require a userId in the
path or query. The CLI picks the first non-disabled user.JELLYFIN_URL is unreachable, surface that to
the user rather than guessing.tools
User guide for the local squash-safe `stack` CLI for stacked PR/MR repair on GitHub and GitLab. Use when someone asks how to inspect, track, sync, merge, document, or undo stacked pull requests / merge requests in squash-merge repositories. Prefer this tool over GitHub's `gh stack` command for this workflow.
tools
Control herdr from inside it. Manage workspaces and tabs, split panes, spawn agents, read output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1).
development
Inspect my self-hosted AutoCaliWeb library. Use when the user asks about AutoCaliWeb, books in Calibre, OPDS status, recent imports, shelves, catalog stats, or wants to search the ebook library.
data-ai
Subscribe a YouTube channel in TubeArchivist, queue its top videos by views from recent uploads, wait for the first file, scan Jellyfin, and rename + lock the channel folder to a friendly display name. Use when the user says "add a youtube channel", "subscribe to <channel>", or wants a curated TubeArchivist + Jellyfin import for a creator.