A collection of AI agent skills built for Hermes Agent, organised by domain. Each skill is self-contained in its own folder — pick and choose which to install.
Portability: These skills are written for Hermes's tool architecture (
web_search,web_extract,terminal,delegate_task,cronjob, etc.) and SKILL.md format. However, the workflows, prompts, and scripts are agent-agnostic — an AI agent on any platform (Claude Code, Codex, OpenCode, LangGraph, etc.) should be able to adapt them by mapping the tool names and adjusting the skill loader conventions to their own environment.
agent_skills/
├── README.md ← you are here (repo-level)
├── LICENSE
├── creative/ ← image and video generation workflows
│ ├── image-studio/ ← staged fal.ai image generation/editing/cleanup
│ ├── clips-studio/ ← staged fal.ai short-video generation/animation/camera moves
│ └── pexels-stock-photos/ ← free real-world stock photo search + download (Pexels API)
├── research/ ← source-grounded research, enrichment, and RAG skills
│ ├── deep-research/ ← iterative research engine with structured evidence, source quality ranking, refute polarity, four-label evidence-basis discipline
│ ├── entity-research/ ← cited entity/person background dossiers + sanctions signals
│ ├── news-monitoring/ ← recurring news digests with cron delivery + multi-language
│ ├── notebooklm-mode/ ← NotebookLM-style source vault + grounded answers
│ ├── people-enrichment/ ← PDL person/company enrichment/search to styled .xlsx
│ ├── library-rag/ ← Nemotron-3-Embed-1B + sqlite-vec semantic search engine
│ ├── source-tracker/ ← persistent citation database + URL health + bibliography export
│ ├── fact-checker/ ← targeted claim verification + confidence rating + cited reports
│ ├── media-analyzer/ ← rhetorical technique detection (loaded language, framing, omission)
│ ├── endpoint-probe/ ← API/MCP surface discovery (REST, GraphQL, SOAP, JSON-RPC)
│ └── youtube-topic-research/ ← YouTube search + transcript summarization
├── mlops/ ← model evaluation and ops skills
│ └── model-compare/ ← blind multi-model A/B comparison + embedding benchmark
├── web-scraping/ ← web data-extraction skills
│ └── website-scraping/ ← recon → lightest-tool extraction → JSONL output
├── productivity/ ← personal / business-ops skills
│ ├── fill-template/ ← bulk-fill Word/Excel templates from a data table (mail-merge)
│ ├── travel-itinerary/ ← business-trip itineraries: parse → structure → export
│ ├── decision-log/ ← ADR-style decision journal + superseding chains + cron reviews
│ ├── scheduled-summary/ ← cron-driven cross-session digest for messaging platforms
│ ├── file-organizer/ ← LLM-powered directory organizer: scan → propose → confirm → move
│ ├── receipt-compiler/ ← phone-camera receipt photos → straightened B&W A4 expense-claim PDF
│ └── task-brief/ ← goal/context/constraints brief compiled + confirmed before substantial tasks
├── agent-ops/ ← agent infrastructure and maintenance skills
│ ├── claude-plugin-converter/ ← convert Claude Code plugins → self-contained Hermes plugins
│ ├── skill-maintainer/ ← end-to-end skill library maintenance + upstream sync
│ ├── log-analyzer/ ← log pattern detection: error clusters, rate limits, timeouts
│ ├── input-token-overheads/ ← audit per-turn input token cost: measure, rank, reduce
│ ├── operator-brain/ ← 8-module behavioral stack: act, lead with outcome, ground claims
│ └── hermes-onboarding/ ← 21-step customer onboarding: gateway, dashboard, memory, crons
├── devops/ ← infrastructure and system maintenance skills
│ └── disk-cleanup/ ← triage survey → safe/ask buckets → execute → verify delta
└── plugins/ ← installable Hermes Agent plugins
└── skill-retrieval/ ← BM25 retrieval that injects the top-K relevant skills per turn
New skills are added as folders under the relevant domain directory.
| Skill | Domain | What it does | Pairs with |
|---|---|---|---|
| image-studio | creative | Staged fal.ai image gen/edit/upscale/cleanup with cost logging + --dry-run |
pexels-stock-photos |
| clips-studio | creative | Staged fal.ai short-video: text-to-video, animate still, camera moves | image-studio |
| pexels-stock-photos | creative | Free real-world stock photos (Pexels API, 20k/month) with attribution handling | image-studio |
| deep-research | research | Iterative research engine: structured evidence, source quality ranking (primary/secondary/tertiary), refute polarity, overview-first reports, four-label evidence-basis discipline ([VERIFIED]/[SOURCED]/[REASONED]/[ESTIMATED]) | fact-checker, source-tracker |
| entity-research | research | Cited company/person dossiers: ownership, adverse media, sanctions, litigation | deep-research |
| people-enrichment | research | PDL person/company lookup → styled .xlsx |
entity-research |
| library-rag | research | Semantic search over personal library (Nemotron-3-Embed-1B + sqlite-vec), incremental + prune-missing | notebooklm-mode |
| notebooklm-mode | research | Source-grounded Q&A from a source vault, strict or augmented grounding | library-rag, deep-research |
| news-monitoring | research | Recurring news digests with cron delivery + multi-language + dedup | source-tracker |
| youtube-topic-research | research | YouTube search → transcript → summary pipeline | notebooklm-mode |
| source-tracker | research | Persistent citation DB: URL dedup, topic tags, link health, bibliography export | deep-research, fact-checker |
| fact-checker | research | Claim verification → confidence rating (verified→outdated) + cited report | deep-research, source-tracker |
| media-analyzer | research | Rhetorical technique detection (loaded language, framing, omission) — not political labels | fact-checker, deep-research |
| endpoint-probe | research | Discover API/MCP surfaces (REST, GraphQL, SOAP, JSON-RPC) — probe script + interpretation guide | website-scraping |
| model-compare | mlops | Blind multi-model A/B comparison: simple, tools, coding, review modes + embedding benchmark | — |
| website-scraping | web-scraping | Recon → lightest extraction tool → JSONL + run manifest | source-tracker |
| fill-template | productivity | Bulk-fill Word/Excel templates from a data table (mail-merge) | — |
| travel-itinerary | productivity | Business-trip itineraries from emails/PDFs → Markdown + .ics + chat variants |
— |
| decision-log | productivity | ADR-style decision journal with superseding chains + cron review reminders | — |
| scheduled-summary | productivity | Cron-driven cross-session digest — surfaces activity invisible on chat platforms | decision-log, news-monitoring |
| file-organizer | productivity | LLM-powered directory organizer: scan → propose structure → confirm → chunked moves | — |
| receipt-compiler | productivity | Phone-camera receipt photos → straightened B&W scans → A4 expense-claim PDF with confirmation gate | |
| task-brief | productivity | Goal/context/constraints/tooling brief compiled and confirmed before substantial work starts | — |
| claude-plugin-converter | agent-ops | Two-phase converter: analyze Claude Code plugins → generate installable Hermes plugins | skill-maintainer |
| skill-maintainer | agent-ops | Skill library maintenance: author, curate, upstream drift tracking, publish | — |
| log-analyzer | agent-ops | Log pattern detection: error clusters, rate limits, timeout clusters, tool failures | scheduled-summary |
| input-token-overheads | agent-ops | Audit per-turn input token cost: measure each source, rank by cost, act on top consumers | skill-maintainer |
| operator-brain | agent-ops | 8-module behavioral stack from Anthropic's Fable guide: act, lead with outcome, ground every claim | controlled-english-output |
| hermes-onboarding | agent-ops | 21-step customer onboarding: gateway, dashboard, memory, search, guardrails, maintenance crons | disk-cleanup, log-analyzer |
| disk-cleanup | devops | Triage disk space: survey all mounts → safe/ask buckets → execute approved set → verify delta | — |
Related work: Odysseus (PewDiePie's self-hosted AI workspace) ships similar features as a standalone web app — "Deep Research" and "Compare" — while
deep-researchandmodel-comparecover the same ground as pure-prompt workflows + stdlib scripts inside any agent's tool loop.
Beyond skills, the repo ships installable Hermes Agent plugins under plugins/.
A Hermes plugin that scales skill usage to large libraries. As a skill catalog grows past a few dozen entries, the per-turn <available_skills> block costs input tokens and buries the right skill in noise. This plugin replaces the full block with BM25 retrieval: each user turn is scored against a stdlib inverted index built from skill names and descriptions, and only the top-K most relevant skills are injected into the prompt (default K=6, configurable via plugin.yaml).
- Stdlib only — no numpy/scipy; the index builds in milliseconds and retrieval is sub-millisecond for 128+ skills.
- Profile-aware discovery — paths resolve through Hermes' own helpers (
get_hermes_home,get_skills_dir), so named profiles,skills.external_dirs, trusted project-local skills, disabled lists, and platform/condition gates all match what the agent itself sees. The index cache is keyed per Hermes home, so multiplexed profiles never share an index. - Windows-safe — skill ids normalize to forward slashes;
$HERMES_HOME-aware path resolution. - Graceful degradation — if Hermes core modules are unavailable, it falls back to a standalone loader; malformed configs never abort the index build.
Install by copying or symlinking plugins/skill-retrieval/ into ~/.hermes/plugins/ (or your profile's plugins/), then restart the gateway. Tests: python3 -m pytest plugins/skill-retrieval/tests/.
| Skill | Status | Tests | Dependencies |
|---|---|---|---|
| image-studio | Stable | ✓ | fal.ai key |
| clips-studio | Stable | ✓ | fal.ai key |
| pexels-stock-photos | Stable | ✓ | Pexels API key (free) |
| deep-research | Stable | evals, references | None (prompt-only) |
| entity-research | Stable | ✓ | None (stdlib) |
| people-enrichment | Stable | ✓ | openpyxl; PDL API key |
| library-rag | Stable | ✓ | sqlite-vec, requests, pyyaml; optional PDF/EPUB/MCP deps |
| notebooklm-mode | Stable | ✓ | library-rag |
| news-monitoring | Stable | evals | None (prompt-only) |
| youtube-topic-research | Stable | ✓ | ddgs, youtube-transcript-api, jinja2, pyyaml |
| source-tracker | Stable | ✓ | None (stdlib) |
| fact-checker | Stable | ✓ | None (stdlib) |
| media-analyzer | Stable | ✓ | None (stdlib) |
| endpoint-probe | Stable | ✓ | None (stdlib) |
| model-compare | Stable | ✓ | None (stdlib); tool mode needs SEARXNG_URL or ddgs CLI |
| website-scraping | Stable | evals | None (prompt-only) |
| fill-template | Stable | ✓ | python-docx, openpyxl |
| travel-itinerary | Stable | ✓ | None (stdlib) |
| decision-log | Stable | ✓ | None (stdlib) |
| receipt-compiler | Stable | ✓ | opencv-python-headless, pillow, pillow-heif, pytesseract, reportlab, numpy; tesseract-ocr binary |
| scheduled-summary | Stable | ✓ | None (stdlib) |
| file-organizer | Stable | ✓ | None (stdlib); optional external LLM via urllib (deepseek/openrouter/ollama) |
| task-brief | Beta | — | None (prompt-only) |
| claude-plugin-converter | Beta | ✓ | None (stdlib) |
| skill-maintainer | Beta | ✓ | None (stdlib; curl for GitHub API). Unix-first — cron, curl, which, shell loops. Windows via WSL/MSYS2 untested. |
| log-analyzer | Stable | ✓ | None (stdlib) |
| input-token-overheads | Stable | evals, scripts | PyYAML (optional) |
| operator-brain | Stable | — | None (prompt-only) |
| hermes-onboarding | Beta | evals | None (prompt-only) |
| disk-cleanup | Stable | evals | None (prompt-only) |
Stable = production-tested with real workflows. Tests column: ✓ = has a pytest suite; evals = ships routing/output-contract fixtures under
evals/(sample request → expected routing, required output fields, forbidden patterns), validated bytests/test_routing_fixtures.py— no live-model execution in CI. Dependencies lists pip/runtime requirements beyond Python stdlib.
npx skills add moonlight-lupin/agent-skillsInstalls every skill into .agents/skills/ (works for Cursor, Codex, Gemini CLI, Copilot, OpenCode, and more; Claude Code gets a symlinked copy) plus .claude/skills/, with a hash-pinned skills-lock.json so npx skills update can refresh later. Install one skill with --skill <name> — or omit it for an interactive pick-list.
# Install one skill by exact path (fastest, no tree scan)
gh skill install moonlight-lupin/agent-skills creative/image-studio/SKILL.md
# ...or by name into a specific agent's directory
gh skill install moonlight-lupin/agent-skills creative/image-studio/SKILL.md --agent claude-code --scope usergit clone https://github.com/moonlight-lupin/agent-skills.git
cd agent-skillsEach skill folder has a SKILL.md with setup and usage instructions — copy the ones you want into your agent's skills directory (e.g. ~/.claude/skills/, ~/.cursor/skills/, ~/.agents/skills/).
Never commit credentials. API keys, config files with secrets, and generated artifacts are all gitignored.
Spec compliance: all skills validate against the Agent Skills spec (
npx skills-ref validate). Author, version, and platform metadata live undermetadata:.
MIT — all skills in this repository are original works by moonlight-lupin and are covered by the MIT License.