In progressCase study
StraatClaw: Designing When an Agent Should Stop and Ask
How I designed a small team of AI agents I trust to act for me: clear roles, a six-level permission matrix, and approval gates in the chat apps I already use.
A personal operating layer of named agents, with a permission matrix and approval gates in Telegram and Slack. I did not build Hermes — that is Nous Research’s open-source framework. StraatClaw is the product design on top: roles, limits, and when something has to stop and ask.
Most AI tools are a clever assistant in a box. You ask, copy the answer somewhere else, and start over next time. I wanted something different: agents that hold context for weeks, do small jobs on a schedule, and know exactly what they’re allowed to do without asking me.
StraatClaw is the result. It’s a small team of named agents I designed and run every day on top of Hermes Agent. I didn’t build Hermes. It’s Nous Research’s open-source framework, and I use it as the plumbing. What I designed is everything people actually experience: who does what, what each agent may do alone, when it has to stop and ask, and how that ask shows up on my phone.
The core question turned out to be a product design question, not a model question: when will someone let an agent act for them?
Predictable
I should know what each agent will and won’t do before it acts.
Interruptible
Anything with consequences outside my own notes should wait for me.
Easy to approve
The ask should come to me where I already am, and be quick to answer.
Inspectable
I should be able to read what an agent “knows” and fix it.
Where it reaches me
Telegram for quick captures, status, and the morning brief. Slack for real work, one thread per task.
Every morning, Scout sends a short brief through StraatBot. It only says something when there’s something worth saying.The approval moment is the product. The agent shows what it wants to run and why; nothing happens until I answer. The prompt itself is Hermes Agent’s built-in command approval.
How it works
Instead of one giant agent, I designed a small organization. Every agent gets a short profile: what it does, what it’s not responsible for, what it reads, what it writes, and when it hands off to me.
- StraatBot, the orchestrator and chief-of-staff layer. It captures, triages, routes work, tracks open loops, and escalates to me.
- Scout, research. Morning briefs, signals, watchlists, and a weekly synthesis.
- Finley, finance. Cash flow, budget tracking, and the numbers behind decisions. Finley works from a private data inbox only it reads; other agents get a status or a flag, never raw figures.
- Helpers by role for household operations, food and groceries, and travel planning.
- A product design squad that runs a staged flow: PRD, lo-fi wireframes, mid-fi specs, a design kit, then a runnable prototype, based on my public Cursor rules.
Hermes exposes capabilities; permissions are granted to named agents that run on Hermes.
The team
- StraatBotOrchestrator. Captures, routes, tracks open loops.
- ScoutResearch. Morning briefs, signals, weekly synthesis.
- FinleyFinance. Status and flags only — never raw figures.
- HelpersHousehold, food, and travel — each with its own lane.
- Design squadPRD, wireframes, mid-fi, kit, then a prototype.
Runs onHermes AgentOpen-source runtime from Nous Research. I didn’t build it.
Why it mattered
There was no formal research study. This section is why the design exists.
When one agent can read everything, write anywhere, and act on my behalf, I can’t predict it — so I can’t trust it. Teams hit the same wall when they bring agents into real work: a traveler handing off a trip, a team letting an agent touch shared tickets, a developer letting an agent change infrastructure.
The brief I set: predictable, interruptible, easy to approve, inspectable.
Design decisions
The most useful thing I wrote wasn’t a prompt. It was a permission matrix: six levels that spell out what an agent can do alone and what it has to bring back.
| Level | What the agent can do | Example |
|---|---|---|
| L0 Observe | Read only | Read notes and sources |
| L1 Draft | Write something for my review | A brief, a draft reply |
| L2 Internal write | Change internal notes and task lists | Save a signal note, move a task |
| L3 Reversible | Run operations that can be undone | Run a local script |
| L4 External, with approval | Act outside the system, only after I say yes | Send an email, publish a post, submit a form |
| L5 Manual only | Never done by an agent | Payments, contracts, destructive deletes, credential changes |
Every agent has a default level. Scout can write reports but never contacts anyone. StraatBot can open a bug issue and hand off a fix, but it can’t publish. One rule sits above all of it: human judgment gates external action.
Approvals arrive in chat, not in a dashboard. Telegram is for quick captures, status, approvals, and the morning brief. Slack is for real work, one thread per task.
The approval prompt (Allow Once / Allow Session / Always Allow / Deny) comes from Hermes Agent’s built-in command approval. The design work is the levels and rules that decide when it fires and where it reaches me.
The approval moment

In daily use
StraatClaw is in daily personal use. It is not a shipped company product, and this page claims no usage metrics.
What’s next: StraatClaw Deploys is planned as a way to put a prototype online without handing an agent the keys to everything — a grant broker on the Mac mini, scoped expiring access, and approvals through a separate Telegram bot. That build is in progress; this section will be updated once it exists.
I’m not trying to remove anyone’s judgment, including my own. I’m trying to give it better context and a little more leverage. The idea fits in one line: I don’t want one giant agent. I want a small organization of bounded agents.
What I learned about trust:
- Trust comes from limits, not intelligence.
- The approval moment is the product.
- Silence has to mean no.
- Honest output builds more trust than impressive output.
- Memory needs an owner and a home.
