[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GFNHFKNRYQPQWECMS8VHPY":3,"skill-same:01M6GFNHFKNRYQPQWECMS8VHPY":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":6,"ownerDescription":69,"updatedAt":70,"install":71,"resources":84},"01M6GFNHFKNRYQPQWECMS8VHPY","hermes-agent",null,"Use, configure, theme, extend, and orchestrate Hermes Agent.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fdc\u002Fdcd2dbcf8aa20dfde9f94c66c1ae804a5cdc07ef111309078dce6646b494d55c\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,5,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"hermes agent","hermes","multi-agent","multi","theme","themes","widgets","petdex","use","macos","configure","gateway","orchestrate","code","development","windows","codex","linux","cli","2026-11-10 10:12:30",false,"---\nname: hermes-agent\ndescription: \"Use, configure, theme, extend, and orchestrate Hermes Agent.\"\nversion: 3.1.0\nauthor: Hermes Agent + Teknium\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [hermes, setup, configuration, multi-agent, spawning, cli, gateway, themes, skins, desktop-plugins, tui-widgets, petdex, development]\n    homepage: https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent\n    related_skills: [claude-code, codex]\n---\n\n# Hermes Agent\n\nHermes Agent is an open-source AI agent framework by Nous Research that runs in your terminal, a native desktop app, messaging platforms, and IDEs. It's in the same category as Claude Code (Anthropic), Codex (OpenAI), and OpenClaw — autonomous coding and task-execution agents that use tool calling to interact with your system. Hermes works with any LLM provider (OpenRouter, Anthropic, OpenAI, Google, DeepSeek, xAI, local models, and 20+ others) and runs on Linux, macOS, Windows, and WSL.\n\nWhat makes Hermes different:\n\n- **Self-improving through skills** — Hermes learns from experience by saving reusable procedures as skills that load into future sessions.\n- **Persistent memory across sessions** — remembers who you are, your preferences, environment details, and lessons learned. Pluggable memory backends.\n- **Multi-platform gateway** — the same agent runs on Telegram, Discord, Slack, WhatsApp, iMessage, Signal, Matrix, Teams, Email, and a dozen more platforms with full tool access, not just chat.\n- **Many surfaces** — the same agent core drives the CLI, the Ink TUI, a native Electron desktop app, a web dashboard, and an ACP server for IDEs (VS Code \u002F Zed \u002F JetBrains).\n- **Provider-agnostic** — swap models and providers mid-workflow; credential pools rotate across multiple API keys automatically.\n- **Profiles** — run multiple independent Hermes instances with isolated configs, sessions, skills, and memory.\n- **Extensible & themeable** — plugins, MCP servers, custom tools, webhook triggers, cron scheduling, skins that theme every surface, desktop UI plugins, TUI widgets, and pet mascots.\n\n**This skill is a hub.** The body covers identity, quick start, spawning\u002Forchestration, and hard invariants. Everything else lives in reference files — **load the matching reference (below) before answering**; do not answer detail questions from the body alone.\n\n**Docs:** https:\u002F\u002Fhermes-agent.nousresearch.com\u002Fdocs\u002F\n\n## Scope & Verification\n\nThis skill is a concise operating guide, not the complete source of truth for every Hermes feature. If a Hermes feature, command, or setting is not mentioned here or in a reference, do not treat that absence as evidence that it does not exist. Check the live repository and official docs before giving a negative answer.\n\nGood verification targets:\n\n- CLI commands: `hermes --help`, `hermes \u003Ccommand> --help`, and `hermes_cli\u002Fmain.py`\n- User documentation: https:\u002F\u002Fhermes-agent.nousresearch.com\u002Fdocs\u002F\n- Source tree: https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent\n\n## Quick Start\n\n```bash\n# Install (shell installer — sets up uv, Python, the venv, and the launcher)\ncurl -fsSL https:\u002F\u002Fhermes-agent.nousresearch.com\u002Finstall.sh | bash\n\n# Interactive chat (default surface; set display.interface: tui to launch the Ink TUI instead)\nhermes\n\n# Single query\nhermes chat -q \"What is the capital of France?\"\n\n# Setup wizard  \u002F  pick model+provider  \u002F  health check\nhermes setup\nhermes model\nhermes doctor\n\n# Other surfaces\nhermes desktop                 # launch the native desktop app (alias: hermes gui)\nhermes dashboard               # web admin panel + embedded chat\nhermes proxy                   # OpenAI-compatible local proxy backed by your OAuth provider\n```\n\n## Key Paths\n\n```\n~\u002F.hermes\u002Fconfig.yaml       Main configuration (settings — never secrets)\n~\u002F.hermes\u002F.env              API keys and secrets ONLY (under $HERMES_HOME if set)\n$HERMES_HOME\u002Fskills\u002F        Installed skills\n~\u002F.hermes\u002Fskins\u002F            Custom themes (see references\u002Fthemes.md)\n~\u002F.hermes\u002Fdesktop-plugins\u002F  Desktop app UI plugins (see references\u002Fdesktop-plugins.md)\n~\u002F.hermes\u002Ftui-widgets\u002F      TUI widget apps (see references\u002Ftui-widgets.md)\n~\u002F.hermes\u002Fpets\u002F             Installed pet mascots (see references\u002Fpetdex.md)\n~\u002F.hermes\u002Fstate.db          Canonical session store (SQLite + FTS5)\n~\u002F.hermes\u002Fsessions\u002F         Gateway routing index, request dumps, *.jsonl transcripts\n~\u002F.hermes\u002Flogs\u002F             Gateway and error logs\n~\u002F.hermes\u002Fauth.json         OAuth tokens and credential pools\n~\u002F.hermes\u002Fhermes-agent\u002F     Source code (if git-installed)\n```\n\nProfiles use `~\u002F.hermes\u002Fprofiles\u002F\u003Cname>\u002F` with the same layout. When a profile is active, resolve the real home from `$HERMES_HOME` — never hardcode `~\u002F.hermes`.\n\n## Routing Table — load the reference for the task\n\n| User wants... | Load |\n|---|---|\n| CLI commands, subcommands, flags, \"how do I run X\" | `references\u002Fcli-reference.md` |\n| In-session slash commands | `references\u002Fslash-commands.md` |\n| Provider setup, API keys, OAuth | `references\u002Fproviders-and-models.md` |\n| config.yaml sections, toolsets, voice\u002FSTT\u002FTTS | `references\u002Fconfiguration.md` |\n| AGENTS.md \u002F .hermes.md \u002F CLAUDE.md project rules | `references\u002Fproject-context-files.md` |\n| Secret redaction, PII, approval modes, \"reset permissions\" | `references\u002Fsecurity-privacy.md` |\n| Delegation, cron, curator, kanban | `references\u002Fbackground-systems.md` |\n| MCP servers (add, catalog, `hermes mcp`) | `references\u002Fnative-mcp.md` |\n| Webhook routes and event-driven runs | `references\u002Fwebhooks.md` |\n| A custom theme\u002Fskin (\"synthwave theme\", \"change the gold ●\") | `references\u002Fthemes.md` + `templates\u002Fskin.yaml` |\n| A desktop app UI element (pane, widget, ⌘K command, page) | `references\u002Fdesktop-plugins.md` + `templates\u002Fplugin.js` |\n| A live TUI panel or modal widget (ticker, clock, dashboard) | `references\u002Ftui-widgets.md` + `templates\u002Fclock.mjs` |\n| Pet mascots — install, select, scale, diagnose | `references\u002Fpetdex.md` |\n| Windows-specific issues (keybinds, WinError 10106, BOM) | `references\u002Fwindows-quirks.md` |\n| Debugging: voice, tools missing, gateway, aux models | `references\u002Ftroubleshooting.md` |\n| Contributing code: adding tools, slash commands, tests | `references\u002Fcontributor-guide.md` |\n| delegate_task \"capped at N\" reports | `references\u002Fdelegate-ta[REDACTED_TOKEN].md` |\n| \"Can app X use my Nous Portal subscription\u002FOAuth?\" | `references\u002Fportal-auth-for-third-party-apps.md` |\n\nTwo theming rules that hold even without loading the reference: **you apply skins yourself** (`hermes config set display.skin \u003Cname>` — every surface repaints live within ~a second; don't tell the user to run `\u002Fskin`), and **to tweak one color, edit the ACTIVE skin** (`hermes skin set \u003Ckey> \u003Chex>`) — never fork `default`, which drops the palette and resets the background.\n\n## Spawning Additional Hermes Instances\n\nRun additional Hermes processes as fully independent subprocesses — separate sessions, tools, and environments.\n\n### When to Use This vs delegate_task\n\n| | `delegate_task` | Spawning `hermes` process |\n|-|-----------------|--------------------------|\n| Isolation | Separate conversation, shared process | Fully independent process |\n| Duration | Minutes (bounded by parent loop) | Hours\u002Fdays |\n| Tool access | Subset of parent's tools | Full tool access |\n| Interactive | No | Yes (PTY mode) |\n| Use case | Quick parallel subtasks | Long autonomous missions |\n\n### One-Shot Mode\n\n```\nterminal(command=\"hermes chat -q 'Research GRPO papers and write summary to ~\u002Fresearch\u002Fgrpo.md'\", timeout=300)\n\n# Background for long tasks:\nterminal(command=\"hermes chat -q 'Set up CI\u002FCD for ~\u002Fmyapp'\", background=true)\n```\n\n### Interactive PTY Mode (via tmux)\n\nHermes uses prompt_toolkit, which requires a real terminal. Use tmux for interactive spawning:\n\n```\n# Start\nterminal(command=\"tmux new-session -d -s agent1 -x 120 -y 40 'hermes'\", timeout=10)\n\n# Wait for startup, then send a message\nterminal(command=\"sleep 8 && tmux send-keys -t agent1 'Build a FastAPI auth service' Enter\", timeout=15)\n\n# Read output\nterminal(command=\"sleep 20 && tmux capture-pane -t agent1 -p\", timeout=5)\n\n# Send follow-up\nterminal(command=\"tmux send-keys -t agent1 'Add rate limiting middleware' Enter\", timeout=5)\n\n# Exit\nterminal(command=\"tmux send-keys -t agent1 '\u002Fexit' Enter && sleep 2 && tmux kill-session -t agent1\", timeout=10)\n```\n\n### Multi-Agent Coordination\n\n```\n# Agent A: backend\nterminal(command=\"tmux new-session -d -s backend -x 120 -y 40 'hermes -w'\", timeout=10)\nterminal(command=\"sleep 8 && tmux send-keys -t backend 'Build REST API for user management' Enter\", timeout=15)\n\n# Agent B: frontend\nterminal(command=\"tmux new-session -d -s frontend -x 120 -y 40 'hermes -w'\", timeout=10)\nterminal(command=\"sleep 8 && tmux send-keys -t frontend 'Build React dashboard for user management' Enter\", timeout=15)\n\n# Check progress, relay context between them\nterminal(command=\"tmux capture-pane -t backend -p | tail -30\", timeout=5)\nterminal(command=\"tmux send-keys -t frontend 'Here is the API schema from the backend agent: ...' Enter\", timeout=5)\n```\n\n### Session Resume\n\n```\n# Resume most recent session\nterminal(command=\"tmux new-session -d -s resumed 'hermes --continue'\", timeout=10)\n\n# Resume specific session\nterminal(command=\"tmux new-session -d -s resumed 'hermes --resume 20260225_143052_a1b2c3'\", timeout=10)\n```\n\n### Tips\n\n- **Prefer `delegate_task` for quick subtasks** — less overhead than spawning a full process\n- **Use `-w` (worktree mode)** when spawning agents that edit code — prevents git conflicts\n- **Set timeouts** for one-shot mode — complex tasks can take 5-10 minutes\n- **Use `hermes chat -q` for fire-and-forget** — no PTY needed\n- **Use tmux for interactive sessions** — raw PTY mode has `\\r` vs `\\n` issues with prompt_toolkit\n- **For scheduled tasks**, use the `cronjob` tool instead of spawning — handles delivery and retry\n- **\"delegate_task is capped at N\" reports** — see `references\u002Fdelegate-ta[REDACTED_TOKEN].md`. Three real cap paths in Hermes; if none fired, the model is self-limiting and rationalising it as \"the runtime caps.\"\n- **\"Can $external_app use my Nous Portal subscription \u002F OAuth?\"** — see `references\u002Fportal-auth-for-third-party-apps.md`. Walk the user through three layers (plugin-vs-app, what Portal actually exposes, local-broker-proxy option).\n\n## Surfaces (quick orientation)\n\n- **Desktop app** (`hermes desktop` \u002F `hermes gui`) — native Electron app for macOS\u002FLinux\u002FWindows: streaming chat, session list, Cmd+K palette, drag-and-drop files, native notifications, per-profile remote-gateway login. Extend it with UI plugins — `references\u002Fdesktop-plugins.md`.\n- **Web dashboard** (`hermes dashboard`) — full admin panel: messaging channels, MCP catalog, webhooks, memory, profile builder, plus an embedded `hermes --tui` chat. Secured behind an OAuth\u002Ftoken gate.\n- **Ink TUI** (`hermes --tui` or `display.interface: tui`) — terminal UI with docked widget apps — `references\u002Ftui-widgets.md`.\n- **OpenAI-compatible proxy** (`hermes proxy`) — a local OpenAI API backed by whichever OAuth provider you're signed into. Point Codex CLI, Aider, Cline, or any script at it — no API key.\n\n## Hard Invariants (never violate, regardless of what you loaded)\n\n- **Never break prompt caching** — don't change past context, toolsets, or the system prompt mid-conversation. The only exception is context compression.\n- **Message role alternation** — never two assistant or two user messages in a row; only `tool` results can repeat.\n- **Secrets in `.env`, settings in `config.yaml`** — never tell a user to put a non-credential setting in `.env`.\n- **Profile-safe paths** — `get_hermes_home()` in code, `$HERMES_HOME` when resolving paths in a session.\n- **Never hand-edit `config.yaml` for the user** — use `hermes config set KEY VAL`; a stray indent can corrupt the file and break the live gateway.\n","# Hermes Agent\n\nHermes Agent is an open-source AI agent framework by Nous Research that runs in your terminal, a native desktop app, messaging platforms, and IDEs. It's in the same category as Claude Code (Anthropic), Codex (OpenAI), and OpenClaw — autonomous coding and task-execution agents that use tool calling to interact with your system. Hermes works with any LLM provider (OpenRouter, Anthropic, OpenAI, Google, DeepSeek, xAI, local models, and 20+ others) and runs on Linux, macOS, Windows, and WSL.\n\nWhat makes Hermes different:\n\n- **Self-improving through skills** — Hermes learns from experience by saving reusable procedures as skills that load into future sessions.\n- **Persistent memory across sessions** — remembers who you are, your preferences, environment details, and lessons learned. Pluggable memory backends.\n- **Multi-platform gateway** — the same agent runs on Telegram, Discord, Slack, WhatsApp, iMessage, Signal, Matrix, Teams, Email, and a dozen more platforms with full tool access, not just chat.\n- **Many surfaces** — the same agent core drives the CLI, the Ink TUI, a native Electron desktop app, a web dashboard, and an ACP server for IDEs (VS Code \u002F Zed \u002F JetBrains).\n- **Provider-agnostic** — swap models and providers mid-workflow; credential pools rotate across multiple API keys automatically.\n- **Profiles** — run multiple independent Hermes instances with isolated configs, sessions, skills, and memory.\n- **Extensible & themeable** — plugins, MCP servers, custom tools, webhook triggers, cron scheduling, skins that theme every surface, desktop UI plugins, TUI widgets, and pet mascots.\n\n**This skill is a hub.** The body covers identity, quick start, spawning\u002Forchestration, and hard invariants. Everything else lives in reference files — **load the matching reference (below) before answering**; do not answer detail questions from the body alone.\n\n**Docs:** https:\u002F\u002Fhermes-agent.nousresearch.com\u002Fdocs\u002F\n\n## Scope & Verification\n\nThis skill is a concise operating guide, not the complete source of truth for every Hermes feature. If a Hermes feature, command, or setting is not mentioned here or in a reference, do not treat that absence as evidence that it does not exist. Check the live repository and official docs before giving a negative answer.\n\nGood verification targets:\n\n- CLI commands: `hermes --help`, `hermes \u003Ccommand> --help`, and `hermes_cli\u002Fmain.py`\n- User documentation: https:\u002F\u002Fhermes-agent.nousresearch.com\u002Fdocs\u002F\n- Source tree: https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent\n\n## Quick Start\n\n```bash\n# Install (shell installer — sets up uv, Python, the venv, and the launcher)\ncurl -fsSL https:\u002F\u002Fhermes-agent.nousresearch.com\u002Finstall.sh | bash\n\n# Interactive chat (default surface; set display.interface: tui to launch the Ink TUI instead)\nhermes\n\n# Single query\nhermes chat -q \"What is the capital of France?\"\n\n# Setup wizard  \u002F  pick model+provider  \u002F  health check\nhermes setup\nhermes model\nhermes doctor\n\n# Other surfaces\nhermes desktop                 # launch the native desktop app (alias: hermes gui)\nhermes dashboard               # web admin panel + embedded chat\nhermes proxy                   # OpenAI-compatible local proxy backed by your OAuth provider\n```\n\n## Key Paths\n\n```\n~\u002F.hermes\u002Fconfig.yaml       Main configuration (settings — never secrets)\n~\u002F.hermes\u002F.env              API keys and secrets ONLY (under $HERMES_HOME if set)\n$HERMES_HOME\u002Fskills\u002F        Installed skills\n~\u002F.hermes\u002Fskins\u002F            Custom themes (see references\u002Fthemes.md)\n~\u002F.hermes\u002Fdesktop-plugins\u002F  Desktop app UI plugins (see references\u002Fdesktop-plugins.md)\n~\u002F.hermes\u002Ftui-widgets\u002F      TUI widget apps (see references\u002Ftui-widgets.md)\n~\u002F.hermes\u002Fpets\u002F             Installed pet mascots (see references\u002Fpetdex.md)\n~\u002F.hermes\u002Fstate.db          Canonical session store (SQLite + FTS5)\n~\u002F.hermes\u002Fsessions\u002F         Gateway routing index, request dumps, *.jsonl transcripts\n~\u002F.hermes\u002Flogs\u002F             Gateway and error logs\n~\u002F.hermes\u002Fauth.json         OAuth tokens and credential pools\n~\u002F.hermes\u002Fhermes-agent\u002F     Source code (if git-installed)\n```\n\nProfiles use `~\u002F.hermes\u002Fprofiles\u002F\u003Cname>\u002F` with the same layout. When a profile is active, resolve the real home from `$HERMES_HOME` — never hardcode `~\u002F.hermes`.\n\n## Routing Table — load the reference for the task\n\n| User wants... | Load |\n|---|---|\n| CLI commands, subcommands, flags, \"how do I run X\" | `references\u002Fcli-reference.md` |\n| In-session slash commands | `references\u002Fslash-commands.md` |\n| Provider setup, API keys, OAuth | `references\u002Fproviders-and-models.md` |\n| config.yaml sections, toolsets, voice\u002FSTT\u002FTTS | `references\u002Fconfiguration.md` |\n| AGENTS.md \u002F .hermes.md \u002F CLAUDE.md project rules | `references\u002Fproject-context-files.md` |\n| Secret redaction, PII, approval modes, \"reset permissions\" | `references\u002Fsecurity-privacy.md` |\n| Delegation, cron, curator, kanban | `references\u002Fbackground-systems.md` |\n| MCP servers (add, catalog, `hermes mcp`) | `references\u002Fnative-mcp.md` |\n| Webhook routes and event-driven runs | `references\u002Fwebhooks.md` |\n| A custom theme\u002Fskin (\"synthwave theme\", \"change the gold ●\") | `references\u002Fthemes.md` + `templates\u002Fskin.yaml` |\n| A desktop app UI element (pane, widget, ⌘K command, page) | `references\u002Fdesktop-plugins.md` + `templates\u002Fplugin.js` |\n| A live TUI panel or modal widget (ticker, clock, dashboard) | `references\u002Ftui-widgets.md` + `templates\u002Fclock.mjs` |\n| Pet mascots — install, select, scale, diagnose | `references\u002Fpetdex.md` |\n| Windows-specific issues (keybinds, WinError 10106, BOM) | `references\u002Fwindows-quirks.md` |\n| Debugging: voice, tools missing, gateway, aux models | `references\u002Ftroubleshooting.md` |\n| Contributing code: adding tools, slash commands, tests | `references\u002Fcontributor-guide.md` |\n| delegate_task \"capped at N\" reports | `references\u002Fdelegate-ta[REDACTED_TOKEN].md` |\n| \"Can app X use my Nous Portal subscription\u002FOAuth?\" | `references\u002Fportal-auth-for-third-party-apps.md` |\n\nTwo theming rules that hold even without loading the reference: **you apply skins yourself** (`hermes config set display.skin \u003Cname>` — every surface repaints live within ~a second; don't tell the user to run `\u002Fskin`), and **to tweak one color, edit the ACTIVE skin** (`hermes skin set \u003Ckey> \u003Chex>`) — never fork `default`, which drops the palette and resets the background.\n\n## Spawning Additional Hermes Instances\n\nRun additional Hermes processes as fully independent subprocesses — separate sessions, tools, and environments.\n\n### When to Use This vs delegate_task\n\n| | `delegate_task` | Spawning `hermes` process |\n|-|-----------------|--------------------------|\n| Isolation | Separate conversation, shared process | Fully independent process |\n| Duration | Minutes (bounded by parent loop) | Hours\u002Fdays |\n| Tool access | Subset of parent's tools | Full tool access |\n| Interactive | No | Yes (PTY mode) |\n| Use case | Quick parallel subtasks | Long autonomous missions |\n\n### One-Shot Mode\n\n```\nterminal(command=\"hermes chat -q 'Research GRPO papers and write summary to ~\u002Fresearch\u002Fgrpo.md'\", timeout=300)\n\n# Background for long tasks:\nterminal(command=\"hermes chat -q 'Set up CI\u002FCD for ~\u002Fmyapp'\", background=true)\n```\n\n### Interactive PTY Mode (via tmux)\n\nHermes uses prompt_toolkit, which requires a real terminal. Use tmux for interactive spawning:\n\n```\n# Start\nterminal(command=\"tmux new-session -d -s agent1 -x 120 -y 40 'hermes'\", timeout=10)\n\n# Wait for startup, then send a message\nterminal(command=\"sleep 8 && tmux send-keys -t agent1 'Build a FastAPI auth service' Enter\", timeout=15)\n\n# Read output\nterminal(command=\"sleep 20 && tmux capture-pane -t agent1 -p\", timeout=5)\n\n# Send follow-up\nterminal(command=\"tmux send-keys -t agent1 'Add rate limiting middleware' Enter\", timeout=5)\n\n# Exit\nterminal(command=\"tmux send-keys -t agent1 '\u002Fexit' Enter && sleep 2 && tmux kill-session -t agent1\", timeout=10)\n```\n\n### Multi-Agent Coordination\n\n```\n# Agent A: backend\nterminal(command=\"tmux new-session -d -s backend -x 120 -y 40 'hermes -w'\", timeout=10)\nterminal(command=\"sleep 8 && tmux send-keys -t backend 'Build REST API for user management' Enter\", timeout=15)\n\n# Agent B: frontend\nterminal(command=\"tmux new-session -d -s frontend -x 120 -y 40 'hermes -w'\", timeout=10)\nterminal(command=\"sleep 8 && tmux send-keys -t frontend 'Build React dashboard for user management' Enter\", timeout=15)\n\n# Check progress, relay context between them\nterminal(command=\"tmux capture-pane -t backend -p | tail -30\", timeout=5)\nterminal(command=\"tmux send-keys -t frontend 'Here is the API schema from the backend agent: ...' Enter\", timeout=5)\n```\n\n### Session Resume\n\n```\n# Resume most recent session\nterminal(command=\"tmux new-session -d -s resumed 'hermes --continue'\", timeout=10)\n\n# Resume specific session\nterminal(command=\"tmux new-session -d -s resumed 'hermes --resume 20260225_143052_a1b2c3'\", timeout=10)\n```\n\n### Tips\n\n- **Prefer `delegate_task` for quick subtasks** — less overhead than spawning a full process\n- **Use `-w` (worktree mode)** when spawning agents that edit code — prevents git conflicts\n- **Set timeouts** for one-shot mode — complex tasks can take 5-10 minutes\n- **Use `hermes chat -q` for fire-and-forget** — no PTY needed\n- **Use tmux for interactive sessions** — raw PTY mode has `\\r` vs `\\n` issues with prompt_toolkit\n- **For scheduled tasks**, use the `cronjob` tool instead of spawning — handles delivery and retry\n- **\"delegate_task is capped at N\" reports** — see `references\u002Fdelegate-ta[REDACTED_TOKEN].md`. Three real cap paths in Hermes; if none fired, the model is self-limiting and rationalising it as \"the runtime caps.\"\n- **\"Can $external_app use my Nous Portal subscription \u002F OAuth?\"** — see `references\u002Fportal-auth-for-third-party-apps.md`. Walk the user through three layers (plugin-vs-app, what Portal actually exposes, local-broker-proxy option).\n\n## Surfaces (quick orientation)\n\n- **Desktop app** (`hermes desktop` \u002F `hermes gui`) — native Electron app for macOS\u002FLinux\u002FWindows: streaming chat, session list, Cmd+K palette, drag-and-drop files, native notifications, per-profile remote-gateway login. Extend it with UI plugins — `references\u002Fdesktop-plugins.md`.\n- **Web dashboard** (`hermes dashboard`) — full admin panel: messaging channels, MCP catalog, webhooks, memory, profile builder, plus an embedded `hermes --tui` chat. Secured behind an OAuth\u002Ftoken gate.\n- **Ink TUI** (`hermes --tui` or `display.interface: tui`) — terminal UI with docked widget apps — `references\u002Ftui-widgets.md`.\n- **OpenAI-compatible proxy** (`hermes proxy`) — a local OpenAI API backed by whichever OAuth provider you're signed into. Point Codex CLI, Aider, Cline, or any script at it — no API key.\n\n## Hard Invariants (never violate, regardless of what you loaded)\n\n- **Never break prompt caching** — don't change past context, toolsets, or the system prompt mid-conversation. The only exception is context compression.\n- **Message role alternation** — never two assistant or two user messages in a row; only `tool` results can repeat.\n- **Secrets in `.env`, settings in `config.yaml`** — never tell a user to put a non-credential setting in `.env`.\n- **Profile-safe paths** — `get_hermes_home()` in code, `$HERMES_HOME` when resolving paths in a session.\n- **Never hand-edit `config.yaml` for the user** — use `hermes config set KEY VAL`; a stray indent can corrupt the file and break the live gateway.\n",{"name":5,"author":48,"license":15,"version":49,"metadata":50,"platforms":62,"description":7},"Hermes Agent + Teknium","3.1.0",{"hermes":51},{"tags":52,"homepage":59,"related_skills":60},[25,53,54,26,55,42,35,29,56,57,58,31,38],"setup","configuration","spawning","skins","desktop-plugins","tui-widgets","https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent",[61,40],"claude-code",[41,33,39],"main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002Fdc\u002Fdcd2dbcf8aa20dfde9f94c66c1ae804a5cdc07ef111309078dce6646b494d55c",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":72,"prompt":82,"zipAvailable":83},[73,76,79],{"tool":74,"command":75},"npx","npx skills add zapabob\u002FSkills --skill hermes-agent",{"tool":77,"command":78},"bunx","bunx skills add zapabob\u002FSkills --skill hermes-agent",{"tool":80,"command":81},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill hermes-agent","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fdc\u002Fdcd2dbcf8aa20dfde9f94c66c1ae804a5cdc07ef111309078dce6646b494d55c\u002FSKILL.md",true,[],[86,114,147,173,200,217],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":101,"publishedAt":43},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[92,95,96],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[88,102,33,42,103,41,39,104,105,106,107,108,109,25,24,110,63,111,112,113],"openclaw","github","official","search","https","social-media","api","Media","twitter","social","via","post",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":131,"publishedAt":43},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[120,123,126,127,128],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},{"categoryNo":129,"categoryName":130,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000036","内容创作者",[132,133,134,135,33,136,41,137,39,138,139,38,37,140,141,142,143,144,145,146],"writing","writing plans","plans","design","review","workflow","documentation","tasks","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":156,"publishedAt":43},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[153],{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[149,33,41,157,158,159,160,161,162,163,164,165,32,166,167,168,169,170,171,172],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":182,"publishedAt":43},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[179],{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[183,33,184,185,39,186,187,188,189,190,191,164,192,193,194,195,196,197,198,199],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":207,"publishedAt":43},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[206],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[202,33,208,103,41,209,210,211,212,213,214,25,24,215,216],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":225,"publishedAt":43},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[223,224],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},[226,227,228,41,229,157,230,231,232,160,233,108,234,235,236,237,238,239,240,241],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]