Brave Search
badlogic/pi-skills
Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.
A skill your agent uses when a new Hermes profile needs guided first-run setup, identity choices, memory preferences, optional integrations, a step-by-step toolset walkthrough, web-search backend…
$ npx skills add AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AtlasOmnia/donna-starter hermes-starter-onboarding --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/AtlasOmnia/donna-starter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hermes/hermes-starter-onboarding .claude/skills/hermes-starter-onboarding && 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 "hermes-starter-onboarding" agent skill from https://github.com/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboarding into .claude/skills/hermes-starter-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hermes-starter-onboarding", 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/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboardingType 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 AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AtlasOmnia/donna-starter hermes-starter-onboarding --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/hermes/hermes-starter-onboarding .agents/skills/hermes-starter-onboarding && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hermes-starter-onboarding" agent skill from https://github.com/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboarding into .agents/skills/hermes-starter-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hermes-starter-onboarding", 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 AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AtlasOmnia/donna-starter hermes-starter-onboarding --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/hermes/hermes-starter-onboarding .cursor/skills/hermes-starter-onboarding && 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 "hermes-starter-onboarding" agent skill from https://github.com/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboarding into .cursor/skills/hermes-starter-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hermes-starter-onboarding", 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/AtlasOmnia/donna-starter.git --path skills/hermes/hermes-starter-onboarding--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 AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AtlasOmnia/donna-starter hermes-starter-onboarding --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/hermes/hermes-starter-onboarding .gemini/skills/hermes-starter-onboarding && 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 "hermes-starter-onboarding" agent skill from https://github.com/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboarding into .gemini/skills/hermes-starter-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hermes-starter-onboarding", 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 AtlasOmnia/donna-starter hermes-starter-onboardingInstalls 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 AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/hermes/hermes-starter-onboarding .github/skills/hermes-starter-onboarding && 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 "hermes-starter-onboarding" agent skill from https://github.com/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboarding into .github/skills/hermes-starter-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hermes-starter-onboarding", 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 AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AtlasOmnia/donna-starter hermes-starter-onboarding --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/hermes/hermes-starter-onboarding .opencode/skills/hermes-starter-onboarding && 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 "hermes-starter-onboarding" agent skill from https://github.com/AtlasOmnia/donna-starter/tree/main/skills/hermes/hermes-starter-onboarding into .opencode/skills/hermes-starter-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hermes-starter-onboarding", 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.
hermes-starter-onboardingA skill your agent uses when a new Hermes profile needs guided first-run setup, identity choices, memory preferences, optional integrations, a step-by-step toolset walkthrough, web-search backend…
Hermes Starter Onboarding is an agent skill from AtlasOmnia/donna-starter. Use when a new Hermes profile needs guided first-run setup, identity choices, memory preferences, optional integrations, a step-by-step toolset walkthrough, web-search backend setup, or recurring daily briefing, wellness check-in, and stock-quote jobs. Plan the setup conversationally, obtain approval, apply only the selected changes, and verify every result.
Its SKILL.md is about 7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Web search. The repository describes itself as: Donna — a starter Hermes Agent profile: opinionated persona, 73 curated skills, guided first-run orientation, optional Token Router. MIT. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a3710bd. 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 (its code samples are python and bash).
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.
Hermes Starter Onboarding loads about 7k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 3,596 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 noted patterns worth knowing about, such as sudo or a known installer.
- **API keys live in `.env`, not config.yaml.** A profile reads its own `~/.hermes/profiles/<name>/.env` first, then falor have them run `hermes setup` / edit `.env` themselves. Read-only confirmation that a key is *present* (e.g. `hermesAutomated 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 AtlasOmnia/donna-starter at commit a3710bd, republished under its MIT licence (© AtlasOmnia). 3,596 words, ~7,005 tokens.
.claude/skills/hermes-starter-onboarding/SKILL.md (or your agent's skills folder).Use this skill to turn a blank or lightly configured Hermes profile into a setup chosen by its owner. The workflow is conversational and consent-gated: learn the user's identity and priorities, recommend a small capability bundle, show the proposed changes, apply only what the user approves, and verify the result.
This is a capability planner, not a blind installer. A Hermes toolset exposes a capability, a skill provides operating instructions, a plugin or MCP server provides an integration, and a desktop application such as Obsidian is a separate dependency. Explain that distinction in plain language when it matters.
The setup must work for a public starter profile. Never assume the user's name, location, timezone, businesses, accounts, vault paths, tickers, health history, credentials, or preferred assistant name. Ask instead.
Don't use for:
hermes-agent.config set, a toolset toggle) are instant. Spawning a sub-agent to "set things up in the background" would sever that loop and add indirection, not reduce derailment. Keep it single-threaded and interactive.enabled_toolsets: ["mnemosyne"]; that is not a valid configuration. Use the memory provider setup for memory and the cronjob tool for schedules.Before proposing changes, inspect only the active profile:
hermes config get onboarding if the CLI supports the key. If it is absent, do not treat that as an error; the profile can still use this skill.hermes memory status to identify the active memory provider and whether it is installed.hermes tools to view the current toolset selection. This is the supported interactive toolset configuration surface; do not hand-edit a nested toolset list merely to avoid the selector.cronjob(action="list") before creating any recurring job. Look for existing jobs with the same purpose, schedule, or name.skills_list() or search the active profile's skills/ directory. Do not assume that a desktop application or account is installed because a skill exists.Report the starting state briefly. Do not dump credentials, full environment files, private account data, or the entire skill library.
Use this order, adapting to answers already given.
Do not stop after the identity answers. Work through every group below in one continuous pass — Identity → Main jobs → Memory → Notes → Capability boundaries → Toolset walkthrough — feeding each answer into the next. Do not pause to ask "should I continue?" and do not wrap up after the first couple of answers. The setup plan comes at the end (Phase 2), not after the first question group. Completing only the identity questions is an abandoned onboarding, not a finished one.
Ask:
If the user skips a question, use a neutral default and say what was assumed. Store identity and style only in the active profile after approval; do not write them into the public package.
Ask what the assistant is mainly for. Offer plain-language choices:
The user may choose more than one. All toolsets are already enabled by default in this profile, so the goal is to confirm what they'll use and peel back the rest — not to build up from nothing.
Ask whether the user already has a memory provider set up:
"Do you already have a memory provider configured — Mnemosyne, Honcho, Mem0, or something else — or should I set one up?"
hermes memory setup and let them authenticate through the provider's own flow. Do not switch providers silently.hermes-mnemosyne, mnemosyne-maintenance), it is profile-scoped and local-first, and it needs no external account. Offer to set it up:hermes config set memory.memory_enabled true and hermes config set memory.provider mnemosyne,hermes memory status.hermes config set memory.memory_enabled false.If Mnemosyne is unavailable on their install, report that exact status and offer the supported setup path (hermes plugins install mnemosyne or hermes setup plugins); do not invent a package name or installation command.
Ask:
"Do you already use Obsidian or another notes system?"
If yes, ask which system and, for Obsidian, which vault the user wants to connect. Do not read the vault before the user identifies and approves it. Check whether the corresponding skill is already present with skills_list().
hermes skills install <name>.Ask only about capabilities relevant to the user's goals:
For persistent toolset changes, use hermes tools rather than guessing a configuration key. For a one-off session, use the documented hermes chat --toolsets "web,terminal" form when appropriate instead of changing the profile.
Every CLI toolset is already enabled by default in this profile, so the profile works out of the box the way a fully configured reference setup does. The walkthrough is not an install step — it is a review: tell the user everything is already on, then walk each toolset in plain language and ask whether they want to keep it or turn it off. Peel back only what they decline; leave the rest enabled.
First, show the current state so the user sees that everything is on:
hermes toolsThen walk the enabled set. For each, say what it's for and ask: "Keep <name> on, or turn it off?" Default to keeping it on if they're unsure.
| Toolset | Plain-language purpose |
|---|---|
web | Web search and fetching page content. Needs a search backend (below). |
browser | Drive a real browser: click, fill forms, log into sites. Broader than web. |
terminal | Run shell commands. Higher-trust; explain the risk before enabling. |
file | Read and write local files. |
code_execution | Run Python for data work, calculations, multi-step scripts. |
computer_use | Drive the desktop GUI in the background (click apps, screenshots). macOS. |
memory | Remember preferences and facts across conversations. |
session_search | Search past conversations. |
delegation | Spawn sub-agents for parallel or specialist work. |
skills | Load reusable procedures (the skills in this profile). |
cronjob | Scheduled/recurring tasks (briefings, reminders). |
todo | Track multi-step tasks within a session. |
kanban | Durable multi-session task boards for longer projects. |
image_gen | Generate images from text. Needs an image backend/key. |
video_gen | Generate short video clips. Needs a video backend/key. |
vision | Read images the user shares. |
tts | Text-to-speech voice output. Needs a TTS provider/key. |
video | Analyze video files. |
clarify | Ask the user structured multiple-choice questions mid-task. |
Apply the approved adjustments through hermes tools — since everything starts enabled, this usually means turning off only the toolsets the user declined. Some toolsets only appear there when their dependency is present (an API key, a backend, a driver) — if a toolset the user wants is missing from the list, say so and move to its setup step rather than pretending it is enabled.
web to return results)web needs a search provider. This is a global Hermes setting, not profile config — set it once and every profile uses it. Ask the user which they have:
hermes setup, which walks the search-backend choice interactively.Verify with a real query afterward (e.g. web_search("Hermes Agent")) and confirm results come back before calling it working.
Confirm the model provider works end-to-end. The profile defaults to deepseek; if the user uses another provider, set it and run one real chat turn to confirm the key is valid. Do not ship or assume any specific API key.
Reusing providers the user already configured. Many newcomers ran hermes setup once before cloning this profile, so a working provider and API key may already exist in their default profile or global config. Ask first — "Do you already have a model provider working in another Hermes profile?" — and offer to bring it over instead of making them re-enter a key:
.env, not config.yaml. A profile reads its own ~/.hermes/profiles/<name>/.env first, then falls back to the global ~/.hermes/.env. If the key is already in the global .env, this profile picks it up automatically — nothing to copy. Only add a profile-local .env when the user wants a different key for this profile than the global one.hermes setup / edit .env themselves. Read-only confirmation that a key is present (e.g. hermes auth list) is fine; do not print the value.hermes --profile donna config set model.provider <provider> and model.default <model> to match whatever already works, then verify with one real chat turn.hermes config set rather than editing another profile's files — keeping with the rule that setup stays local to the active profile.Some capabilities need more than a toolset toggle. Offer each and pause at its credential/permission gate:
tts, and speech recognition if wanted) — needs a voice provider.Before applying anything, show a compact plan in this shape:
Proposed setup
Identity:
- Call you: <name>
- Call me: <assistant name>
- Reply style: <style>
Capabilities:
- Enable: <plain-language capabilities>
- Leave off: <capabilities not selected>
Memory:
- <off / local persistent / selected provider>
Integrations:
- <Obsidian, calendar, reminders, voice, or none>
Scheduled jobs:
- <daily briefing / wellness check-in / recurring health reminder / stock quotes / none>
- Delivery: <origin chat or explicitly selected destination>
- Timezone: <timezone>
I will not install applications, connect accounts, or create recurring jobs until you approve this plan.A clear response such as "yes," "apply it," or an equivalent approval is required before applying persistent changes. If the user changes one item, revise the plan and request approval again.
Apply only the approved items, in this order:
hermes config set or hermes memory setup.hermes tools if a persistent capability change is required.cronjob(action="list").After each action, verify its actual result:
hermes config get <key>.hermes memory status; if Mnemosyne is selected, verify the active profile's provider status and data location without printing secrets.skills_list() or hermes skills list and confirm the exact skill name.hermes tools or start a fresh session and verify the capability is present.cronjob(action="list") and confirm the exact name, schedule, prompt purpose, and delivery target. Do not treat a returned job ID alone as proof that a job will deliver.If a change requires a new session, say New session required rather than pretending the current context has reloaded it.
These are optional jobs. They are not created by default.
Ask for:
deliver for the normal origin destination; never guess a chat ID.The briefing prompt must say:
Example creation call after approval:
cronjob(
action="create",
schedule="0 8 * * *",
name="Daily Briefing",
prompt="""You are running the user's scheduled daily briefing. It is <weekday or every day> at <time> in <IANA timezone>. Produce a concise briefing with only these approved sections: <sections>. Use configured integrations only when they are available and authorized. Use web search for current news or weather only when needed, and include source links and the retrieval date/time. If a section is unavailable, say so plainly rather than guessing. Do not write memories or ask for credentials. Do not provide financial or medical advice. Deliver only the final briefing.""",
enabled_toolsets=["web"]
)Use enabled_toolsets=["web"] only when the user selected current web content. Add other toolsets only when the installed profile and the approved plan require them. If the user wants a calendar section but has not connected a calendar, create the briefing without that section or pause for explicit integration setup.
Offer this as a non-clinical check-in, not as medical monitoring. Ask for:
Use a short, low-pressure prompt. Do not include the user's health history in the cron prompt. Do not automatically save replies to memory. If the user wants longitudinal tracking, ask separately for explicit consent and configure an appropriate health-tracking workflow in a normal session.
Example:
cronjob(
action="create",
schedule="0 9 * * *",
name="Daily Wellness Check-In",
prompt="""Send a short, supportive daily wellness check-in. Ask only about these approved topics: <sleep, energy, movement, hydration, or goal>. Keep it non-clinical and optional. Do not diagnose, prescribe, infer a condition, or claim to monitor the user's health. Do not write the response to memory. If the user reports an immediate danger or crisis, advise contacting local emergency services or an appropriate crisis/medical professional; do not attempt to manage the emergency. Deliver one concise check-in question or checklist."""
)A health check-in should not use no_agent=True; it needs an LLM to phrase the message. It also should not use Mnemosyne tools from the cron context.
If the user asks for a medication, appointment, exercise, hydration, or other health-related reminder, treat it as a reminder only. Ask for the exact wording, schedule, timezone, and destination. Do not infer medication names, doses, diagnoses, or treatment plans. The reminder must state only what the user explicitly supplied.
Example:
cronjob(
action="create",
schedule="<approved schedule>",
name="Health Reminder - <neutral label>",
prompt="Deliver this exact user-approved reminder: <exact wording>. Do not add medical advice, dosage instructions, or a diagnosis. If the user asks a medical question in response, answer only with general safety guidance and recommend a qualified clinician when appropriate."
)Do not put sensitive details in a job name when a neutral label will work. The job definition is stored locally and may be visible to anyone who can read the profile's cron configuration.
Ask for:
Validate the ticker list before creating the job. Do not infer a ticker from a company name when multiple listings are plausible; ask. Use web search or an explicitly configured market-data integration at run time. Every quote message must include the source, retrieval date/time, and whether the data is delayed. If a source is unavailable, report that rather than filling in a number.
Example:
cronjob(
action="create",
schedule="0 16 * * 1-5",
name="Stock Quotes",
prompt="""Provide the user's scheduled quote summary for these exact listings: <ticker/exchange list>. Use an available current web or market-data source. Report the quote, currency, source link, retrieval date/time, and any delayed-data notice. If any listing cannot be verified, say so and omit the number. Do not fabricate prices, predict movements, recommend trades, or present this as financial advice. Do not write memories or request credentials in the cron message. Deliver a concise table.""",
enabled_toolsets=["web"]
)Stock quotes may be attached to the daily briefing instead of creating a separate job. If the user selects both, ask whether they want one combined message or two scheduled messages; do not create duplicates.
Before creating a job, call:
cronjob(action="list")If an equivalent job exists:
cronjob(action="update", job_id="<id>", ...) for an approved change.cronjob(action="pause", job_id="<id>") to stop delivery without deleting history.cronjob(action="resume", job_id="<id>") to restart a paused job.cronjob(action="remove", job_id="<id>") only after explicit approval because removal deletes the schedule.After creating or updating a job, use cronjob(action="list") again. For a first-run smoke test, use cronjob(action="run", job_id="<id>") only when the user explicitly requests an immediate test; the real schedule is not proven until a completed execution appears in the cron history.
Cron schedules use the configured host/gateway timezone unless the deployment supports an explicit timezone field. If the user's timezone differs from the host timezone and the scheduler has no per-job timezone support, explain the limitation and convert only after the user approves the resulting local schedule. Never silently shift a reminder by hours.
Double onboarding: Hermes already has a built-in onboarding.profile_build: ask first-touch offer. Let that handle the consent-gated profile-build offer, then use this skill for capability and schedule choices. Do not create a second competing first-run identity interview. The internal onboarding.seen state is managed by Hermes; do not hand-edit it.
Treating a skill as an application installer: A bundled Obsidian skill does not install Obsidian. Confirm the app and vault separately, and never read a vault before approval.
Creating duplicate crons: Cron jobs run in fresh sessions and do not remember that a similar job was created earlier. Always call cronjob(action="list") first and compare purpose, schedule, and destination.
Using memory in cron: Mnemosyne is not a valid toolset and is intentionally skipped in cron contexts. Do not promise that a wellness response was remembered. Offer an explicit normal-session tracking setup instead.
Fabricating current information: Stock quotes, news, weather, calendar data, and market status are time-sensitive. Use an available source at run time, include source/time, and report unavailable data.
Cron approval confusion: The starter profile may retain approvals.cron_mode: deny. That setting blocks dangerous commands in headless cron runs; it is not a reason to enable unsafe approval mode. Do not change it to approve merely to make a web-based briefing work.
Credential leakage: Never place API keys, tokens, OAuth codes, or full account contents in a cron prompt, job name, response, skill file, or package artifact.
Medical overreach: A daily health cron is a reminder or voluntary wellness check-in, not a clinician, emergency monitor, medication manager, or diagnostic system.
Assuming the current session sees changes: Toolset and skill discovery can be cached. Verify with a fresh session or an explicit listing command before reporting the capability as active.
hermes memory status.hermes tools or a documented one-off toolset override.hermes setup) and verified with a real query.© AtlasOmnia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/hermes/hermes-starter-onboarding of AtlasOmnia/donna-starter.
Open the folder on GitHubat commit a3710bd
Hermes Starter Onboarding 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 |
|---|---|---|---|---|---|---|
| Hermes Starter Onboarding this skillAtlasOmnia/donna-starter | 126 | — | ~7k | Automated safety check: Notes | MIT | |
| Brave Searchbadlogic/pi-skills | 2.6k | 5 repos | ~592 | Automated safety check: Pass | MIT | |
| Enterprise AI Scenario MapMetaInFLow/Enterprise-ai-scenario-map-skill | 632 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Web Searchjjyaoao/HelloAgents | 3.2k | 1 repos | ~5.6k | Automated safety check: Pass | MIT | |
| Ddg SearchTheSyart/claude-agent-examples | 407 | 1 repos | ~493 | Automated safety check: Pass | None | |
| Local Web SearchuluckyXH/OpenMOSS | 1.3k | — | ~392 | Automated safety check: Notes | MIT |
badlogic/pi-skills
Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.
MetaInFLow/Enterprise-ai-scenario-map-skill
企业AI场景地图生成报告工具。通过 web-search 深度调研企业信息,按照V2.1标准模板生成结构化AI应用场景地图报告,包含企业画像、业务诊断、行业实践、AI场景全量表、实施路径等完整内容。
jjyaoao/HelloAgents
Implement web search capabilities using the z-ai-web-dev-sdk.
TheSyart/claude-agent-examples
Web search without an API key using DuckDuckGo Lite via webfetch.
uluckyXH/OpenMOSS
A skill your agent uses when the user asks for web search that should run via the local-160 Responses API with websearch tool (base URL like https://proxy.example.com, model gpt-5.2-codex(xhigh)).
ythx-101/ask-search
Web search via self-hosted SearxNG. An agent skill from ythx-101/ask-search.
AtlasOmnia/donna-starter
macos-storage-management — Use when freeing Mac storage or moving files to SSDs.
AtlasOmnia/donna-starter
marketing-collateral-design — Use when designing, recreating, critiquing, or exporting static marketing collateral such as flyers, social graphics, postcards, brochures, business cards, print ads…
AtlasOmnia/donna-starter
hermes-self-evaluation — Use when the user asks to evaluate, audit, or optimize Hermes itself — analyzing session history, skill library, costs, and architecture to identify improvements, automation…
AtlasOmnia/donna-starter
skill-auditor — Use when auditing, reviewing, or grading Hermes skills for quality.
AtlasOmnia/donna-starter
local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.
AtlasOmnia/donna-starter
cross-browser-typography-qa — Diagnose and verify web typography rendering defects across Chromium, WebKit, and native Safari, including clipped glyphs, broken descenders, wrapping, font metrics…
Categories
A skill your agent uses when a new Hermes profile needs guided first-run setup, identity choices, memory preferences, optional integrations, a step-by-step toolset walkthrough, web-search backend…. Hermes Starter Onboarding is an agent skill from AtlasOmnia/donna-starter. Use when a new Hermes profile needs guided first-run setup, identity choices, memory preferences, optional integrations, a step-by-step toolset walkthrough, web-search backend setup, or recurring daily briefing, wellness check-in, and stock-quote jobs.
Hermes Starter Onboarding fits situations like: A new Hermes profile needs guided first-run setup; identity choices; memory preferences; optional integrations.
Run `npx skills add AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a claude-code`. Or copy the skill folder (skills/hermes/hermes-starter-onboarding in AtlasOmnia/donna-starter) into .claude/skills/hermes-starter-onboarding in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a codex`. Or copy the skill folder (skills/hermes/hermes-starter-onboarding in AtlasOmnia/donna-starter) into .agents/skills/hermes-starter-onboarding 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 AtlasOmnia/donna-starter --skill hermes-starter-onboarding -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hermes-starter-onboarding, .gemini/skills/hermes-starter-onboarding, .github/skills/hermes-starter-onboarding and .opencode/skills/hermes-starter-onboarding in your project.
SKILL.md names no scripts, command-line tools or credentials: Hermes Starter Onboarding is instructions for the agent only. Our summary lists: Python 3.
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 notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Hermes Starter Onboarding is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 7k tokens (SKILL.md is roughly 28k 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 Hermes Starter Onboarding: Brave Search (badlogic/pi-skills, 2.6k stars), Enterprise AI Scenario Map (MetaInFLow/Enterprise-ai-scenario-map-skill, 632 stars), Web Search (jjyaoao/HelloAgents, 3.2k stars) and Ddg Search (TheSyart/claude-agent-examples, 407 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AtlasOmnia (a GitHub user) maintains it in AtlasOmnia/donna-starter, which has 126 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 19, 2026.
Source: AtlasOmnia/donna-starter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.