CLAUDE.md: the memory file that gives Claude your coding rules for every session
- 🔑 Twelve features turn Claude Code from a coding agent into a real development system.
- 🎯 CLAUDE.md provides persistent per-project rules, auto-generated with the /init command.
- 💡 Plan Mode via Shift+Tab separates thinking from execution, allowing only read-only tools.
- 🚀 Automatic checkpoints before every modification let you rewind via /rewind with zero loss.
- ⚠️ Monitor the 200,000-token context window with /context and trigger /compact before it fills up.
Plan Mode: separating thinking from execution to prevent reckless changes
Checkpoints and rewind: rolling back to any previous state when something goes wrong
Skills and Hooks: automating repetitive workflows and deterministic actions
MCP: connecting Claude Code to any external tool (Figma, Slack, databases...)
Sub-agents: delegating complex tasks to parallel sessions to keep your context clean
Claude Code is a coding agent: it reads your files, runs commands, and modifies your codebase. But in the hands of a beginner, it's a circular saw with no guard. These 12 features change the game. I've tested them all, and some have saved me hours of work.
CLAUDE.md: persistent memory across sessions
Every time you start a Claude Code session, it starts from scratch. It knows nothing about your project, your coding conventions, or your preferences. CLAUDE.md solves this problem.
It's a markdown file placed at the root of your project. Claude reads it automatically on startup. You write your rules there: 'always write unit tests', 'use strict TypeScript', 'never modify config files without confirmation'. Claude follows these rules in every session.
There's no required format. Keep it short and readable. In a Claude Code session, type /init to have it automatically generate a CLAUDE.md tailored to your existing project.
This is the exact same principle as Skills in OpenClaw vs Claude Code: persistent instructions loaded at session startup to give the agent context.
Permissions: calibrating the balance between speed and safety
By default, Claude Code asks for your approval before modifying a file or running a batch command. That's secure, but it slows everything down.
Permissions let you customize this behavior. You can pre-approve safe actions (running tests, committing code) and block dangerous ones (deleting files). Type /permissions in a session to open the interactive menu.
Start conservative and open up gradually as you build trust in your specific workflows.
Plan Mode: think before you act
On complex tasks, Claude can modify the wrong files and waste tokens. Plan Mode separates planning from execution.
Press Shift+Tab to toggle between Plan Mode and Normal Mode. In Plan Mode, Claude can read your files, ask questions, and propose a step-by-step plan. Only read-only tools are available: it can't modify anything. Once you've approved the plan, you switch to Normal Mode and it executes.
The result: targeted modifications, fewer errors, fewer tokens wasted on incorrect refactoring paths.
Checkpoints: rewind to any previous state
You asked Claude to refactor a module. After 20 modified files, you realize the approach is wrong. Without checkpoints, you spend an hour undoing everything manually.
Before each modification, Claude automatically takes a snapshot of your files. Type /rewind to see the list of checkpoints with timestamps and descriptions. Select the one you want to restore, choose what to undo, and you're back to the exact state.
Checkpoints let you explore risky ideas without fear of breaking production code.
This is a mechanism similar to what I implemented with AutoDream for memory management across sessions: the ability to roll back to a previous state is fundamental for an agent that modifies files autonomously.
Skills and Hooks: automating the automation
Some workflows require the same detailed instructions every time. Skills and Hooks are two complementary mechanisms to address this.
A Skill is a skill.md file with a name, description, and instructions. At session startup, you provide Claude with the list of available skills, and it automatically invokes the right one based on context. Build a skill once, and your entire team benefits without memorizing long prompts.
Hooks are different: they're scripts that run automatically at specific points in the workflow (before or after a tool call). Use them for deterministic actions that must always happen: code formatting, security checks, logging.
Feature | When to use | Trigger |
|---|---|---|
Skills | Contextual instructions, conditional workflows | Manual or automatic based on context |
Hooks | Actions that must ALWAYS happen | Automatic on every tool call |
CLAUDE.md | Global project rules | At every session startup |
MCP: connecting Claude to any tool
Claude Code can read files and run bash commands. But your Figma files? Your Slack? Your PostgreSQL database?
MCP (Model Context Protocol) is an open protocol that lets anyone build and expose tools to agents. You add an MCP server, and Claude immediately gains access to every tool it exposes. There are already thousands of public MCP servers available.
This is the most powerful capability extension in Claude Code: any external tool that exposes an API can become a native tool for the agent.
Plugins: sharing your setup in a single file
You spent hours configuring the perfect setup: custom skills, hooks, sub-agents, MCP servers. Your colleague wants the same thing. Without plugins, you send them a list of files to copy and commands to run.
Plugins package everything: skills, hooks, agents, MCP servers, and metadata into one installable unit. Create a plugin, publish it to a marketplace or Git repository, and your colleagues install it with a single command.
Context management and compaction
Claude Code works with a fixed context window of roughly 200,000 tokens. As your conversation grows, it fills up. When it approaches capacity, Claude can compress the conversation while preserving key decisions.
Type /context to see exactly what's consuming your window: CLAUDE.md files, skills, MCP tool descriptions, conversation history. If something important is about to be lost, run /compact with instructions before it happens automatically.
Slash commands: keyboard shortcuts for Claude Code
Some actions are so frequent that typing them out every time breaks your flow. Slash commands act as keyboard shortcuts for Claude Code.
Useful examples: /context (check consumption), /rewind (checkpoints), /permissions (manage access), /compact (compress the conversation), /init (generate CLAUDE.md). Simply type / followed by the command name.
Sub-agents: working in parallel without polluting the context
On complex tasks, doing everything in a single session gets chaotic fast. A sub-agent is a separate Claude session for a specific job.
Claude breaks a complex task into smaller pieces and delegates them to sub-agents. Each sub-agent works independently, then returns a short summary to the main session. Type /agent and select 'create agent'. Give it a name and a prompt focused on a specific domain (security review, testing, refactoring).
I use this exact principle in the AI-First.fr stack: a main agent that orchestrates specialized sub-agents, as described in the AI marketing team architecture with Claude Code.
My verdict
These 12 features are not gimmicks. CLAUDE.md, Plan Mode, and Checkpoints are must-haves from your very first projects. Skills and Hooks come next, once you find yourself repeating the same workflows. MCP and Sub-agents are for when you start building real multi-agent systems.
The learning curve is real. But once you have these mechanisms in hand, Claude Code is no longer an assistant that types code for you. It's a development agent that works with you.
Open a terminal, type claude, and start building. The best way to learn these features is to use them on a real project.
