An agentic skills framework & software development methodology that works.
Agent skills library for Hermes and other agents
This repo packages many reusable agent skills as separate folders, so you can add only the workflows you want. The skills cover research, content creation, file handling, ops, and maintenance, and they are meant to work through Hermes-style tool names or adapted to other agents.
Builders who want reusable skills for agent-led work across research, productivity, creative, and ops tasks.
You can add focused workflows to your agent without building them from scratch each time.
What it does
Domain-based skill library
Skills are grouped into folders like `research/`, `productivity/`, `creative/`, and `agent-ops/` so you can pick what fits the task.
Portable skill format
Each skill is self-contained in its own folder and written in `SKILL.md` format.
Skill retrieval plugin
`plugins/skill-retrieval/` injects only the most relevant skills per turn instead of the full catalog.
Install options
The repo supports `npx skills add`, `gh skill install`, or manual copying into your agent's skills directory.
Tested skill set
The repository includes pytest coverage and routing fixtures for skill behavior and output contracts.
How to get it
- 1Run
npx skills add moonlight-lupin/agent-skills
- 2Run
# 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 user
- 3Run
git clone https://github.com/moonlight-lupin/agent-skills.git cd agent-skills
README
Agent Skills
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.
Repository structure
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
│ ├── document-converter/ ← wide-range format converter (Markdown↔HTML, CSV↔JSON, YAML↔TOML, PDF)
│ ├── scheduled-summary/ ← cron-driven cross-session digest for messaging platforms
│ ├── file-organizer/ ← LLM-powered directory organizer: scan → propose → confirm → move
│ └── 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
│ └── 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.
Skills
| 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 | — |
| document-converter | productivity | Wide-range format converter: Markdown↔HTML, CSV↔JSON, YAML↔TOML, PDF, Excel | fill-template |
| 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 | — |
| 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 |
| 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.
Plugins
Beyond skills, the repo ships installable Hermes Agent plugins under plugins/.
skill-retrieval
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 maturity
| 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) |
| document-converter | Stable | ✓ | pandoc (PDF), openpyxl (Excel), PyYAML (optional) |
| 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 | Beta | evals | PyYAML (optional) |
| hermes-onboarding | Beta | evals | None (prompt-only) |
| disk-cleanup | Beta | 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.
Install
One-command: install the whole catalog (npx)
npx skills add moonlight-lupin/agent-skills
Installs 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.
Pick a skill from GitHub (gh)
# 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 user
Manual
git clone https://github.com/moonlight-lupin/agent-skills.git
cd agent-skills
Each 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:.
License
MIT — all skills in this repository are original works by moonlight-lupin and are covered by the MIT License.
Files in the repo
- .github
- agent-ops
- creative
- devops
- mlops
- plugins
- productivity
- research
- tests
- web-scraping
- .gitignore
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- LICENSE
- pyproject.toml
- README.md
- SECURITY.md
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More skills

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.
Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.
Public repository for Agent Skills
Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

Production-grade engineering skills for AI coding agents.