The file map, the commands, the flags, and the five things worth committing to memory. Everything on this page is a summary of something covered earlier.
File map
~/.claude/├── CLAUDE.md # personal memory, all projects├── settings.json # personal settings, all projects├── rules/*.md # personal conventions├── skills/<name>/SKILL.md # personal skills ⚠ these SHADOW project skills├── agents/*.md # personal agents ⚠ these are SHADOWED BY project agents└── output-styles/*.md # personal styles<project>/├── CLAUDE.md # team memory — committed├── CLAUDE.local.md # your memory — gitignored└── .claude/ ├── settings.json # team settings — committed ├── settings.local.json # your settings — gitignored ├── rules/*.md # team conventions, path-scoped ├── skills/<name>/SKILL.md ├── agents/*.md ├── hooks/*.sh └── output-styles/*.md<plugin>/├── .claude-plugin/plugin.json # ONLY this file lives here├── skills/ agents/ hooks/ bin/└── .mcp.json
Commands
Command
Purpose
/init
Generate a starting project CLAUDE.md
/memory
List and open discovered memory files
/context
Show what is in the context window, with token counts
/status
Model, output style, permission mode, MCP servers
/config
Change settings including outputStyle
/agents
List available agents and their source
/subtask <task>
Fork the conversation into an isolated task
/plugin install <name>@<marketplace>
Install a plugin
/reload-plugins
Reload after editing a local plugin
/clear
New context, required for output style changes
# prefix in a prompt
Append a line to a memory file
Flags
Flag
Purpose
--agent <name>
Run the whole session as that agent
--agents <json>
Define session-only agents
--plugin-dir <path>
Load a local plugin without installing
--append-system-prompt <text>
One-off system prompt addition
--model <name>
Override the model
--permission-mode <mode>
Override the permission mode
Precedence, at a glance
Subsystem
Winner
Settings
Managed → CLI → local → project → user
Skills
Enterprise → personal → project
Agents
Managed → CLI → project → user → plugin
Permissions
deny beats allow, from any scope
Memory files
Nobody. All concatenated
Rules
Nobody. All concatenated
Hooks
Everybody. All matching hooks run
The five things worth memorising
Memory files are additive, not hierarchical. Contradictions are resolved
by the model, unpredictably. Remove them rather than ranking them.
Skills: personal beats project. Agents: project beats personal. Opposite
directions, no mnemonic.
CLAUDE.md is the most expensive place to put anything. Path-scoped rules
and skills are nearly free until used.
Prose is a request; config is a rule; hooks are enforcement. Match the
mechanism to how badly you need it to hold.
/context before theorising. Most “Claude ignored my instruction” reports
are “the instruction was never loaded”.
A first-day checklist for a new repository
/init to generate a starting CLAUDE.md, then cut it to under 200 lines
Add CLAUDE.local.md and .claude/settings.local.json to .gitignore
Move every language convention out of CLAUDE.md into
.claude/rules/<lang>.md with a **/ glob
Add permissions.deny for generated code, secrets, and force-push
Add a PostToolUse formatter hook
Run /skills and /agents and look for names your personal config shadows
Run /context and check the configuration total is under a few thousand
tokens