I run my practice on a system I built.
I consult on growth, marketing, data, analytics and AI. My AI agents work from rules I wrote down, I accept every change, and each job’s lessons feed the next.
Paste this to your agent
Copy for LLMOpen the Markdown fileRead https://my-system.dbenger.com/my-system.md, then tell me how Dominik Benger runs his practice on it and whether he could help my team.
It is an operating system for my consulting practice and my products.
It sets how work runs here: what an agent reads first, how a job is handed out, which checks it must pass and who accepts the result.
It lives in Markdown (.md) files, ordinary text I can read, and AI agents read them, follow them and write back to them. Grok Bot works beside Hermes as a second orchestrator, with connected apps, a browser, routines and Cursor cloud agents of its own.
- 21 areas of expertise
- Each has a guide and a glossary
- 299 knowledge files
- What I know, one topic per file
- 169 skills
- 70 are commands I wrote
- 772 lessons written
- Dated notes from real work
- 431 decisions on record
- Logged, so agents can search them
- 22 test files
- They test the system’s checks and scripts
More detail
I call it an operating system because every agent on my machines follows the same written rules and the same folder guides.
A desk’s finished work reaches me as a pull request, and I accept it myself. Workers return files or findings to the main session. When a memory and a file disagree, the file wins.
Of the 169 skills, 98 come from outside publishers and the rest are mine. Beside them are 54 task lists, one in each folder that owns work, and 123 session records. The repository also holds the scripts that check its files and the tests for those scripts.
Plain-English glossary
- agent
- An AI program that reads instructions and files, then does a piece of work: research, analysis or code.
- worker
- An agent started for one task, with its own written brief.
- brief
- The written instructions a worker gets: the task, what to bring back, which files to read and how much.
- wave
- A group of workers that run at the same time, from a plan I approved.
- orchestration
- Handing work out to agents in order and checking what each one brings back.
- desk
- A separate working copy for one piece of work, so jobs running at once stay apart.
- Orca
- The desktop app where my desks sit side by side.
- Orca’s share
- The Orca feature that lets me work in the Mini’s desks from my MacBook. It needs a pairing link.
- repository
- The shared folder of Markdown files that holds the practice. Git keeps its history.
- Markdown
- Ordinary text with a few marks for headings and lists, in files that end in .md.
- git
- The tool that keeps every committed version of every file in the repository.
- commit
- A saved snapshot of changed files, recorded in git.
- wiki
- A set of linked pages that people, or here agents, read and add to. Mine is the folders of Markdown files, each with a guide and a catalog.
- guide (
AGENTS.md) - The note in every folder that says what the folder is for and how to work in it.
- catalog (
INDEX.md) - The list in every folder of what each file covers, read before any file is opened.
- standing brief
- The small set of rules and notes every session reads first.
- command
- A written routine the agents follow step by step, typed as /name, for example
/plan. - skill
- A folder of instructions an agent loads by name: one of mine, such as a command, or one from an outside publisher.
- session
- One working conversation with an agent, from start to close.
- main session
- The agent I talk to directly. It briefs workers and checks what they bring back.
- status line
- The one line every session prints when it starts.
- handoff
- The note a session leaves for the next one, which loads when that session starts.
- session close
- The routine that ends my sessions: it runs its checks, writes down lessons and decisions, and offers the work for review.
- daily briefing
- A command I run when I choose. The status line shows when it last ran.
- scans
- Two commands I run when I choose: one looks for new platform releases, the other for changes in outside projects I follow.
- diary
- A dated log that only grows. A message I mark for it from my phone lands there.
- lesson (learning)
- A dated note of something real work taught me. Three or more on one topic go into a knowledge file.
- knowledge file
- A lasting page of what I know about one topic, built from lessons.
- pull request
- Finished work offered for review before it joins the shared version.
- accept (land)
- To take a pull request into the shared version. Only I do it.
- shared version
- The accepted copy of the repository, which every desk pulls in when it starts.
- check (gate)
- An automatic test that stops the work when a rule is broken.
- Tailscale
- A service that joins my devices into one private network over the ordinary internet, wherever each one is.
- tailnet
- My private Tailscale network: the phone, the MacBook, the Mac Mini, the cloud machine and Grok Bot’s computer.
- reaches neither Mac
- The cloud machine opens no connections on the tailnet, so it reaches neither Mac nor the phone. The Macs can connect to it, and I chose to keep it that way.
- SSH
- A secure way to work on another machine from my own.
- Screen Sharing
- The Mac’s built-in way to see and use another Mac’s screen.
- herdr
- A terminal tool that holds agent sessions in panes. On the Mini it holds my Claude Code agent and the job panes it starts.
- Telegram bot
- A chat account on Telegram that an agent answers.
- read-back
- The one line a bot sends to repeat a job to me. It starts the job only when I answer go or yes.
- webhook
- A message one online service sends another when something happens, which can start a job.
- API call
- A request one program sends another to ask it to do something.
- Hermes
- An agent from Nous Research that runs all the time on the Mini and the cloud machine. It is my chief of staff: it takes my messages, runs work on a schedule, keeps a memory of me, runs orchestrated work when I ask, and sometimes writes code.
- Grok Bot
- An agent from xAI on its own computer in Cursor’s cloud, joined to my tailnet. It is a second orchestrator beside Hermes, with connected apps, a browser, routines and its own memory.
- Cursor cloud agents
- Agents Grok Bot runs on their own computers, outside my tailnet.
- routine
- A job Grok Bot starts on a schedule or an event.
- Claude Code, Codex
- My main coding agents. Both also come as desktop apps.
- OpenCode
- An AI agent tool for the command line. It reads the same skill folders.
- Cursor
- An AI agent tool, as a desktop app and on the command line. It reads the same skill folders.
- Devin
- An AI agent tool, as a desktop app and on the command line. It reads the same skill folders.
- Antigravity
- An AI agent tool, as a desktop app and on the command line (agy). It reads the same skill folders.
- Pi
- An AI agent tool for the command line. It reads the same skill folders.
- T3 Code
- A desktop app for working with coding agents.
- Conductor
- A desktop app for running agents.
- Honcho
- A hosted memory of me that the always-on agents share.
- Orgo
- The service that hosts my Linux cloud machine (orgo.ai).
- cross-model review
- A second check by an AI model from a different family.
Agents work on several of my jobs at once, even with the laptop shut.
Each job gets its own desk, a separate working copy, in Orca.
Jobs stay apart, and my phone reaches an agent when I am out. With the laptop shut, Grok Bot’s routines keep running on its cloud computer.
Each session opens with a status line and the latest shared version.
I move between desks while agents work in the others.
From my phone I message a bot, which starts the job when I say go.
The agent writes down lessons, runs the checks and sends me a pull request, its finished work for me to review.
The Mini and the cloud machine keep working, and either one can take a new job.
A workshop has several benches, and the back-room machines keep running after I go home.
More detail
Each desk is its own copy of the work with its own terminals, and Orca shows them side by side.
A message to a bot is a conversation unless it asks for a project. Then the bot reads the job back in one line and starts only when I say go, in a desk of its own.
Neither always-on machine has a fixed role, so either one can take any job.
A new agent finds its way from the written rules and folder guides.
Each part of my work has its own folder, and each folder has a guide that says what it holds and how to work in it.
With a guide in every folder, an agent opens only the files its job needs.
- 21 areas of expertise, each with its own guide
- 7 reusable solutions
- My own products
- Client work
- Decisions, session records and the diary
Picture a filing cabinet where each drawer has a card on the front saying what is inside and how to work with it.
More detail
Beside these sit notes on each client relationship, shared brand and templates, research briefs, a list of the outside tools I use, a goals file and an inbox for whatever I capture.
My standing rules sit at the top, in one guide that every agent on my machines reads first. Below it, each folder has its own guide and a catalog of its files.
Each job’s lessons feed the next, and the work runs in loops.
I run the daily briefing and the weekly review when I choose; Hermes and Grok Bot start scheduled jobs.
Each session opens by showing me overdue tasks and work waiting for review.
- Each session
- A session opens with a status line and the latest shared version, and closes with 7 checks.
- Lessons
- After a job the agents write a dated lesson. Three or more on one topic go into a knowledge file.
- Reviews
- When I choose, I run the daily briefing, the weekly review and the scans for new platform releases and changes in outside projects.
- Scheduled jobs
- Hermes and Grok Bot both run scheduled work: Hermes on a clock or a webhook, Grok Bot on routines that start on a schedule or an event.
More detail
A pilot runs a checklist before take-off and after landing, and reads the logbook before the next flight.
At every session start a small script prints one line: the last daily briefing, the last weekly review, overdue tasks and work waiting for my review. It then pulls in the latest shared version.
The session close runs 7 checks that stop it when a rule is broken, writes down the lessons and decisions, and offers the work for review as a pull request.
The daily briefing, the weekly review and the scans are commands I run when I choose. The status line shows when the daily briefing and the weekly review last ran.
Hermes can also start a job from an API call. When it starts a coding job, the work still ends in a pull request I accept.
My agents remember through a wiki kept in git, and through Honcho.
Agents find their way using each folder’s guide and catalog, search the pages and write their lessons back. Honcho, a hosted service, holds what the always-on agents know about me.
Agents start from what earlier ones wrote, in git, which keeps every committed version. Grok Bot keeps its own memory. I treat it as a hint, and the files win any disagreement.
- Guide, catalog, file
- Each folder has a guide,
AGENTS.md, on what it is for, and a catalog,INDEX.md, of its files. Agents read both, then open one file. - Search
- One command searches every area of expertise and ranks knowledge files first, then decisions, lessons, solution notes and the diary.
- Lessons into knowledge
- Three or more dated lessons on one topic go into a knowledge file.
- Honcho
- The files win any disagreement with it.
More detail
In a library you read the floor plan, then the shelf label, then take down one book. Honcho is a colleague who knows me well, and I check what they say against the books.
An agent reads in three steps. At every start it loads the standing brief: my working rules and the last session’s handoff. A folder’s guide and catalog load when the agent arrives in that folder. Any other file loads only when the catalog points to it. A size check at every session close keeps the standing brief small.
The search command looks across every area of expertise and ranks what it finds: knowledge files first, then decisions, lessons, solution notes and the diary. My planning command runs the same search before it writes a plan.
Each area of expertise keeps its own knowledge files and a glossary that defines its metrics and terms: 299 knowledge files in all, including 21 glossaries.
The agents have written 772 lessons so far. The largest single pass folded 179 of them into 28 knowledge files. Once a lesson is part of a knowledge file, the agents delete the note from its folder, and git still holds it.
431 decisions and 123 session records sit in logs that only grow, beside a dated diary. Each session starts from the last one’s handoff.
Claude Code’s own memory store is switched off, and the session close refuses to finish if it comes back.
On my Macs, Honcho never loads at the start of a session, and they ask it only when a command needs it. It holds none of the files. I chose a hosted memory because it models a person and stays up when a machine is down.
Tailscale links my devices into one private network.
Tailscale joins my phone, MacBook, Mac Mini and a Linux cloud machine on Orgo (orgo.ai) over the internet, so I reach the always-on machines from anywhere.
The Mini and the cloud machine are always on, so closing the MacBook stops nothing running on them.
More detail
Each device is an extension on one office phone system: it has its own line and can ring the others from anywhere. The cloud machine takes calls but cannot ring anyone.
| MacBook to Mini | SSH, Screen Sharing, Orca’s share with a pairing link, and desktop apps. |
|---|---|
| MacBook and Mini to the cloud machine | SSH from both; the MacBook also uses Orca and the same desktop apps. |
| Phone to the machines | A direct connection, or Telegram to the bots. |
| Cloud machine to the others | It opens no connections on the tailnet, and I chose to keep it that way. |
| Grok Bot’s computer | On the tailnet. The Cursor cloud agents it runs are not. |
| Telegram to the bots | Over the internet, outside the tailnet. |
Interactive work runs on the MacBook, in Orca desks. Through Orca’s share I work in the Mini’s desks from my own screen. Screen Sharing shows me the Mini’s own screen when a task needs it, such as a login. From the phone I message a bot, or connect to a machine directly and instruct it.
Tailscale runs at its default rules, so my phone, MacBook and Mac Mini can each open a connection to the others and to the cloud machine. The one exception is the cloud machine, which opens no connections on the tailnet, so it reaches neither Mac nor the phone.
From the MacBook I also work on the Mini and the cloud machine in T3 Code and in the Claude Code and Codex desktop apps.
Telegram runs over the ordinary internet, outside the tailnet, so the cloud machine’s bot works too.
The Mini runs a Claude Code agent on its own Telegram bot, Hermes on another, and desks for project work. A tool called herdr holds that agent and the job panes it starts. The cloud machine runs Hermes and workers, and Hermes answers on its own bot and starts when the machine boots. Neither machine has a fixed role, so either can take any job in a fresh desk.
Grok Bot works from its own computer in Cursor’s cloud, joined to my Tailscale network. It runs Claude Code and other agents on my machines, asking first by default. The Cursor cloud agents it runs stay outside the network, on their own computers.
Every desk ends in a pull request, and I accept it myself from any desk. Agents never accept their own work.
A secret check runs before commits on every machine and refuses one that contains a key. Whatever starts on a machine first pulls in the latest shared version.
My main session hands out the work and checks every result.
My main session is the agent I talk to. It briefs AI workers and compares each result with its files. Hermes is my chief of staff on the always-on machines.
I can hand a job to Grok Bot as well as to Hermes. It works with my apps and a browser, runs Cursor cloud agents, and everything it changes ends in a pull request I accept.
In a session
- Each worker gets a written brief.
- Bigger work runs in waves from a plan I approve.
- Client work also passes a review panel and a second AI model.
On the always-on machines
- Hermes takes my messages from the phone.
- Work can start on a schedule, webhook or API call.
- Honcho holds its memory of me.
- Hermes hands coding jobs to Claude Code or Codex and sometimes codes itself.
- When I ask, it runs orchestrated work.
More detail
Imagine a chief of staff who takes my calls, keeps my calendar while I am out and hands each job to the right contractor. Hermes plays that part.
Delegation is my default. The main session keeps the conversation, the routing and the judgment calls, and 5 triggers send work to agents: three or more similar pieces that can run in parallel; a review panel before anything goes to a client; work across three or more areas of expertise that depend on each other; bulk reading or a broad search; and two failed attempts, after which a fresh worker takes over.
For bigger work, /plan lays out the steps in quick, standard or deep mode. /orchestrate has one planning agent write the waves, I approve them, and my main session runs each wave of up to 6 workers, checking every result before the next starts.
A brief says what the worker reads and what it brings back, so its result can be checked against it. Each worker returns a status: done, done with concerns, needs context or blocked. The status decides what happens next. The commands that send out workers carry 16 written briefs for them.
Before client work ships, 3 AI reviewers read it, each with a different lens, and one more pass comes from a different AI model family. If a reviewer returns nothing, I check it read the files.
When I message Hermes about a project, it reads the job back in one line and starts only when I say go, in its own desk. Every coding job Hermes starts ends in a pull request I accept. I kept Hermes beside Claude Code on purpose after trying the Mini with Claude Code alone.
These checks stop the work when a rule is broken: the structure check, the secret check before commits, the size check on the standing brief, the task tool as the only way to change a task list (54 lists) and the product stage check. 22 test files cover the checks and scripts.
Money, infrastructure and contacting anyone else stay with me. By default an agent drafts the exact action and I carry it out. Accepting work into the shared version is mine, and so is moving a product to live or retiring it.
I write each rule once for my coding agents.
Claude Code, Codex and the always-on Hermes agents read the same written rules and skill folders on every machine.
Whichever coding agent I open starts from the same instructions.
- AI tools
- Claude Code and Codex are my main coding agents. Hermes, my chief of staff, takes requests, schedules work and sometimes codes. OpenCode, Cursor, Devin, Antigravity and Pi read the same rules and skills.
- Grok Bot
- Grok Bot brings connected apps (Gmail, Calendar, Slack, Notion, GitHub), a browser, routines, its own memory and Cursor cloud agents.
- Skills
- 169 skill folders: 98 from outside publishers, the rest mine, including 70 commands.
- Workspace
- Orca holds my desks, herdr holds agent sessions and Telegram carries my phone’s messages. T3 Code and Conductor are desktop apps that run agents.
- Network and memory
- Tailscale links my devices. Orgo hosts the cloud machine. Honcho holds the memory of me.
More detail
My tools are like power tools from different makers that all take the same battery.
Claude Code, Codex, Hermes and the other agents above read the skill folders where they are, so no tool keeps a copy of its own. Grok Bot does not read them directly. A script checks every link to them and writes the catalogs.
Automatic checks stop rule-breaking folders, a password in a commit, an overlong standing brief or a skipped product stage.
Hermes can start Claude Code and Codex itself, besides sessions in an Orca desk or a herdr pane. All of that work comes back as a pull request I accept.
The outside tools I work with include Google Workspace, the ad platforms (Google, Meta, TikTok and Apple Search Ads), BigQuery, web and app analytics, mobile measurement, dashboards, data pipelines, workflow automation, CRM, email and SEO tools, Google Cloud, GitHub Actions, Next.js, Vercel and Supabase, and the Claude API and Perplexity.
Client work runs through this same system.
As a client, you get work checked by 3 AI reviewers, a second AI model and then me. If you are hiring, this is the system I designed and run.
If you are a client
- I work on growth, marketing, data, analytics and AI, with tools such as Google, Meta, TikTok and Apple Search Ads, and BigQuery.
- Each area of expertise has a glossary that defines its metrics and terms.
- Nothing goes out without my approval.
If you are hiring
- I use it every day.
- My own products follow the same rules and checks.
- I designed its delegation rules, review checks, memory and machine network.
- Its written rules name what waits for my go: money, infrastructure, contacting anyone.