Folder structure
A command-centre folder has six top-level directories plus two files at the root. If your work involves multiple client engagements with their own context and input files, add a seventh — clients/ — covered in section 24.
Each directory has a single purpose. Claude can edit some of them; you maintain the rest.
~/command-centre/├── CLAUDE.md├── README.md│├── context/│ ├── role.md│ ├── priorities.md│ ├── people.md│ ├── projects.md│ ├── voice.md│ └── anti-voice.md│├── clients/ ← optional, see section 24│ └── (per-client folders)│├── workflows/│ ├── brief.md│ ├── triage.md│ ├── reply.md│ └── deck.md│├── scripts/│ ├── pull_outlook.py│ ├── build_deck.py│ └── save_draft.py│├── templates/│ ├── brand_template.pptx│ ├── reply_starter.md│ └── brief_format.md│└── outputs/ ├── briefs/ ├── drafts/ └── decks/What each layer does
Section titled “What each layer does”| Folder | Purpose | Editable by Claude? |
|---|---|---|
CLAUDE.md | The index Claude reads first every session | Rarely — you maintain it |
README.md | Documentation for your future self | You only |
context/ | Who you are, what matters, who’s who | You only |
clients/ | Per-engagement context, isolated by client | You only |
workflows/ | Step-by-step specs for repeatable tasks | You only |
scripts/ | Python helpers Claude calls for I/O | Yes — Claude can extend |
templates/ | Brand template, output format specs | You only |
outputs/ | Everything Claude produces, date-prefixed | Yes — Claude writes here |
Why two layers for behaviour
Section titled “Why two layers for behaviour”context/ and workflows/ look similar at first — both are markdown files Claude reads — but they hold different things and change at different rates.
Context is who you are and what matters. It changes when your job changes, when a new client comes on board, when a project shifts state. Update cadence: monthly.
Workflows are how to do specific repeated tasks. They change when you discover a better way to triage, or when an output format needs adjusting. Update cadence: when you’ve done the same task three times manually and want it codified.
Mixing them produces files that grow indefinitely and get harder to update. Separating them keeps each file focused.
Why scripts are separate from workflows
Section titled “Why scripts are separate from workflows”Workflows describe the steps Claude takes (“read context, classify each email, draft replies”). Scripts do the actual reading and writing — Outlook, PowerPoint, file system. Claude can’t talk to Outlook directly, so scripts bridge the gap.
This split matters because scripts get rewritten when an integration changes (AppleScript today, Microsoft Graph tomorrow). Workflows shouldn’t have to change with them.
Why outputs are date-prefixed
Section titled “Why outputs are date-prefixed”Every generated file goes to outputs/<type>/YYYY-MM-DD-<slug>.<ext>. The date prefix keeps the directory sortable, makes it obvious which version is most recent, and makes quarterly cleanup straightforward. The single most common failure mode of folders like this is them becoming junk drawers over time — date prefixes plus a quarterly review pass prevent that.
Why clients/ is optional
Section titled “Why clients/ is optional”If you work in a role without distinct client engagements — internal product work, a research role, a single-employer setup where everything is in-house — you don’t need clients/. Active projects all live in context/projects.md and the structure stays as the six top-level directories above.
If you have multiple concurrent client engagements with their own inputs, contacts, and confidentiality boundaries, the clients/ directory is how you keep them isolated. Section 24 covers when to use it, how it works, and the session activation pattern that controls which client is in scope at any moment.
What’s not in the folder
Section titled “What’s not in the folder”A few things deliberately absent:
- No build step. Nothing compiles. Markdown is markdown; Python is Python.
- No package manifest at the root. Scripts have minimal dependencies and are managed at the system level. If you find yourself wanting a
pyproject.toml, the scripts have probably grown beyond what belongs here. - No tests directory. These are personal tools; failures show up in the terminal and you fix them. If a script gets complex enough to need tests, it has probably outgrown the folder.
- No
.git. This is a personal folder, not a project. If you want version history, use Time Machine or rsync to a backup. Don’t push it to GitHub — context files contain personal information about colleagues and clients.
The next sections cover each file in the layout above, in the order you’d build them.