An AI system is not a pile of tools or a folder of saved prompts. It is a small set of files that make Claude work like your team: it knows who you are, it runs your repeatable jobs the same way every time, and it can plug into your real accounts.
Anthropic gives you seven building blocks for this. You do not set them all up at once. You start with two, and you add the others only when a specific thing starts annoying you. Here is the whole map:
| Block | What it does | When you add it |
|---|---|---|
| CLAUDE.md | Your always-on rules and facts. Claude reads it in full every session. | Day one (required) |
| A skill | A repeatable job Claude runs on command. | Day one (required) |
| Auto memory | Claude writes its own notes from your corrections so it stops repeating mistakes. | Automatic, you do nothing |
| Subagents | A helper with its own separate context that does a heavy side job and hands back a clean summary. | When a big task floods your chat |
| Rules | Extra rule files, so your CLAUDE.md stays short. | When CLAUDE.md passes ~200 lines |
| Enforcement (settings) | Turns a rule into a hard block Claude cannot cross. | When a rule must hold every time |
| Connectors (MCP) | Plugs Claude into your real accounts (Notion, Gmail, Drive). | When you keep copying from a tab Claude can't see |
A real AI system is two files:
Set up these two and you have a system. Everything else is optional. Here are both, ready to fill in.
Put this at the root of your project as CLAUDE.md (or inside a folder as .claude/CLAUDE.md). Claude loads it in full at the start of every chat, so it is where your voice, rules, and "always do X, never do Y" live.
# [Your project or brand]
## What this is
One or two sentences on what you're building and who it's for.
## How I work
- Talk to me in plain language. Infer what I mean, act, then summarize.
- Keep outputs copy-paste ready. No em dashes.
- Ask before anything that deletes files or spends money.
## My voice and rules
- Voice: [e.g. warm, direct, lowercase captions]
- Always: [your non-negotiable, e.g. name real tools, never a vague category]
- Never: [e.g. post anything without showing me the final version first]
## Where things live
- [e.g. drafts in /drafts, final assets in Notion, scripts in /scripts]
## My tools and accounts
- [e.g. Notion, Gmail, ManyChat, Kit]
A skill is one repeatable job, saved so Claude runs it the same way every time. Make a folder .claude/skills/your-skill/ and put a file called SKILL.md inside. The description line is what tells Claude when to use it. Type /your-skill or just ask, and it loads only when needed, so it costs almost nothing until you use it.
---
description: Turns a rough idea into a finished [thing] in my style. Use when I say "draft a [thing]", paste a [source], or ask to [do the task]. Do not [the one thing it must never do].
---
## Inputs
What I'll give you (a link, a topic, a rough note), and what to ask for if it's missing.
## Steps
1. [First concrete step]
2. [Second step, with the real rule or constraint]
3. [Output format: exactly what the finished thing looks like]
## Rules
- [Voice and format, e.g. sentence case, no em dashes]
- [Quality bar, e.g. name at least 3 real tools, cite sources]
## Output
Show me the finished result inline. Save a file only if I say so.
scripts/ folder, so you never juggle "workflows" and "scripts" as separate things.Never opened Claude Code? Do this first, it's the tool that runs everything below.
cd Desktop/my-first-system then claude. When you see the prompt, you're in./init. It reads your folder and drafts a starter CLAUDE.md. Treat it as a rough first pass.captions, type /captions) and watch it do the job your way.Do not build these on day one. Each one solves a specific problem, and the trigger tells you when it is time.
You do not build this. Claude writes its own notes from your corrections and preferences, and pulls them back automatically. It is on by default in recent Claude Code. You write CLAUDE.md, Claude writes this. Just know it exists so you understand the two-part memory.
.claude/agents/)Trigger: a heavy side job (deep research, reviewing lots of files) is flooding your main chat with output you won't reread. A subagent runs it in its own separate memory and hands back a clean summary, so your main conversation stays tidy.
.claude/rules/)Trigger: your CLAUDE.md creeps past ~200 lines. Move a chunk (say, all your caption rules) into .claude/rules/captions.md so the main file stays lean.
.claude/settings.json)Trigger: you want a rule to hold every single time, not just be politely requested. A line in CLAUDE.md is guidance Claude can slip on. A deny rule here is a hard block it cannot cross. This is how you protect the scary stuff:
{
"permissions": {
"deny": ["Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)"]
}
}
Bash asks before running anything that isn't a known read-only command (things like ls, cat, and grep never prompt), so you only add rules here to hard-block something or to safely loosen it. Do not bother allow-listing read-only actions, they never prompt anyway.
Trigger: you keep copying data out of a tab Claude can't see. Connectors plug Claude straight into your real accounts (Notion, Gmail, Drive, a database) so it reads and acts on the real thing. In Claude Code you add one with claude mcp add and check it with /mcp. Sign in through the secure connect flow, never paste a token into a file.
This starter pack is the foundation: the two files that turn Claude from a chat window into a system. Inside The AI System Club we build the rest of the map together, live: the skills that write and format your content, the subagents that run your research, your own Jarvis assistant, the automations that run your ads, and the connectors that plug Claude into your real Notion, Gmail, and Drive. You pick the lane you care about and build the actual thing, with everything unlocked for 30 days.
It opens in September. The waitlist gets in before it's public and locks the founding price for life, even after it goes up. If you want the full build, save your spot ๐