Module 1: Who You Are

Every time you start a new conversation with an AI, you’re talking to someone with amnesia. Brilliant, capable amnesia — but amnesia nonetheless. It knows everything about the world and nothing about you. Your projects, your preferences, how you like things done, what you’ve tried before, what failed — gone. Every single session.

CLAUDE.md fixes that.

A Briefing Document, Not a Config File

Most people hear “configuration file” and their eyes glaze over. Fair enough. But this isn’t config in the traditional sense. There’s no syntax to learn, no YAML indentation to fight with. It’s a markdown file with instructions written in plain English.

When Claude Code launches in a directory, it looks for CLAUDE.md and reads it into context. Think of it as a briefing document. You’re the boss, Claude’s the new hire, and CLAUDE.md is the onboarding packet that prevents them from asking you the same questions every morning.

There are three levels:

Global (~/.claude/CLAUDE.md) — applies to everything. Your universal preferences, communication style, tools you use, rules that never change.

Project (.claude/CLAUDE.md in any repo) — specific to that codebase. Tech stack, conventions, deployment process, gotchas.

User-project (.claude/CLAUDE.local.md) — your personal overrides that don’t get committed to git. Private paths, API conventions, personal workflow quirks.

Claude reads all three, layered. Global first, then project, then local. Later layers can override earlier ones.

Do this now: Open your terminal. Run mkdir -p ~/.claude && touch ~/.claude/CLAUDE.md. You’ve just created your global instructions file. It’s empty, but it exists. We’ll fill it in over the next sections.

Five Lines That Stop the Bad Guesses

The first thing Claude needs to know is context about you. Not your life story. Just enough to stop it making bad assumptions.

Without this, Claude defaults to generic — writing for a general audience, using the wrong regional English, suggesting tools you don’t use, formatting things in ways you’d never format them.

Here’s the kind of thing that goes in your identity section:

## About Me

- I'm a freelance consultant based in [city, country]
- I write in [British/American] English
- My primary tools are [tool 1], [tool 2], and [tool 3]
- I publish a [newsletter/podcast/blog] called [name]
- I prefer [terminal-first / GUI / browser-based] workflows

That’s it. Five lines. But now Claude knows your locale, your language preference, your tool stack, your output channel, and your working style. Every response it generates will be shaped by these facts instead of guessing.

Common mistakes to avoid:

  • Don’t write a biography. Claude doesn’t need your career history.
  • Don’t include things that change often. “I’m working on Project X” belongs in a project CLAUDE.md, not the global one.
  • Don’t list every tool you’ve ever used. List the ones you actually use daily.

Your turn: Open ~/.claude/CLAUDE.md and add an “About Me” section. Five lines. Who you are, where you are, what tools you use, what you produce.

Why It Works

The identity section is doing something simple: it replaces Claude’s defaults with your specifics. Without it, every response is shaped for some imaginary average user. With it, every response is shaped for you.

The briefing document metaphor is worth holding onto. A good new hire doesn’t need to be micro-managed — they need enough context to make good decisions independently. That’s what you’re giving Claude.


This section evolves. Every time Claude makes a bad assumption about who you are, update it.

Check Your Understanding

Answer all questions correctly to complete this module.

1. Why is CLAUDE.md described as a 'briefing document, not a config file'?

2. What common mistake does the chapter warn against in the identity section?

3. How does Claude Code handle CLAUDE.md files at different levels?