
Claude Skills by jmagar
github.com/jmagarThis skill should be used when the user mentions Unraid, asks to check server health, monitor array or disk status, list or restart Docker containers, start or stop VMs, read system logs, check parity status, view notifications, manage API keys, configure rclone remotes, check UPS or power status, get live CPU or memory data, force stop a VM, check disk temperatures, or perform any operation on an Unraid NAS server. Also use when the user needs to set up or configure Unraid MCP credentials.
Manage code snippets in ByteStash snippet storage service. This skill should be used when the user asks to "save a snippet", "search snippets", "find code", "share snippet", "organize snippets", "list my snippets", "create snippet", "delete snippet", or mentions ByteStash, code storage, snippet management, or code archival.
This skill should be used when addressing GitHub pull request review comments systematically with mandatory resolution tracking. Use when user says "address PR comments", "fix review feedback", "handle PR review", "resolve PR threads", or needs to ensure all review comments are addressed before merging. Fetches comments via gh CLI, creates task checklists, links commits to review threads, and blocks completion if unresolved threads remain.
Unified health dashboard for all configured homelab services. Use when the user wants to check service status, verify credentials work, see which services are reachable, or diagnose connectivity issues. Triggers on: 'check health', 'service status', 'what's running', 'is plex up', 'verify my setup', 'homelab health', or after running /homelab-core:setup.
Interactive credential setup wizard for claude-homelab. Use when the user wants to configure credentials, set up a new service, update API keys, or run initial setup after installing the homelab-core plugin. Triggers on: 'setup credentials', 'configure plex', 'add my API key', 'I just installed homelab-core', 'setup homelab', or any mention of needing to configure a specific service.
Manage bookmarks with Linkding. Use when the user asks to "save a bookmark", "add link", "search bookmarks", "list my bookmarks", "find saved links", "tag a bookmark", "archive bookmark", "check if URL is saved", "list tags", "create bundle", or mentions Linkding bookmark management.
Manage notes and memos in self-hosted Memos service. Use when the user asks to "save this to memos", "create a memo", "search my memos", "find notes about X", "what did I write about", "add a note", "capture this", "remember this", "save this thought", or mentions note-taking, knowledge management, or personal notes.
Programmatic access to Google NotebookLM for creating notebooks, adding sources (URLs, YouTube, PDFs, audio, video, images), chatting with content, generating artifacts (podcasts, videos, reports, quizzes, mind maps, flashcards, infographics), and downloading results. Includes capabilities beyond the web UI.
Manage documents in Paperless-ngx document management system. Use when the user asks to "upload document", "search paperless", "find document", "add to paperless", "tag document", "manage correspondents", "organize documents", "archive document", "export document", "delete document", or mentions Paperless-ngx, document management, OCR, or paperless office.
This skill should be used when managing calendars and contacts on a self-hosted Radicale CalDAV/CardDAV server. Use when the user asks to "list my calendar", "what's on my calendar this week", "show me my events", "when is my next event", "add to my calendar", "create an event", "schedule a meeting", "schedule an event", "delete an event", "cancel event", "remove event", "find a contact", "what's someone's email", "search my contacts", "who is", "add a contact", "save contact", "save someone'...
This skill should be used when managing Tailscale mesh VPN networks. Use when the user asks to "check tailscale status", "list tailscale devices", "ping a device", "send file via tailscale", "tailscale funnel", "tailscale serve", "create auth key", "check who's online", "tailscale exit node", "Magic DNS", or mentions Tailscale network management, tailnet operations, or VPN connectivity.
This skill should be used when managing ZFS pools in a homelab environment with multiple devices. It handles pool health monitoring, snapshot management with Sanoid/Syncoid, automated replication between devices, dataset property optimization, scrub scheduling, and error recovery. Use when the user asks to "check ZFS pool health", "setup ZFS replication", "configure ZFS snapshots", "optimize ZFS performance", "troubleshoot ZFS issues", "schedule ZFS scrubs", "check pool capacity", "setup Sano...
This skill should be used when the user says "add proxy config", "create reverse proxy", "SWAG config", "nginx proxy", "expose service", "proxy configuration", "subdomain config", "subfolder config", "configure SWAG", "list proxy configs", "view proxy config", "edit proxy config", "remove proxy config", "check proxy health", "SWAG logs", "add domain", "configure SSL", "proxy a service", or mentions SWAG, reverse proxy, nginx configuration, or making a service accessible via domain.
Use when the user wants to ask a question and get an LLM-synthesized answer grounded in indexed documents, do RAG over previously crawled or embedded content, get cited answers from the knowledge base, or find information that was previously indexed. Triggers on "ask axon", "what does the documentation say about", "according to what I've indexed", "RAG query", "use axon to answer", or any question where the user wants grounded answers from indexed content rather than hallucination.
RAG synthesis prompt for axon ask — source-grounded, depth-adaptive, injection-hardened. Loaded at runtime by src/vector/ops/commands/ask/synthesis_prompt.rs.
Use whenever the user wants to crawl, scrape, or extract a website; ingest a GitHub repo, Reddit, YouTube, or local AI sessions; embed content into Qdrant; run semantic search; ask grounded RAG questions; or manage axon's async job queues. Also use when the user mentions axon, the crawler, hybrid search, Qdrant, Tavily, or the MCP tool surface.
Use when the user wants to crawl an entire website, documentation site, or multiple pages from a domain; index a whole docs section; or follow links deeply across a site. Triggers on "crawl this site", "index the whole docs", "crawl all pages under", "spider this URL", "index the entire", "grab all pages from". Prefer over scrape when breadth matters — multiple pages across a site.
Use when the user wants to see which domains have indexed content, get a summary grouped by domain, check how many pages from each site are stored, or audit coverage by website. Triggers on "list indexed domains", "which domains are in axon", "how many pages from each site", "domain breakdown", "show domains", "what sites are indexed". Similar to sources but grouped by domain — use domains for a high-level view, sources for individual URL details.
Use when the user wants to check if axon services are healthy, diagnose connectivity problems, verify Qdrant/TEI/Chrome are reachable, troubleshoot why axon isn't working, or run a health check. Triggers on "axon doctor", "check axon health", "is axon working", "troubleshoot axon", "why is axon failing", "check services", "health check", "can axon connect to". Always run this first when something seems broken.
Use when the user wants to embed a local file, directory, or URL into Qdrant; index local documents or code into the RAG; add files from disk to the knowledge base; or re-embed stale content. Triggers on "embed this file", "index this directory", "add to Qdrant", "embed local files", "embed this folder", "index my docs", "add this PDF", "embed into the knowledge base". Different from scrape/crawl (which fetches from web) — embed indexes content already on disk or from a URL directly.
Use when the user wants to extract structured data from a web page using an LLM, parse specific fields from a URL (prices, names, dates, specs), get structured JSON from a page, or do LLM-powered data extraction. Triggers on "extract data from", "pull structured data from", "get the pricing table from", "parse the fields from", "extract JSON from this URL", "structured extraction". Different from scrape (raw markdown) — extract uses an LLM to interpret and structure the content.
Use when the user wants to index a GitHub repository, ingest a Reddit subreddit or thread, index a YouTube video or playlist, or import past Claude/Codex/Gemini session transcripts into axon. Triggers on "ingest this repo", "index this GitHub repo", "add this Reddit thread", "ingest subreddit", "index YouTube video", "import my sessions", "ingest GitHub", "index r/", "add this repo to axon". Also use when the user wants to make source code searchable via RAG.
Use when the user wants to discover all URLs on a site without fetching content, preview what pages exist before crawling, get a sitemap of a site, or explore the URL structure of a domain. Triggers on "map this site", "what pages exist at", "list all URLs on", "discover URLs", "show me the site structure", "find all pages before crawling". Fast and non-destructive — does not embed anything.
Use when the user wants to do a semantic vector search over indexed content, find relevant chunks matching a query, search the Qdrant knowledge base, or get raw search results without LLM synthesis. Triggers on "search axon", "query the knowledge base", "find chunks about", "vector search for", "semantic search", "what's indexed about", "find relevant passages". Different from `ask` (which synthesizes an answer) — query returns raw matching chunks with scores.
Use when the user wants to fetch all stored chunks for a specific URL from Qdrant, get everything indexed from a particular page, or see what was stored for a specific source. Triggers on "retrieve from axon", "get the indexed content for this URL", "fetch stored chunks for", "what did axon store from", "show me what's indexed at". Different from query (keyword search) — retrieve fetches by exact URL.
Use when the user wants to scrape a single URL or a few URLs to markdown, fetch a page's content, extract text from a web page, or save a URL's content into Qdrant. Triggers on "scrape this URL", "fetch the content of", "get the text from this page", "save this page to axon", "read this webpage into the RAG", or when the user pastes a URL and wants its content extracted. Prefer this over crawl when only specific pages are needed rather than a whole site.
Use when the user wants to search the web via Tavily and index the results, find recent information on a topic and store it, or combine live web search with automatic crawling. Triggers on "search the web for", "find recent articles about", "search and index", "Tavily search", or when the user wants to pull fresh web content into axon. Different from `query` — this searches the live web, not already-indexed content.
Use when the user wants to see all indexed URLs, list what pages are in the knowledge base, check which URLs have been scraped or crawled, audit what's in the vector store, or find out if a specific URL is indexed. Triggers on "list indexed sources", "what URLs are indexed", "show me the sources", "what's in axon", "which pages are stored", "list all indexed URLs", "what did I crawl". Different from domains (grouped by domain) — sources shows individual URLs.
Use when the user wants to see Qdrant collection statistics, check how many points or vectors are indexed, see collection size, or get an overview of the vector store. Triggers on "axon stats", "how many vectors", "collection size", "how many points in Qdrant", "vector store stats", "how much is indexed", "collection stats". Different from sources (URL list) and status (job queue).
Use when the user wants to see the current job queue status, check what jobs are running or pending, monitor async jobs, or get an overview of the job queue. Triggers on "job status", "what's running in axon", "check the queue", "any jobs pending", "axon status", "what's in progress". Different from doctor (service health) — status shows job activity.