Hermes Imports
affaan-m/ECC
将本地 Hermes 操作员工作流转换为经过清理的 ECC 技能和发布包工件。在准备将 Hermes 工作流用于公共 ECC 重用而不泄露私有工作区状态、凭据或仅本地路径时使用。
Run the first-run setup chat in the Hermes desktop app. An agent skill from NousResearch/hermes-agent.
$ npx skills add NousResearch/hermes-agent --skill initiate-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NousResearch/hermes-agent initiate-setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/productivity/initiate-setup .claude/skills/initiate-setup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "initiate-setup" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setup into .claude/skills/initiate-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "initiate-setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NousResearch/hermes-agent --skill initiate-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NousResearch/hermes-agent initiate-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/optional-skills/productivity/initiate-setup .agents/skills/initiate-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "initiate-setup" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setup into .agents/skills/initiate-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "initiate-setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NousResearch/hermes-agent --skill initiate-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NousResearch/hermes-agent initiate-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/optional-skills/productivity/initiate-setup .cursor/skills/initiate-setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "initiate-setup" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setup into .cursor/skills/initiate-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "initiate-setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NousResearch/hermes-agent.git --path optional-skills/productivity/initiate-setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NousResearch/hermes-agent --skill initiate-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NousResearch/hermes-agent initiate-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/optional-skills/productivity/initiate-setup .gemini/skills/initiate-setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "initiate-setup" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setup into .gemini/skills/initiate-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "initiate-setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NousResearch/hermes-agent initiate-setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NousResearch/hermes-agent --skill initiate-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/optional-skills/productivity/initiate-setup .github/skills/initiate-setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "initiate-setup" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setup into .github/skills/initiate-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "initiate-setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NousResearch/hermes-agent --skill initiate-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NousResearch/hermes-agent initiate-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/optional-skills/productivity/initiate-setup .opencode/skills/initiate-setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "initiate-setup" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/productivity/initiate-setup into .opencode/skills/initiate-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "initiate-setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
initiate-setupRun the first-run setup chat in the Hermes desktop app. An agent skill from NousResearch/hermes-agent.
Initiate Setup is an agent skill from NousResearch/hermes-agent. Run the first-run setup chat in the Hermes desktop app.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `templates/handoff.md`).
The repository describes itself as: The agent that grows with you. The licence is MIT.
Read from SKILL.md and the folder at commit dce1e9b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Initiate Setup loads about 2.3k tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 1,294 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from NousResearch/hermes-agent at commit dce1e9b, republished under its MIT licence (© NousResearch). 1,294 words, ~2,345 tokens.
.claude/skills/initiate-setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Runs a new user's first conversation with Hermes. On desktop the app plays the opening (welcome, name, accent); you take over from the accent answer: apps, plugins, layout, the tour offer, the fork, then one first task in its own chat with start_chat. You do not do the task, install anything, or read the machine: the task chat does that, guided by the first-task skill.
/initiate-setup command started this turn.Never inside a task chat. When setup_completed_at is set, or start_chat already started a task here, setup is done: say so in one line and go to beat 5 for a new task.
The setup profile's desktop tools:
setup_choose shows one card and blocks until the user answers. Always send options: at most 12 {id, label, detail}, or [] for the app's own list (free text for question). Returns {outcome, picked, label, said, next, handoff}: name a pick by its label, never its id; typed means the user wrote words that name no row (said), so nothing was picked; do what next says in the same turn; the fork's result carries handoff for beat 7.start_chat starts a visible chat in profile whose first user message is your message. Returns {status: "started", ...} or {status: "rejected", reason}.apply_layout, gui_tour, and manage_connections (connect shows the sign-in card).No terminal, file, web, browser, memory or clarify tools here.
Facts follow the skill as one JSON block. Read them as they are; a missing key means unknown, so never guess it. Never recite machine. The facts describe the machine Hermes runs on; when the user disagrees, believe the user. The app fills the apps, plugins, tour, fork and machine_use rows itself.
Work one beat at a time. When the history holds the name and accent answers, start at beat 1; otherwise run the Opening.
| # | Beat | Tool call |
|---|---|---|
| - | Welcome, name, accent | played by the app |
| 1 | Apps they use | card apps |
| 2 | Plugins | card plugins (records only) |
| 3 | Layout | card layout |
| 4 | Tour offer | card tour; one gui_tour |
| 5 | The fork | card fork |
| 6 | Narrow to one task | card machine_use only for machine |
| 7 | Handoff | start_chat, once |
| 8 | After the handoff | one line, then stop |
Copy each line whole; fill only the <slots>:
name {"kind":"question","question":"What should I call you?","options":[],"multi_select":false}
accent {"kind":"accent","question":"Which colour?","options":[],"multi_select":false}
apps {"kind":"connectors","question":"Which of these do you use?","options":[],"multi_select":true}
plugins {"kind":"plugins","question":"Want any of these?","options":[],"multi_select":true}
layout {"kind":"layout","question":"Which layout?","options":[],"multi_select":false}
tour {"kind":"tour","question":"Want a look around first?","options":[],"multi_select":false}
fork {"kind":"fork","question":"<fork.question>","options":[],"multi_select":false}
machine_use {"kind":"machine_use","question":"What's this <machine_kind> mainly for?","options":[],"multi_select":false}
gui_tour {"action":"start","preset":"quick"} or {"action":"start","preset":"full"}
manage_connections {"action":"connect","connectors":["<id>", ...]}
start_chat {"profile":"<primary_profile>","title":"<task name, at most 40 characters>","message":"<the handoff message>"}locale is not English, write in that language, labels included.typed with their words: reply and follow next. Never repeat a tool call that succeeded.Without the app's name and accent answers in the history: a short welcome, card name (the app adds the account's name as a row when it has one), one warm sentence with the name they gave, then card accent.
"<Colour>, done. I'd read and act inside these apps for you, not message you there, and I set them up when we start on something." When guest_free_tier is true, add once: "Wiring these up later wants a model provider: a free Nous account works, free tier, no card, or you can bring your own." Then card apps. With no_answer and a notice: one line that connecting apps needs a free Nous account and can wait, then follow next.
Connect an app here only when they ask: one manage_connections connect call with those apps. Chat apps like Discord or Telegram live in Messaging in the app's settings.
"Plugins are tools I install and run on this <machine_kind>; picking one only records it." Then card plugins. With no_answer, say nothing and follow next.
The acknowledgment, at most one light opinion, then card layout. Call apply_layout only for a layout asked for in words: sidebar-left (Basic) or terminal-deck (Elite).
Card tour. basics: gui_tour preset quick; tour: preset full; one call after "Here's where things live." none or cancelled: no tour. Then beat 5 in the same turn. Never bring the tour up again.
"Ask me to show you any part of the app whenever you like. I'd rather build you something real than talk about it." When is_spark is true, add one sentence about the Spark's hardware. Then card fork: the app puts two first tasks built from their picks and this computer in front of "I have something in mind", "Help me set up this <machine_kind>" and "Let's figure it out together".
mind, or a task typed in: decided, go to beat 7.figure: follow next and hand off with the ask "Let's figure out a first task together." The task chat offers the options.machine: one line that frames it ("The Spark itself, then."), card machine_use, then hand off with the machine plan. Never plan or list installs.next.One short sentence: the work gets its own chat, and this one stays open. Then start_chat once with profile = primary_profile, title = the task's name, and message written as the fork result's handoff.message says, with handoff.plan as its plan. The app adds their picks, the machine basics and the first-task rules under it; write none of that.
started: one sentence of at most 15 words ("It's in its own chat now; I'm here under Welcome to Hermes if you need me."). Then stop.rejected: say from the reason that it did not start; retry once, same profile, only when they say yes.next. Never re-ask a skipped card in the same form.{"kind":"theme","question":"Light or dark?","options":[],"multi_select":false}.Without setup_choose: ask in plain text, one question per message; skip accent and layout. Without gui_tour: skip the tour. Without start_chat: start the task here. Never mention a missing tool.
setup_choose call carries options.start_chat returned started, with profile = primary_profile.started there is one short line and no question.© NousResearch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in optional-skills/productivity/initiate-setup of NousResearch/hermes-agent.
Open the folder on GitHubat commit dce1e9b
Initiate Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Initiate Setup this skillNousResearch/hermes-agent | 252k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Hermes Importsaffaan-m/ECC | 276k | — | ~324 | Automated safety check: Pass | MIT | |
| Hermes Importsaffaan-m/ECC | 276k | 1 repos | ~752 | Automated safety check: Pass | MIT | |
| Hermes Tweetwshobson/agents | 40k | — | ~1.4k | Automated safety check: Pass | MIT | |
| CLI-Anything for Hermes AgentHKUDS/CLI-Anything | 52k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Hermes Agent One-Shot DelegationCherryHQ/cherry-studio | 53k | — | ~390 | Automated safety check: Pass | AGPL-3.0 |
affaan-m/ECC
将本地 Hermes 操作员工作流转换为经过清理的 ECC 技能和发布包工件。在准备将 Hermes 工作流用于公共 ECC 重用而不泄露私有工作区状态、凭据或仅本地路径时使用。
affaan-m/ECC
Convert local Hermes operator workflows into sanitized ECC skills and release-pack artifacts.
wshobson/agents
Install and operate Hermes Tweet, a Hermes Agent plugin for X/Twitter research, timeline reading, tweet analysis, and approval-gated private or state-changing operations.
HKUDS/CLI-Anything
Guides Hermes Agent through building, refining and testing a CLI-Anything harness that wraps a GUI application or source repository in a scriptable command line.
CherryHQ/cherry-studio
Runs Hermes Agent once for a bounded local task, with warnings about its automatic tool approval and advice to use a disposable copy for read-only work.
davepoon/buildwithclaude
Use Hermes Tweet when a Claude Code workflow needs a source-aware handoff to Hermes Agent for X/Twitter research, account context, monitoring, or approval-gated actions through the native Hermes…
NousResearch/hermes-agent
Produces a presenter-led video from a topic or script plus one authorized presenter image, with captions, lip-sync checks and acceptance reports.
NousResearch/hermes-agent
Creates, reads, edits and templates Word .docx files with python-docx scripts, including tracked changes, comments, tables of contents and health checks.
NousResearch/hermes-agent
Attaches a numbered, URL-backed citation to every outside fact in an answer or document, rejecting quotes that aren't real.
NousResearch/hermes-agent
PDF files: create, read, merge, fill, OCR, edit text. An agent skill from NousResearch/hermes-agent.
NousResearch/hermes-agent
Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent.
NousResearch/hermes-agent
Create, read, edit Excel .xlsx workbooks and CSVs. An agent skill from NousResearch/hermes-agent.
Run the first-run setup chat in the Hermes desktop app. An agent skill from NousResearch/hermes-agent. Initiate Setup is an agent skill from NousResearch/hermes-agent. Run the first-run setup chat in the Hermes desktop app.
Run `npx skills add NousResearch/hermes-agent --skill initiate-setup -a claude-code`. Or copy the skill folder (optional-skills/productivity/initiate-setup in NousResearch/hermes-agent) into .claude/skills/initiate-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NousResearch/hermes-agent --skill initiate-setup -a codex`. Or copy the skill folder (optional-skills/productivity/initiate-setup in NousResearch/hermes-agent) into .agents/skills/initiate-setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NousResearch/hermes-agent --skill initiate-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/initiate-setup, .gemini/skills/initiate-setup, .github/skills/initiate-setup and .opencode/skills/initiate-setup in your project.
SKILL.md names no scripts, command-line tools or credentials: Initiate Setup is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Initiate Setup is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Initiate Setup: Hermes Imports (affaan-m/ECC, 276k stars), Hermes Imports (affaan-m/ECC, 276k stars), Hermes Tweet (wshobson/agents, 40k stars) and CLI-Anything for Hermes Agent (HKUDS/CLI-Anything, 52k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NousResearch (a GitHub organization) maintains it in NousResearch/hermes-agent, which has 252,350 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 10, 2026.
Source: NousResearch/hermes-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.