Skill Curation, Permissions, and Blank Slate Setup

9 min read Module 7 of 9 Topic 19 of 25

What you'll learn

  • Reconfigure an existing installation into a Blank Slate-equivalent state
  • Curate which bundled and self-authored skills load for a given deployment
  • Explain why Nous Research stress-tests bundled skills and what that buys you
  • Apply the principle of least privilege to toolset and skill configuration
Building this at your company? For enterprise and company teams taking this to production: book a 30-minute session with our AI engineers for architecture guidance, code review, and a rollout plan for your use case.
Book a Team Session

The Cheapest Guardrail: Not Loading the Capability at All

Every later lesson in this module, sandboxing, approval gates, debugging, addresses what happens once a capability is available to the agent. This lesson is about a step earlier: deciding what’s available in the first place. A tool the agent never had access to cannot be the vector for a mistake, which makes toolset and skill curation the cheapest, highest-leverage guardrail in your whole deployment.

Applying Blank Slate After the Fact

Lesson 2 mentioned Blank Slate as one of three hermes setup modes. Most teams don’t choose it on day one, Quick Setup’s convenience is genuinely useful while you’re learning the system, which is exactly why this lesson matters: you can retrofit the same discipline onto an existing installation.

# ~/.hermes/config.yaml
agent:
  # Allow-list: ONLY these load. Nothing else, even if a skill or
  # MCP server tries to register more, gets exposed to the model.
  platform_toolsets:
    cli: ["filesystem", "web_search"]

  # Deny-list: belt-and-suspenders for anything that might otherwise
  # slip in through a bundled default or a future update.
  disabled_toolsets: ["code_execution", "shell", "image_generation"]

Verify the result matches your intent:

hermes tools    # confirm only the allow-listed toolsets actually appear
hermes doctor    # confirm no configuration conflicts

Curating Skills, Not Just Tools

Toolsets (Lesson 7.3, Lesson 8) control built-in and MCP capability. Skills (Lesson 11) are a separate surface worth the same scrutiny, especially once a skill can be triggered by cron (Lesson 17) or from a lower-trust messaging platform (Lesson 18).

Nous Research curates and stress-tests every bundled skill, tool, and plug-in that ships by default, a specific, deliberate quality bar. A skill your team wrote via /learn has not been through that process. Before promoting a custom skill from “useful in my private CLI session” to “reachable from the public Discord bot,” give it the same kind of review:

# Inspect exactly what a skill will do before trusting it broadly
cat ~/.hermes/skills/your-skill/SKILL.md

Questions worth asking for any custom skill headed for a lower-oversight surface:

  • Does it touch destructive operations (deleting data, sending messages on your behalf, spending money)?
  • Does it depend on tools that should be restricted on that surface anyway (per Lesson 18’s per-platform toolset design)?
  • Would you be comfortable with anyone who can reach that surface triggering it, unsupervised?

If the answer to the last question is no, either narrow the skill’s own instructions, restrict the toolset it depends on, or keep it available only on higher-trust surfaces.

Least Privilege as a Default Posture

The practical shift this lesson asks for: stop treating “start permissive, lock down if something goes wrong” as the default. Start from Blank Slate, and add capability only as a deployment’s actual, demonstrated needs require.

Starting postureWhat it requires of you
Permissive-by-default, restrict reactivelyRemembering everything the agent can do, and noticing when that’s too much, usually only after an incident
Blank Slate, add deliberatelyA small amount of upfront friction, but every enabled capability was a conscious decision you can point to

This isn’t a claim that permissive defaults are never appropriate, your private, single-user CLI session (Lesson 18’s first rollout tier) can reasonably run broad. It’s a claim that the decision should be deliberate at every tier, not inherited by default from whatever Quick Setup gave you on day one.

Exercise: audit your current installation’s platform_toolsets and disabled_toolsets against Blank Slate. For each currently-enabled toolset, write one sentence justifying why that specific deployment needs it. Anything you can’t justify in one sentence is a candidate for removal.

Knowledge Check

3 questions to test your understanding

1 Lesson 2 introduced Blank Slate as a setup-time choice. Can you apply the same discipline to an installation that already went through Quick Setup?

2 The docs note that Nous Research curates and stress-tests every bundled skill. What does that buy a team that writes and installs a custom skill of their own via /learn (Lesson 11)?

3 Applying least privilege to a Hermes deployment, per this lesson, means starting from which baseline?

Go further with expert guidance

Ready to build production AI?
Talk to our R&D team.

These courses give you the foundation. Our embedded AI teams take you from prototype to production in 30–90 days, with your team, your codebase, your goals. Book a free strategy call to see how we can accelerate your AI initiative.

30 minutes · No obligation · Expert AI engineers, not sales reps

AI Architecture Review

Audit your current stack and identify high-impact improvements

Project Review

Get expert feedback on your AI implementation and codebase

Team Mentoring

Upskill your engineers with hands-on AI coaching sessions

AI Strategy

Define your AI roadmap, prioritization, and implementation plan