An opinionated selection of skills for daily dev workflows.
Agent Skills Compatible - All skills follow the Agent Skills open format specification.
| Skill | Description |
|---|---|
| umbrel-app | Expert assistant for developing, packaging, testing, and submitting apps for umbrelOS |
| claude-code-expert | Comprehensive Claude Code & Anthropic ecosystem knowledge. Official patterns for agents, skills, hooks, commands, MCP. |
| agent-browser | Expert on agent-browser - Vercel's headless browser automation CLI for AI agents with 50+ commands, snapshots, and multi-session support |
| chat-sdk | Expert on Chat SDK (vercel/chat) - the unified TypeScript SDK for building chat bots and agents across Slack, Teams, Discord, Telegram, WhatsApp, and more |
| ai-sdk | Expert on AI SDK - Vercel's TypeScript toolkit for building AI applications with unified LLM API, streaming, tool calling, and agents |
| agent-skills | Expert at the Agent Skills open format for extending AI agent capabilities - create, validate, and understand SKILL.md files |
| hermes | Expert at understanding and working with Hermes Agent - its memory system, skills, cron jobs, tools, and behavioral conventions |
| honcho | Expert on Honcho — AI-native memory and context platform for LLM applications with persistent memory, user modeling, and context management |
| safe-delete | Prevents catastrophic file deletion by transforming rm commands to trash and blocking dangerous patterns like rm -rf / |
| x-engagement | Crafts high-engagement X (Twitter) content using the published X algorithm scoring weights, visibility filtering and account-standing rules, conversation tactics, and Original Content Rewards monetization |
| gh-issue-tracker | Install, configure, and manage gh-issue-tracker — lightweight error tracking that creates GitHub Issues with deduplication, fingerprinting, and rate limiting |
| firecrawl | Expert on Firecrawl — web scraping, crawling, search, and browser automation API for AI agents with clean LLM-ready output |
| servarr | Deploy, configure, and manage the full media stack — Sonarr, Radarr, Lidarr, Prowlarr, Plex, Overseerr, qBittorrent, Bazarr, and Recyclarr |
| obsidian | Manage and optimize Obsidian vaults — organization, Dataview, Templater, workflows, MCP integration, plugins, sync, and publishing |
| adguard | Deploy, configure, and manage AdGuard Home — network-wide DNS ad blocking, filtering, DHCP, client management, and REST API automation |
| immich | Deploy, configure, and manage Immich — self-hosted photo and video management with machine learning, facial recognition, mobile backup, and REST API |
| glinet | Configure and manage GL.iNet routers — VPN, AdGuard Home, DNS, multi-WAN failover, drop-in gateway, firewall, and network modes |
| umami | Deploy, configure, and manage Umami — open-source privacy-focused web analytics with API client, tracker, events, statistics, and reports |
| flue | Expert on Flue — the open-source TypeScript framework for building durable, autonomous AI agents and workflows on the Pi harness. Write once, deploy anywhere, use any LLM. |
| pi | Expert on Pi (pi.dev, @earendil-works/pi-coding-agent) — extend, improve, custom providers, extensions, skills, themes, and running from source |
| wealthfolio | Expert on Wealthfolio — the open-source, private, local-first portfolio & net-worth tracker (desktop, iOS, self-hosted Docker). Concepts, CSV import, self-hosting, and addon development. |
| 1password-cli | Expert on the 1Password CLI (op) — manage 1Password from the terminal, read/inject secrets with secret references, run op run/op inject, manage items & vaults, service accounts, shell plugins, and the SSH agent. |
| portainerctl | Expert on portainerctl — Portainer's official CLI for driving Portainer Business Edition over its REST API. Auth via API token, environments, stacks, GitOps deploys, containers, Kubernetes, edge, users/teams/RBAC. |
| beads | Expert on beads (bd) — the dependency-aware, Dolt-backed issue tracker built for AI coding agents. Ready-queue workflow, hash IDs, dependency types, formulas/molecules/gates/wisps, Dolt sync, and Claude Code wiring |
| tower | Run a control tower over a fleet of herdr agents — session start, catalog, unpaid ask, dispatch from a spec file, watch a completion marker, reconvene with an owner table, and verify through acceptance gates so "done" is an exit code |
| pr-standard | House standard for GitHub pull request descriptions — the six ASD-STE100 writing rules, the four-label pack (type, priority:*, t-shirt:*, area:*), the required body shape with a mermaid diagram, and the forked-chat workflow |
| skill-release-preflight | Three checks before pushing to this repo — never hand-edit a release-please version, run check-consistency.sh locally, and read gh label list before gh pr create |
| apprise-api | Deploy, configure, and drive the Apprise API (caronc/apprise-api) — the self-hosted notification gateway that fans one HTTP request out to 100+ services, with stateful config keys, tag routing, attachments, and webhook payload mapping |
zskills is a Rust package manager built specifically for managing Claude Code skills — declarative install, multi-marketplace, atomic settings.json round-trip.
cargo install --git https://github.com/zot24/zskills
zskills marketplace add zot24/skills
zskills install umbrel-app servarr immich # name resolution is unambiguousDeclarative skills.toml in any repo or in ~/.config/zskills/:
[[skills]]
name = "umbrel-app"
marketplace = "zot24-skills"
[[skills]]
name = "servarr"
marketplace = "zot24-skills"zskills sync # idempotent, applies the manifest
zskills sync --dry-run # preview changes first/plugin marketplace add zot24/skills
/plugin install umbrel-app@zot24-skills.claude/settings.json:
{
"extraKnownMarketplaces": {
"zot24-skills": {
"source": { "source": "github", "repo": "zot24/skills" }
}
},
"enabledPlugins": {
"umbrel-app@zot24-skills": true
}
}Once installed, you can use skills via slash commands or natural language.
Format: /skill-name:command-name [arguments]
# Umbrel app development
/umbrel-app:umbrel-app scaffold my-app # Create new app structure
/umbrel-app:umbrel-app validate ./my-app # Validate app configuration
/umbrel-app:umbrel-app convert ./docker-app # Convert Docker Compose to Umbrel
/umbrel-app:umbrel-app pr ./my-app # Generate PR submission
/umbrel-app:umbrel-app debug ./my-app # Troubleshoot issues
# Claude Code expertise
/claude-code-expert:claude-code-expert create agent # Guide for creating agents
/claude-code-expert:claude-code-expert create skill # Guide for creating skills
/claude-code-expert:claude-code-expert validate ./x # Validate against best practices
/claude-code-expert:claude-code-expert features # Show Claude Code capabilities
# Agent browser automation
/agent-browser:agent-browser open <url> # Open a webpage
/agent-browser:agent-browser snapshot # Get element refs
/agent-browser:agent-browser click @e2 # Click by ref
/agent-browser:agent-browser screenshot # Capture viewport
# Hermes Agent
/hermes:hermes memory # How Hermes memory works
/hermes:hermes skills # How to create Hermes skills
/hermes:hermes cron # Cron job configuration
# Honcho memory platform
/honcho:honcho quickstart # Get started with Honcho
/honcho:honcho context # Context retrieval for LLMs
/honcho:honcho sdk # SDK reference
# Safe delete
/safe-delete:safe-delete enable # Enable trash-based deletion
/safe-delete:safe-delete status # Check current mode
# Firecrawl web scraping
/firecrawl:firecrawl scrape https://example.com # Scrape a page
/firecrawl:firecrawl search "AI news" # Web search
/firecrawl:firecrawl crawl https://docs.site.com # Crawl a site
/firecrawl:firecrawl mcp # MCP server setup
# Media stack management
/servarr:servarr setup docker # Full Docker stack
/servarr:servarr integrate # Wire up all apps
/servarr:servarr profiles # TRaSH quality profiles
/servarr:servarr remote # Laptop→NAS setup
# Immich photo management
/immich:immich setup # Docker Compose deployment
/immich:immich backup # Database + filesystem backup
/immich:immich library /mnt/photos # External library setup
/immich:immich upload /path/to/photos # CLI bulk upload
# Apprise notification gateway
/apprise-api:apprise-api deploy # Docker / Compose / Kubernetes setup
/apprise-api:apprise-api configure # APPRISE_* environment variables
/apprise-api:apprise-api key my-alerts # Manage a stateful config key
/apprise-api:apprise-api troubleshoot 424 # Diagnose a response codeYou can also just describe what you want:
"Create an Umbrel app for my Docker project"
"Help me package this for umbrelOS"
"How do I create a Claude Code agent?"
"What are the best practices for hooks?"
"Automate browser login with agent-browser"
"How do I use snapshots for element selection?"
"Add persistent memory to my LLM agent with Honcho"
"How do I get user context from Honcho for my chatbot?"
"Write a viral X/Twitter post about AI"
"Set up a safe delete alias so I don't accidentally delete everything"
"Deploy an Apprise API container and route my alerts to Discord and ntfy"
The skills auto-activate based on context.
Full lifecycle support for Umbrel app development:
- scaffold - Generate complete app structure
- validate - Check against 20+ requirements
- convert - Transform Docker Compose to Umbrel format
- pr - Generate submission-ready PR content
- debug - Troubleshoot issues
- sync/diff - Stay updated with upstream docs
/umbrel-app:umbrel-app scaffold my-app
/umbrel-app:umbrel-app validate ./my-appComprehensive Claude Code and Anthropic ecosystem knowledge:
- create agent/skill/hook/command - Official patterns and guidance
- validate - Check artifacts against official checklists
- patterns - Browse available creation patterns
- features - Learn about Claude Code capabilities
- sync/check - Keep documentation up to date
/claude-code-expert:claude-code-expert create agent
/claude-code-expert:claude-code-expert create skill
/claude-code-expert:claude-code-expert validate ./my-agent
/claude-code-expert:claude-code-expert featuresExpert on Vercel's browser automation CLI for AI agents:
- open - Navigate to webpages
- snapshot - Get accessibility tree with element refs
- click/fill/type - Interact with elements by ref
- screenshot - Capture viewport or full page
- session - Manage isolated browser instances
- network - Intercept and mock requests
- sync/diff - Stay updated with upstream docs
/agent-browser:agent-browser open https://example.com
/agent-browser:agent-browser snapshot -i
/agent-browser:agent-browser click @e2
/agent-browser:agent-browser screenshot page.pngExpert on Chat SDK (vercel/chat), the unified TypeScript SDK for multi-platform chat bots:
- overview - Introduction, core concepts, and getting started
- adapters - Platform adapters for Slack, Teams, Discord, Telegram, WhatsApp, and more
- ai - AI streaming, AI SDK tools, and message conversion
- api - Look up Chat/Thread/Channel/Message API reference
- sync/diff - Stay updated with upstream docs
Expert on Vercel's AI SDK - TypeScript toolkit for building AI applications:
- providers - Unified API across 100+ LLMs
- streaming - Streaming text, audio, and image generation
- tool calling - Structured tool definitions and execution
- agents - Build autonomous agents with memory
- rags - Retrieval augmented generation patterns
- sync/diff - Stay updated with upstream docs
Expert at the Agent Skills open format specification:
- create - Create new SKILL.md files following the spec
- validate - Validate skills against the specification
- spec - Understand the Agent Skills format
- best-practices - Authoring guidelines and patterns
- integrate - Add skills to your agent
- sync/diff - Stay updated with upstream docs
/skills-ref validate ./skills/my-skillExpert at understanding and configuring Hermes Agent:
- memory - Dual-store memory, Honcho profiles, instruction capture
- skills - How skills are created, triggered, and structured
- cron - Schedule formats, delivery targets, scheduler architecture
- tools - Built-in tool categories and capabilities
- config - Configuration files and environment variables
- conventions - Communication style and user preferences
/hermes:hermes memory
/hermes:hermes skills
/hermes:hermes cronExpert on Honcho — AI-native memory and context platform for LLM applications:
- quickstart - Setup and first API calls
- architecture - Core data model (workspaces, peers, sessions)
- context - Retrieve context for LLM injection
- peers - Working with peer representations
- dreaming - Autonomous memory consolidation
- sdk - Python and TypeScript SDK reference
- api - Full REST API reference
- integrate - Guides for Claude Code, MCP, LangGraph, Discord, Telegram, and more
- sync/diff - Stay updated with upstream docs
/honcho:honcho quickstart
/honcho:honcho context
/honcho:honcho sdk
/honcho:honcho integrate discordPrevents catastrophic file deletion by intercepting dangerous rm commands:
- enable - Activate trash-based deletion (aliases rm to trash-cli)
- block - Block patterns like
rm -rf /orrm -rf /* - whitelist - Allow specific directories to be deleted
- status - Show current protection state
- restore - Recover files from trash
/safe-delete:safe-delete enable
/safe-delete:safe-delete statusCrafts high-engagement X (Twitter) content using strategic frameworks:
- hook - Write viral-worthy opening hooks
- thread - Draft a full tweet/thread
- reply - Craft strategic, Grok-quality-aware replies
- cluster - Plan a content cluster of related posts
- review - Review a draft for negative-signal risk, action triggers, and slop
- ideas - Generate ideas ranked by algorithm signal priority
- signals - Explain the published scoring weights and how to read them
- weights - Print the published blend weights with
file:linecitations - standing - Diagnose a reach drop via visibility filtering and account labels
- monetization - Original Content Rewards eligibility, qualified impressions, payout rules
/x-engagement:x-engagement hook "AI agents"
/x-engagement:x-engagement thread "Why most AI projects fail"
/x-engagement:x-engagement monetizationExpert on Firecrawl web scraping, crawling, and data extraction API:
- scrape - Extract markdown/HTML/JSON from a single URL
- search - Query-based web discovery with content extraction
- crawl - Recursively gather content from entire sites
- map - Discover all URLs on a website
- interact - Browser automation (clicks, forms, navigation)
- extract - LLM-powered structured data extraction
- sdk - Node, Python, Go, Rust SDK reference
- mcp - MCP server setup for Claude/Cursor
- sync/diff - Stay updated with upstream docs
/firecrawl:firecrawl scrape https://example.com
/firecrawl:firecrawl search "AI news"
/firecrawl:firecrawl crawl https://docs.example.comDeploy and manage the complete media automation stack:
- setup - Docker Compose for full stack (9 services)
- configure - App-specific configuration guides
- api - API usage with curl examples for all apps
- integrate - Wire up Prowlarr → *arr apps → qBittorrent → Plex
- profiles - TRaSH quality profiles via Recyclarr
- status - Health check all running instances
- troubleshoot - Diagnose common issues
- add - Add movies/shows/artists via API
- request - Overseerr request workflow
- remote - Laptop→NAS management patterns
/servarr:servarr setup docker
/servarr:servarr integrate
/servarr:servarr add movie "Inception"
/servarr:servarr remoteDeploy and manage Immich, a self-hosted photo and video management solution:
- setup - Docker Compose deployment guide
- configure - Environment variables and settings
- backup - Database and filesystem backup/restore
- library - External library setup for existing photo directories
- upload - CLI bulk upload with album creation
- api - REST API usage with curl examples
- ml - Machine learning configuration (CLIP, faces, OCR)
- mobile - Mobile app setup and backup
/immich:immich setup
/immich:immich backup
/immich:immich upload /path/to/photos
/immich:immich library /mnt/nas/photosConfigure and manage GL.iNet routers (firmware v4.x):
- setup - First time setup and internet configuration
- vpn - WireGuard, OpenVPN, Tailscale client/server
- adguard - Built-in AdGuard Home ad blocking
- gateway - Drop-in gateway for existing networks
- dns - Encrypted DNS (DoH, DoT, DNSCrypt)
- multiwan - Failover and load balancing
- firewall - Port forwarding, DMZ, access control
- storage - USB/Samba/WebDAV/DLNA
/glinet:glinet setup
/glinet:glinet vpn wireguard
/glinet:glinet adguard
/glinet:glinet gatewayDeploy and manage Umami, a privacy-focused open-source web analytics platform:
- setup — Docker Compose, source, and cloud installation
- api —
@umami/api-clientTypeScript client for all endpoints - track — Client-side and server-side event tracking
- stats — Website statistics, metrics, and active users
- reports — Attribution, funnel, retention, journey, revenue, UTM
- realtime — Live visitor data
- teams — Team and user management
/umami:umami setup
/umami:umami api getWebsites
/umami:umami track purchase
/umami:umami stats <websiteId>
/umami:umami reports funnelExpert on Flue — the open-source TypeScript framework (by the Astro team) for building durable, autonomous AI agents and workflows on the Pi harness:
- quickstart — Install, first agent, run locally
- agent — Building agents with
createAgent(harness-driven) - workflow — Authoring deterministic
run(...)workflows - channels — Verified inbound provider events (Slack, GitHub, Stripe, …)
- cli —
init,dev,run,connect,build,add,update,logs,docs - sdk —
createFlueClient, agents, workflows, runs, events - api — Agent, routing, provider, sandbox, and channel APIs
- deploy — Cloudflare, AWS, Docker, Fly, Node, Railway, Render, SST, and more
- sync/diff — Stay updated with upstream docs
/flue:flue quickstart
/flue:flue agent
/flue:flue deploy cloudflare
/flue:flue add channel slackExpert on Pi (pi.dev, @earendil-works/pi-coding-agent) — the minimal terminal coding harness. Procedure for extending Pi, improving it, adding custom providers, writing extensions / skills / themes / pi packages, forking, and running from source:
- extend / loop —
packages/agent(pi-agent-core) - provider —
packages/ai(pi-ai), custom providers - extension / skill / theme / package —
packages/coding-agent - fork — read
docs/development.mdForking / Rebranding - source —
npm install --ignore-scripts,npm run check,./test.sh,./pi-test.sh - sync/diff — Stay updated with upstream docs
/pi:pi extend
/pi:pi provider
/pi:pi extension
/pi:pi sourceExpert on Wealthfolio — the open-source, private, local-first portfolio & net-worth tracker (desktop, iOS, self-hosted Docker):
- start — Install & onboarding (download, accounts, first activities)
- concepts — Tracking modes, activity types, cost basis & lots, performance metrics
- import — CSV import: column mapping, activity types, troubleshooting
- guide — Dashboards, accounts, spending & budgets, goals, retirement/FIRE, contribution limits
- connect — Wealthfolio Connect broker sync & encrypted multi-device sync
- ai — Local AI assistant via Ollama
- self-host — Docker, Docker Compose, Unraid, Proxmox, Coolify, reverse proxy
- addon — Addon development (getting started, API reference)
- sync/diff — Stay updated with upstream docs
/wealthfolio:wealthfolio start
/wealthfolio:wealthfolio import
/wealthfolio:wealthfolio self-host docker
/wealthfolio:wealthfolio addon getting-startedExpert on the 1Password CLI (the op command) for managing 1Password from the terminal and loading secrets into scripts and CI:
- start — Install (macOS/Windows/Linux), enable desktop-app integration, first sign-in
- signin — Manual sign-in, multiple accounts, biometric unlock
- secrets — Secret references (
op://vault/item/field),op read - run / inject —
op run -- <cmd>andop injectfor env vars,.env, and config files - item / vault — Full CRUD for items and vaults, fields, share links, permissions
- service-account — Automation/CI auth via
OP_SERVICE_ACCOUNT_TOKEN; Connect server - plugin — Shell plugins (
op plugin) for 80+ third-party CLIs - ssh — 1Password SSH agent, SSH keys, git commit signing
- sync/diff — Stay updated with upstream docs
/1password-cli:1password-cli start
/1password-cli:1password-cli secrets
/1password-cli:1password-cli run
/1password-cli:1password-cli service-accountExpert on portainerctl — Portainer's official CLI for driving Portainer Business Edition over its REST API:
- install — Binary download / build from source; supported Portainer version
- auth — API-token (PAT) auth, kubeconfig-style contexts,
PORTAINERCTL_*env vars for CI - environment — Environments/endpoints, environment groups, tags, snapshots
- stack — Deploy Compose/Swarm/Kubernetes stacks from file or Git (GitOps), lifecycle
- docker / kubernetes — Containers/images/volumes/networks, Helm, kubectl & docker passthrough
- edge — Edge stacks, groups, jobs, configs, update schedules
- admin — Users/teams/RBAC, registries, webhooks, backups, licensing, observability
- sync/diff — Stay updated with upstream README
/portainerctl:portainerctl install
/portainerctl:portainerctl auth
/portainerctl:portainerctl stack deploy
/portainerctl:portainerctl environment listExpert on beads (bd) — a dependency-aware, Dolt-backed issue tracker built for AI coding agents:
- concepts — beads as a work graph, hash IDs that never collide, what
bd readycomputes - deps — blocking vs annotation-only dependency types, trees, cycles
- workflows — formula → proto → molecule, plus gates and ephemeral wisps
- sync —
bd dolt push/pulloverrefs/dolt/data, bootstrap, and what JSONL export is not - setup —
bd setup claude, the SessionStartbd primehook, other IDE recipes - json — the stable
--jsonoutput contract for agents - version — installed
bdvs latest release, and the docs-vs-release drift - sync/diff — stay updated with upstream docs
/beads:beads quickstart
/beads:beads ready
/beads:beads workflows
/beads:beads versionHow to run a control tower over a fleet of herdr agents — the operating protocol for the agent that drives the others, including the acceptance gates that decide when a job is done:
- status / catalog — Session start reads the work graph and the status board; catalog names entitled vs missing kinds
- unpaid ask — settle every prior owner ask before starting a new job; a pane start does not pay a question
- dispatch — the spec is a file, not a prompt; pane labels; start argv per kind; land-checking that the prompt actually arrived
- planes — herdr is the default; inline is one cheap fact to fill the spec
- watch/verify — idle is not done: a named marker file on disk plus your own re-check of the central claim against
gh, the disk, or the DB - reconvene — after a marker: verify, then one owner table (Project, Status, What is true, Wrong/gap, You)
- staff — PM · mentor · worker · adversary · reviewer · scout · QA, and which of those a given task actually requires
- layout — one tab per checkout; an extra tab means an extra worktree and branch
- worktree — default implement seat: list, then open or create; do not write on home
main - escalate — re-verify, then an owner-queue item, or decline because it is already fixed
- handoff — rewrite a session snapshot from live herdr and markers; a handoff note is not live state
- close — retiring agents, one-shot panes, when a workspace may close, and reloading a plugin without tearing down a space
- graph — work graph file, unpaid ask, node states, and typed edges
- pitfalls — the failure catalogue, each entry with what it actually cost
- gates — a gates file of
CHECK/EXPECT/EVIDENCEoutcomes verified by the vendored zero-dependency checker (Leonxlnx/unlazy, MIT) - scripts —
tower-watch.sh/tower-poke.sh, the marker-watch and poke loop;gate-check.mjs
/tower:tower status
/tower:tower catalog
/tower:tower dispatch
/tower:tower reconvene
/tower:tower staff
/tower:tower escalate
/tower:tower handoff
/tower:tower worktree
/tower:tower gates status gates/job.mdThe house standard for GitHub pull request descriptions. One card an agent or a human reads before writing a PR body:
- rules — the six ASD-STE100 rules: one idea per sentence, the same word for the same thing, active voice, imperative in steps, no filler, exact technical names
- template — Labels checklist, Summary, How It Works (mermaid), Linked issues, Testing evidence, Notes
- labels — the four-pack: type,
priority:*,t-shirt:*, and that repo's ownarea:* - diagram — which diagram a change needs, when to commit a
.mmd, and the three mermaid patterns GitHub refuses to render - fork — why the conversation that wrote the code must not write the body
/pr-standard:pr-standard write
/pr-standard:pr-standard fix 812
/pr-standard:pr-standard labels
/pr-standard:pr-standard diagramHard rule for agents: fill the template. Never gh pr create -b "<one paragraph>".
Three commands before every push to this repo. Each takes under a second, and each has already caught a failure that reached CI:
- version — release-please owns
sync.jsonandplugin.jsonand bumps them in lockstep; a hand edit desyncs them and fails CI. Revert to.release-please-manifest.json, never bump the other file to match - register — the six registration points, and
EXEMPT_SYNCfor a skill with no upstream - new-skill — the
Release-As: 1.0.0footer, without which a new skill ships as1.1.0and its changelog links to a tag that does not exist - check — every
MISMATCH:linecheck-consistency.shcan print, and the oneWARNING:that is expected - preflight — consistency,
gh label list,git status --porcelain, then push
/skill-release-preflight:skill-release-preflight preflight
/skill-release-preflight:skill-release-preflight check
/skill-release-preflight:skill-release-preflight versionInstall, configure, and manage gh-issue-tracker — lightweight error tracking that creates GitHub Issues:
- setup — guided setup for any framework (Next.js, Express, generic Node.js)
- architecture — server-only vs client+server decisions
- security — recommendations and proxy patterns
- verify — verification and troubleshooting
- triage — issue triage and management workflows
Manage and optimize Obsidian vaults — beyond syntax, into systems:
- vault — folder structures, naming, MOCs, bulk operations, orphan detection
- dataview — DQL queries, tables, lists, task queries, JavaScript API
- templater — dynamic templates, JS execution, file creation, date handling
- workflows — Zettelkasten, PARA, daily notes, periodic reviews
- plugins — Dataview, Templater, Tasks, Calendar, Excalidraw, and more
- ai / mcp — MCP servers, Local REST API, agent workflows
- sync / publish — Obsidian Sync, git-based sync, Obsidian Publish
Deploy, configure, and manage AdGuard Home — network-wide DNS ad blocking and filtering:
- setup — Docker and bare-metal deployment
- configure — DNS filtering, blocklists, upstreams
- encryption — DoH, DoT, DoQ, DNSCrypt
- dhcp — DHCP server setup
- clients — per-client rules and settings
- api — REST API automation
/adguard:adguard setup docker
/adguard:adguard configureDeploy, configure, and drive the Apprise API — a self-hosted notification gateway that turns one HTTP request into notifications across 100+ services:
- deploy — Docker, Docker Compose, hardened rootless Kubernetes
- configure — every
APPRISE_*environment variable, TEXT and YAML config - notify — stateless (
/notify) and stateful (/notify/{KEY}) requests - key — save, read, and delete configuration keys
- tags — AND/OR tag expressions to route to a subset of saved URLs
- attach — file upload, remote URL, and JSON attachment forms
- webhook — remap third-party JSON payloads onto title/body
- troubleshoot — response codes, error lookup, URL escaping
/apprise-api:apprise-api deploy
/apprise-api:apprise-api configure
/apprise-api:apprise-api key my-alerts
/apprise-api:apprise-api troubleshoot 424-
Create a new directory under
skills/:skills/ └── my-new-skill/ ├── .claude-plugin/ │ └── plugin.json ├── commands/ ├── skills/ ├── sync.json # Required for CI automation └── README.md -
Create
sync.jsonfor automated updates:{ "name": "my-new-skill", "version": "1.0.0", "description": "What it does", "sources": [ { "url": "https://example.com/docs.md", "target": "skills/my-skill/docs/readme-upstream.md", "freshness_days": 14 } ], "cache_dir": ".cache" } -
Add entry to
.claude-plugin/marketplace.json:{ "name": "my-new-skill", "source": "./skills/my-new-skill", "description": "What it does", "version": "1.0.0" } -
Add skill to CI sync array in
.github/workflows/sync-docs.ymlif it has upstream docs -
Commit and push
The repository includes automated workflows for keeping skill documentation up to date.
Runs bi-weekly (1st and 15th of each month) to check for upstream documentation changes. Only syncs skills with actual upstream documentation sources.
Manual trigger: Actions > Sync Skill Documentation > Run workflow
Options:
force: Force sync even without detected changesdry_run: Check for changes without creating PR
Skills with CI sync enabled:
- umbrel-app, claude-code-expert, agent-browser, chat-sdk, ai-sdk, agent-skills, hermes, honcho, firecrawl, servarr, obsidian, adguard, immich, glinet, umami, flue, wealthfolio, 1password-cli, portainerctl, x-engagement, beads, tower, pi
This repository uses release-please to automate versioning and releases based on Conventional Commits.
How it works:
- Push commits using conventional format:
feat(skill-name): description - Release-please detects changes and creates a release PR
- The PR updates versions and CHANGELOG automatically
- When merged, creates a GitHub release with tag (e.g.,
umbrel-app-v1.3.0)
Commit types:
| Prefix | Version Bump | Changelog Section |
|---|---|---|
feat |
Minor (1.x.0) | Features |
fix |
Patch (1.0.x) | Bug Fixes |
docs |
Patch (1.0.x) | Documentation |
chore |
None | Hidden |
Configuration files:
release-please-config.json- Release settings and package definitions.release-please-manifest.json- Current versions for each skill
Set custom schedule via repository variable:
SYNC_SCHEDULE: "0 6 1,15 * *" # Cron format
skills/
├── .claude-plugin/
│ └── marketplace.json # Marketplace manifest
├── .github/
│ └── workflows/
│ ├── scripts/
│ │ ├── check-consistency.sh # Registration consistency checks
│ │ ├── sync-skill.sh # Generic sync script
│ │ └── sync-marketplace.sh # Marketplace sync script
│ ├── release-please.yml # Automated releases
│ ├── sync-docs.yml # Scheduled sync workflow
│ ├── sync-hermes-on-release.yml
│ ├── sync-pi-on-release.yml
│ ├── sync-marketplace.yml
│ └── validate.yml # CI validation
├── skills/
│ ├── umbrel-app/ # Umbrel app development
│ ├── claude-code-expert/ # Claude Code knowledge base
│ ├── agent-browser/ # Browser automation for AI agents
│ ├── chat-sdk/ # Vercel Chat SDK
│ ├── ai-sdk/ # Vercel AI SDK
│ ├── agent-skills/ # Agent Skills specification
│ ├── hermes/ # Hermes Agent self-knowledge
│ ├── honcho/ # Honcho AI-native memory platform
│ ├── safe-delete/ # Safe file deletion
│ ├── x-engagement/ # X/Twitter engagement
│ ├── gh-issue-tracker/ # Error tracking via GitHub Issues
│ ├── firecrawl/ # Firecrawl web scraping API
│ ├── servarr/ # Media stack (*arr suite + Plex)
│ ├── obsidian/ # Obsidian vault management
│ ├── adguard/ # AdGuard Home DNS filtering
│ ├── immich/ # Immich photo/video management
│ ├── glinet/ # GL.iNet router management
│ ├── umami/ # Umami web analytics
│ ├── flue/ # Flue open agent framework
│ ├── pi/ # Pi coding harness (extend / improve)
│ ├── wealthfolio/ # Private local-first portfolio tracker
│ ├── 1password-cli/ # 1Password CLI (op) secrets management
│ ├── portainerctl/ # Portainer CLI (Business Edition)
│ ├── beads/ # Beads (bd) dependency-aware issue tracker
│ ├── tower/ # Control tower + acceptance gates over a herdr fleet
│ ├── pr-standard/ # House standard for GitHub PR descriptions
│ └── skill-release-preflight/ # Pre-push checks for this repo
└── README.md
All skills in this repository follow the Agent Skills open format specification:
| Requirement | Status |
|---|---|
Valid name field (lowercase, hyphens) |
✓ |
| Name matches directory | ✓ |
Descriptive description with triggers |
✓ |
| SKILL.md under 500 lines | ✓ |
| Progressive disclosure pattern | ✓ |
| References in docs/ folder | ✓ |
- SKILL.md format: YAML frontmatter + Markdown body
- Progressive disclosure: Metadata → Instructions → References (docs/)
- Directory structure:
skills/<name>/skills/<name>/SKILL.md - Token efficiency: Main skills ~100 lines, detailed docs loaded on-demand
pip install skills-ref
skills-ref validate ./skills/umbrel-app/skills/umbrel-appFor more information, see agentskills.io or the agent-skills skill.
MIT