It's personal
Claude Code is yours once you name the spinner, pick the mascot, and set the mood. Defaults become a character.
Read here, install from the kit
This page explains; the starter kit repo carries the files. Each tip is tagged: paste-and-go needs nothing installed; in the starter kit means kit owners already have it.
You don't have to code
Every tip here has a shortcut: paste a prompt into Claude and it writes the config for you. Copy, paste, done.
Tips that change what Claude Code can do for you — better builds, less chaos.
The two-step for big builds
For anything substantial — several files, multiple decisions, more than 30 minutes of work — don't just ask for the thing. Ask for a plan, then let a team of fresh helper Claudes ("sub-agents") build it, while the smartest one directs and checks the work.
Paste this into your next Claude Code session
For any substantial build, use this two-step instead of just asking for the thing:
What it does: Claude first writes a detailed implementation plan — every task with exact files, values, and test steps — then executes it by dispatching a fresh sub-agent per task. Each one gets a written brief, builds, and self-reviews; then a separate reviewer that never saw the work happen tries to poke holes in it before the next task starts. The main session only coordinates — it never writes or reviews the code itself. Fresh eyes catch what the author can't.
Why it saves money too: the smartest model does the planning and checking, while cheaper, faster agents do the labor. Best of both.
Prerequisite: the superpowers plugin — a free add-on pack that teaches Claude this way of working. Don't have it? Just ask: "install the superpowers plugin" — Claude handles it.
Make it your standing default
Never remember the phrase again
Tell Claude Code:
Make this the standing default for big builds — add it to my CLAUDE.md.
Claude adds the rule to your CLAUDE.md — the memory file where Claude keeps your standing instructions — and every future build big enough to qualify uses the two-step automatically. You can always opt out per build ("quick and dirty, inline").
Terminal tabs that name themselves
Run three Claude sessions at once and never lose track — each tab names itself after what that conversation is actually about. Total sanity-saver.
Paste this into Claude Code — it installs itself
One paste and your Claude does the setup for you:
Needs a reasonably current Claude Code and a small helper tool called jq. If jq is missing, Claude will tell you and help you install it.
/plugin update kit and the name tags come along.
Or grab the whole starter kit
Two commands, full setup
The kit was built to be the answer to "how do you use Claude Code?" — statusline, sounds, and more, installed as a plugin:
/plugin marketplace add https://github.com/marianasmall/claude-code-starter-kit
/plugin install kit@claude-code-starter-kit
Installing as a plugin means updates flow to you: when new goodies land in the kit, run /plugin update kit once and you're current.
Related: Fun 03 — the mascot status line lives in the same bar. The kit's statusline and the mascot are cousins; you can merge them.
Never explain the same job twice
Done the same kind of task with Claude two or three times? Don't keep re-explaining it. A skill is a saved procedure Claude keeps on file and pulls out whenever the job comes up — and Claude can write it for you from work you just finished.
Right after finishing a job you'll do again, paste this
While the work is still fresh in the conversation:
The ladder: a prompt you repeat word-for-word becomes a slash command (Fun 07). A whole procedure you repeat — with steps, checks, and judgment calls — becomes a skill. Claude uses it automatically when the job matches, or you call it by name.
How to know it's skill-worthy: you've done it two or three times, it has steps you'd forget, and you keep correcting Claude the same way each time. That correction is exactly what belongs in the skill.
What a skill looks like inside
Just a folder with instructions
A skill lives at ~/.claude/skills/[name]/SKILL.md — plain markdown:
---
name: monthly-report
description: Build the monthly client report from the analytics exports
---
1. Ask which month we're reporting on
2. Pull the exports from the reports folder
3. Follow last month's structure — sections, tone, charts
4. Flag any metric that moved more than 20% before writing
5. Save the draft as Report_[Month]_[Year].md and open it
You never have to write this by hand — that's what the paste prompt above is for. Claude drafts it from the work you just did together; you just approve it.
Teach Claude how you work — once
Claude forgets everything between sessions — unless you give it a memory file. CLAUDE.md holds your standing instructions: how technical you are, what to always do, what to never do. Write it once; every session starts already knowing you.
Let Claude interview you
Paste this into Claude Code and answer its questions:
The file lives at ~/.claude/CLAUDE.md (applies everywhere) or inside a project folder (applies just there). It's plain text — read it, edit it, delete lines that stop being true.
The compounding trick: whenever you correct Claude the same way twice, say "add that to my CLAUDE.md." The file gets smarter every week; your sessions stop starting from zero.
What actually belongs in it
Four kinds of lines earn their place
- Who you are — "Marketing exec, not a coder. Explain what things accomplish, not the syntax."
- Standing rules — "Always back up a file before overwriting it." "Explain before acting."
- Preferences — output format, tone, how much detail you want.
- Corrections that keep recurring — anything you've typed twice belongs here, not in chat.
Want a filled-in starting shape instead of a blank page? The starter kit ships a CLAUDE.md.template. And the "standing default" upgrade in P1 is exactly this: one line in your memory file.
Every project resumable from cold
The thread dies, the week ends, and you're back to re-explaining everything. Five small files fix that — any future session picks the project up cold, no re-briefing.
Paste this at the start of any real project
No installs needed — Claude sets up the files and the habit:
The payoff moment: next time a session ends (or dies), you open handoff.md, copy the bottom half, paste it into a fresh thread — and Claude continues like nothing happened.
/kit:scaffold-project does the setup in one command, and /kit:session-end keeps the handoff current automatically.
Why five files, and what each one does
Each file answers one question
README.md— what is this? (for humans)PLANNING.md— where is it going? (goals, roadmap)CONTEXT-SUMMARY.md— what's true right now? (updated each session)CLAUDE.md— project-specific rules for Claude (only if needed)handoff.md— where did we leave off? (replaced every session)
The handoff's Traps line is the sleeper hit: dead ends already tried, decisions already made. A new thread that knows the traps doesn't waste your evening re-hitting them.
See the plan before anything happens
One keystroke makes Claude outline what it's about to do — and wait for your OK — before touching a single file. Built into Claude Code; most people never find it.
Press Shift+Tab — or just ask for it
Tap Shift+Tab until the plan-mode indicator shows (or type /plan). No setup at all. And this paste works even if you forget the keystroke:
When it earns its keep: anything scary — deleting, reorganizing, touching many files, changing something that works. You read the plan in plain English, adjust it, then let Claude run.
The three modes, in plain terms
Shift+Tab cycles between them
- Manual — Claude asks before each action. The default.
- Plan first — Claude designs the whole approach, you approve once, then it executes.
- Auto-accept — Claude just goes. For work you fully trust.
The habit that sticks: plan mode for anything irreversible, auto-accept for the routine, manual for everything in between.
Your old conversations aren't gone
Every Claude Code session is saved as a file on your own machine — for 30 days by default, longer if you say so. Which means Claude can go back and read them: what you decided, what you tried, what that command was.
Just ask Claude to go look
Paste this with your topic:
Keep them longer: 30 days is the default, not the limit. One line in ~/.claude/settings.json:
{ "cleanupPeriodDays": 120 }
How this works
Sessions are just files
Every conversation lands in ~/.claude/projects/ as a transcript file. Nothing leaves your machine — that's why Claude can read them and why the retention setting is yours to control.
Related built-ins: /resume reopens a past session where it left off, and /recap summarizes what happened when you return to one. The starter kit ships /kit:recall — a ready-made version of the search paste above.
Run several Claudes as a team
Two or three sessions at once — one building, one researching, one on a different project — without chaos. The trick isn't the tabs; it's giving sessions shared places to read and write, so they work like colleagues instead of strangers.
Ask Claude to design your setup
Paste this into any session:
The three rules that make it work: shared files beat memory (sessions coordinate through what's written down, not what anyone "remembers") · update the handoff when state changes, not just at the end · when work moves to a new session, the old one writes the new one's first message.
/kit:handoff and /kit:session-end for the baton-passing, and the full primer in the kit's docs/.
Going deeper: same repo, two sessions
Worktrees — parallel work with no collisions
Two sessions editing the same project will fight. Git worktrees give each session its own copy of the repo on its own branch — same history, separate desks. Ask Claude: "set up a worktree so I can work on [thing] in a second session without touching this one."
Get your API keys off your disk
If you've ever pasted an API key into a file, it's sitting there in plaintext — readable by any process, one accidental commit away from public. Your password manager can serve keys to Claude Code at runtime instead, so the disk holds nothing worth stealing.
Start with an audit — Claude finds what's exposed
Paste this into Claude Code:
That last sentence matters: a security audit that prints your keys into the chat has just copied them somewhere new. Make "never print values" part of the ask.
docs/ — the 1Password Environments primer, including the gotchas.
How the password-manager approach works
Keys served at runtime, not stored in files
1Password's Environments feature (desktop app) serves your keys through a secure pipe that scripts read the moment they need them — while your vault is unlocked, and never from a file on disk. Other password managers have similar CLI patterns; ask Claude which fits yours.
Belt and suspenders: also ask Claude to install gitleaks — a pre-commit scanner that blocks any commit containing something that looks like a key. Plaintext leaks mostly happen via git; this closes that door.
Never let Claude do anything you can't undo
The rule that makes it safe to hand Claude real work: nothing destructive, ever. Files get moved to a review folder instead of deleted. Emails get drafted, never sent. Originals get backed up before overwrites. You keep the only delete key.
Four standing rules, one paste
This goes straight into your memory file (P4):
Why this changes everything: once nothing can go permanently wrong, you stop supervising every step — and that's when Claude becomes genuinely useful. Reversibility is what trust is made of.
backup-before-edit hook snapshots every file before Claude touches it, and the safety-net hook hard-blocks destructive commands even if Claude tries one.
The pattern behind the rules
Reversible > confirmed
Asking "are you sure?" before every action is exhausting and you'll start clicking yes blindly. The better design: make actions undoable instead of confirmed. A review folder you empty weekly beats a hundred "are you sure?" prompts — and a draft you read before sending beats an apology email.
Pairs naturally with P6 (plan mode): see the plan before it runs, and even if something slips through, it's reversible anyway. Two layers, no fear.
Give Claude your work texts (and nothing else)
"Let AI read my texts" has always meant all of them — family, doctors, everything. That's the wrong trade, so nobody makes it. The fix: a group in your Mac's Contacts app becomes the permission. Whoever is in the group is visible to Claude; everyone else doesn't exist.
A contacts list becomes the permission
First, put your work contacts in one place: a list in the Mac's Contacts app (File > New List — Apple's how-to; older Macs call it a group), or a label in your work Google contacts — Contacts shows iCloud and Google side by side, so either works. Then paste this into Claude Code:
Then verify — this step is not optional: ask for a work thread (it should come back), then ask for a real personal contact (it should come back empty). Have it draft to a fake number to prove nothing can deliver. A test only proves what it was written to prove, so use a real personal contact, not a made-up one.
docs/ — the scoped iMessage access primer, including the traps a real build hit.
Why the wording matters
The Mac can't scope this for you
macOS permission for reading Messages is all or nothing — there's no OS setting for "work texts only." The scoping lives in how the reader is built, which is why "cannot return anything outside that list" is the load-bearing phrase in the prompt, and why the verification step isn't optional.
The principle: make the scope structural, not a filter. Personal messages aren't filtered out of the results — they're in data the tool never opens. There's no filter to get wrong.
The payoff: the list is the permission. Add someone in Contacts and Claude can see that conversation; remove them and access is gone. No settings to edit, no list maintained in two places. The one hard rule: it never sends. Drafting is fine — it opens Messages with the reply loaded and you press send — because no send capability exists in the code, it can't text anyone even if asked.
Not on a Mac? The texts part needs one — iMessage's database only exists on Apple devices. But the trick isn't Mac-only: the same work-contacts label can scope Claude's email or calendar reading instead. Same wording, same verification step.
Seven customizations that turn the default terminal into your terminal. Added April 2026.
The word that shows while Claude thinks
Replace "Thinking…" with a rotating cast of action words. Pondering, Scheming, Caffeinating — each turn picks a random one.
Ask Claude.ai to write it for you
Paste this into Claude.ai and swap in a theme you love:
~/.claude/settings.json:
{ "spinnerVerbs": { "mode": "append", "verbs": ["...", "..."] } }Themes that work:
- ADHD humor ("Starting five things at once")
- Portuguese / Brazilian slang ("Na boa", "Só um segundo")
- Travel ("Upgrading (manifesting)", "Already at the gate")
- Your profession (marketing, law, parenting, wine)
- Pop culture (Taylor Swift lyrics, Star Wars, The Office)
Generate a few batches with different themes and merge them. That's how power users end up with 150+ spinners.
Or write it yourself
Where it goes
Open ~/.claude/settings.json (create it if it doesn't exist) and add:
{
"spinnerVerbs": {
"mode": "append",
"verbs": [
"Pondering",
"Scheming",
"Caffeinating",
"Reading the room",
"Not starting with 'Great question!'"
]
}
}
"append" keeps Claude's built-ins and adds yours. "replace" uses only your verbs.
The hint under the spinner
Replace the default tip with pep talks, running jokes, or reminders — anything you want flashing by mid-thought.
Ask Claude.ai to write them for you
Paste into Claude.ai with the theme you want:
~/.claude/settings.json:
{ "spinnerTipsOverride": { "tips": ["..."], "excludeDefault": false } }Themes that work:
- Pep talk for ADHD brains
- Reminders a parent would give you
- Quotes from your favorite author
- Zen koans / short philosophy
- Inside jokes with your team
Or write it yourself
Where it goes
Add this block to ~/.claude/settings.json:
{
"spinnerTipsOverride": {
"tips": [
"This is fine.",
"Trust the process.",
"You got this.",
"Shipping beats perfect."
],
"excludeDefault": false
}
}
excludeDefault: false mixes yours with Claude's built-in tips. Set to true to use only yours.
The bar at the bottom
Always visible. Put an emoji mascot, your name, the time, or a live dashboard showing your git branch and model.
Ask Claude.ai to write the script
Don't know bash? Describe what you want and Claude.ai will write the script:
statusLine command that shows [WHAT YOU WANT]. Return the full script ready to save as ~/.claude/statusline.sh, plus the chmod step and the JSON snippet for settings.json.Examples to ask for:
- "Current git branch, today's date, and a rocket emoji"
- "A motivational quote that changes every time it refreshes"
- "Whether my internet is working plus battery percentage"
- "The project folder I'm in and time of day (morning/evening)"
Or write it yourself
Simple version — static mascot
Put this in ~/.claude/settings.json:
{
"statusLine": {
"type": "text",
"text": "🤖 Claude Code — let's build"
}
}
Dynamic version — live script
Point to a shell script that refreshes:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh",
"refreshInterval": 10
}
}
Then create ~/.claude/statusline.sh and run chmod +x ~/.claude/statusline.sh to make it executable.
Change Claude's tone
Output styles shape how Claude communicates — the voice, the structure, the depth. Teacher tone. Mentor tone. Pirate tone. Four built-in styles plus unlimited custom ones.
If you're reading this and already seeing ★ Insight boxes or running commentary in your own Claude Code, you already have an output style enabled (Explanatory). This section is how to switch it up.
Ask Claude.ai to write the style file
Describe the persona and Claude.ai will generate a ready-to-save markdown file:
~/.claude/output-styles/[name].md. Keep it to 6–10 lines of instructions.Personas worth trying:
- A patient mentor who asks before acting
- A no-BS startup advisor who challenges assumptions
- A punchy copywriter obsessed with clarity
- A kindergarten teacher explaining to a 5-year-old
- A strategist focused on jobs-to-be-done
Save the file. Activate it by typing /config and picking it under Output style. Run /clear or start a new session for it to kick in. (If you learned the old /output-style command — it was removed in mid-2026; everything lives in /config now.)
Or write it yourself
Four built-in styles
Switch between them inside Claude Code: type /config, pick Output style:
- Default — standard Claude Code
- Proactive — Claude acts first and asks less; good when you trust it with routine calls
- Explanatory — adds teaching insights to every response
- Learning — Claude leaves pieces of code for you to complete
Custom style file
Save as ~/.claude/output-styles/mentor.md:
---
name: Mentor
description: Explains decisions and asks questions before acting
---
You are a patient coding mentor. Before making changes:
1. Explain what you're about to do and why
2. Ask if there's a detail I should consider
3. After the change, point out one thing I could learn
Never write more than one file without pausing to check in.
Activate via /config → Output style. Tip: add keep-coding-instructions: true to the frontmatter if you still want Claude coding normally underneath the new voice.
Make Claude chime
Play a macOS sound when Claude finishes. A different one when it's waiting on you. Walk away from long tasks; come back when you hear the bell.
- Glass.aiff
- Submarine.aiff
- Ping.aiff
- Pop.aiff
- Tink.aiff
- Purr.aiff
Just pick a sound from the list
This one doesn't need AI — the fun is picking which sound. Preview any macOS sound in Terminal first:
afplay /System/Library/Sounds/Glass.aiffSwap the filename with any of the sounds on the left. Then drop the snippet below into settings.json.
The config snippet
Where it goes
Add to ~/.claude/settings.json (merge with any existing hooks section):
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Submarine.aiff"
}
]
}
]
}
}
Stop fires when Claude finishes a turn. Notification fires when Claude is waiting for you.
Tip: Pick quiet sounds (Tink, Pop) for frequent events. Save dramatic ones (Submarine, Sosumi) for Notification only.
Change the colors
The fastest customization on this list — takes five seconds, no restart. Light, dark, auto-switch, or colorblind-friendly.
Just type /config theme=dark
This one's a one-liner, not a config puzzle. Inside Claude Code, run:
/config theme=darkSwap dark for any theme in the table below — or just type /config alone and pick from the menu. Changes instantly. No restart. (The old /theme command retired into /config in mid-2026.)
Pro tip: use auto if you switch between dark at night and light by day. Use light if you take screenshots — dark themes photograph poorly.
Or set it permanently
All theme options
| Theme | When to use |
|---|---|
auto | Follows your macOS system setting |
dark | Classic dark mode |
light | High-contrast, good for screenshots |
dark-daltonized | Dark + colorblind-friendly |
light-daltonized | Light + colorblind-friendly |
dark-ansi | Uses your terminal's ANSI colors |
light-ansi | Same, for light mode |
Or set it permanently in ~/.claude/settings.json:
{ "theme": "dark" }
Your own shortcuts
Turn any prompt you type often into one word. /standup, /pep, /decide, /joke — whatever you'd send yourself at 9am.
Ask Claude.ai to write the command file
Describe what you want and Claude.ai will generate a ready-to-save file:
~/.claude/commands/[name].md.Commands worth building:
/recap— summarize my last 3 Slack messages into one action/decide— pick between two options with a pros/cons frame/elevator— turn a long idea into a 30-second pitch/reframe— offer 3 alternatives to a negative thought/translate— turn business-speak into plain English
Or write it yourself
Three steps
1. Create the folder: mkdir -p ~/.claude/commands
2. Save a file named after the command, e.g. ~/.claude/commands/joke.md
3. Type /joke in Claude Code
Template
---
description: Tell a joke about a topic
argument-hint: "[topic]"
---
Tell me a funny, clever joke about $ARGUMENTS.
Smart, not corny. One joke only.
Then type /joke quantum computing and Claude runs the prompt with "quantum computing" as the argument.
Tip: Commands in ~/.claude/commands/ work across every project. Commands in ./.claude/commands/ (inside a project folder) only work in that project.
2026 update: custom commands were merged into Claude's skills system. Your command files keep working exactly as shown — and when a shortcut outgrows one prompt, it can graduate into a full skill. That's tip P3.