Set this up in 20 minutes
Three copy-paste changes that pay off right away. A personal CLAUDE.md, a settings.json with a hard deny on .env, and one skill for your most-repeated task.
- Two files, both in
~/.claude/, both personal to you, both apply to every project. A third file, a skill, is the first thing worth reusing across projects. CLAUDE.mdis instructions you write.settings.jsonis configuration Claude Code enforces.- Do this once. It stops you re-typing the same instructions every session.
- Do not treat
CLAUDE.mdas a hard rule. Claude reads it as advice, not enforcement. A rule that must never be broken belongs insettings.jsonor a hook instead.
What you are about to create
Two personal files apply to every project you open in Claude Code, because they live in your home directory rather than a repo. You write them once. A third file, your first personal skill, saves you from retyping one specific prompt for the rest of your projects.
1. A personal CLAUDE.md
Create ~/.claude/CLAUDE.md with the preferences you would otherwise repeat in every session: your preferred commit style, a note about which package manager you use, how much detail you want in explanations.
# Personal preferences
- Prefer pnpm over npm unless a project already uses something else.
- Keep commit messages under 72 characters on the summary line.
- When unsure between two approaches, ask instead of guessing.- This file loads at the start of every session, in every project.
- Keep it short. Files over 200 lines dilute how closely Claude follows them. See Memory management for how this file fits alongside Claude's own auto-written notes.
Start Claude Code in any project and type /memory. Your file is listed under the personal scope.
2. A personal settings.json
Create ~/.claude/settings.json with a model default and a hard deny on reading secrets.
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"model": "claude-sonnet-5",
"permissions": {
"deny": ["Read(./.env)", "Read(./.env.*)"]
},
"cleanupPeriodDays": 90
}permissions.denywins over anyallowrule in any other settings file, including a project's. This is the one setting worth having everywhere.cleanupPeriodDayscontrols how long session transcripts are kept before Claude Code deletes them.- The
$schemaline is optional. It gives your editor autocomplete and catches typos.
Run /permissions inside Claude Code. Your deny rule is listed even in a fresh project with no settings of its own.
3. One personal skill
Pick the single prompt you type most often, a code review checklist, a way you like commits summarized, a specific debugging routine, and turn it into a personal skill.
---
name: my-routine
description: Replace this with what the skill does and when Claude should reach for it.
---
Replace this with the actual steps you keep repeating by hand.- Personal skills live in
~/.claude/skills/, so this one is available in every project, the same as yourCLAUDE.md. - Unlike
CLAUDE.md, this costs no context until the task actually matches its description. See Skills for the full reference and a real example.
Ask a question that matches your skill's description, or type /my-routine directly. Claude Code picks it up without a restart.
What you get for this
You stop re-typing the same instructions every session. That is the whole benchmark for this page. Once it is true, move on to Which one should I use? to figure out what belongs in a project's configuration instead of yours.