PORTAL / GETTING STARTED / Phase 3 — Your repo skeleton
Phase 3 — Your repo skeleton
Download the starter kit, understand the folder structure, push it to your repo. 15 minutes.
The starter kit is the empty-but-correct shape of the operating system: conventions, folder structure, the verification harness, and an example skill. During the install we fill it with the workflows from your constraint map.
1. Download and unpack
- Get the kit from Downloads → Agency OS starter kit.
- Unzip it INTO your cloned
agency-osfolder (the files sit next to the README).
2. What each folder is
| Folder / file | What it is |
|---|---|
CLAUDE.md | The system's constitution: conventions, rules, how Claude behaves in this repo. Read it once — it's written for humans too. |
.claude/skills/ | One folder per workflow ("skill"). Each has a SKILL.md (the procedure) and often a verify.md (the quality rubric). |
.claude/agents/ | Specialist personas (copywriter, analyst, media buyer...) with their own judgment and rules. |
clients/clients.json | Your client registry: names, ad account IDs, folder links. Skills read this so you never repeat yourself. |
shared/verify/ | The verification harness — the reason output ships checked instead of hoped-for. |
scripts/ | Helper scripts skills call (API connectors, renderers). Installed per workflow. |
.env.example | The list of API keys the system can use — copy to .env and fill only what you need (Phase 4). |
.gitignore | Keeps .env (your keys) and client data out of git. Do not edit without asking. |
3. Push it
git add -A
git commit -m "starter kit"
git push
That's the whole git knowledge you need day-to-day. Claude handles commits for you during normal work — you just approve.
The one rule that matters
.env never gets committed, shared, or pasted anywhere. It holds your API keys. The starter kit's .gitignore already protects it — leave that protection alone.
Checklist before Phase 4
- Starter kit files visible in your repo on github.com
- You've skim-read
CLAUDE.md clients/clients.jsonhas at least one real client entered (name is enough for now)