Practical habits organized by frequency. Tested across Claude Code, Cursor, and Codex workflows.
- Run
/doctorif things feel off - Check context with
/context— know your budget - Name your session with
/renamefor easy/resumelater - For returning tasks:
/replay <topic>to surface past learnings
- Commit early, commit often — as soon as a logical unit is done
- Manual
/compactat 50% — don't wait for auto-compact at 95% (the "dumb zone") - Read before edit — always understand what's there before changing it
- Plan mode for multi-file changes —
Shift+Tabto toggle - Subagents for heavy lifting — delegate exploration, tests, docs
- Run
/wrap-up— audit changes, capture learnings - Or at minimum:
git status, check for uncommitted work - Generate
/handoffif continuing later
- Keep Claude Code updated (it auto-updates, but check)
- Read the changelog for new features
- Review your
LEARNED.md— prune stale rules
- Use a capable terminal: iTerm2, Ghostty, Warp, or Kitty
- Avoid IDE embedded terminals for heavy Claude Code sessions
- tmux for split pane agent teams
- Short alias:
alias c='claude'
/usageto check plan limits/costfor API key users- Watch for fast mode billing (charges extra usage from first token)
- Run
/insightsto see correction trends - Identify hot learnings (corrected often, not learned)
- Prune cold learnings (learned but never applied)
- Keep root CLAUDE.md under 150 lines
- Move specialized knowledge to package-level CLAUDE.md files
- Move personal preferences to CLAUDE.local.md (gitignored)
- Try a different model — switch to Opus for hard problems
- Use
ultrathinkin your prompt for maximum reasoning - Provide a screenshot (Claude is multimodal)
- Share browser console logs via MCP
- Start a fresh session with more targeted context
- Run
/compactmanually - Or start a new session with
/resume - Set
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=50for proactive compaction - Use subagents to isolate heavy output (test results, logs)
/doctorfor configuration issues- Try a different approach — don't brute force
- Use the
debuggeragent for systematic investigation - Check if it's a model limitation vs. a prompt issue
- Ask Claude to "think step by step about why this isn't working"
| Terminal | Platform | Why |
|---|---|---|
| iTerm2 | macOS | Split panes, tmux integration |
| Ghostty | macOS/Linux | Fast, GPU-rendered |
| Warp | macOS | AI-native, blocks |
| Kitty | Cross-platform | GPU-rendered, scriptable |
| Windows Terminal | Windows | WSL support |
If you have voice mode access:
/voiceto enable- Hold spacebar → speak → release
- Great for: describing bugs, architecture discussions, code reviews
- Mix with typed input for precise file paths
The most productive setup uses multiple tools:
Primary editor (Cursor/VS Code)
├── Tab completions for small edits
├── Inline chat for quick questions
└── Claude Code in terminal for:
├── Multi-file changes
├── Debugging hard issues
├── Architecture decisions
└── CI/CD and git operations
| Don't | Do Instead |
|---|---|
| Skip quality gates to save time | Gates prevent more corrections later |
Use dontAsk permission mode daily |
Use default with specific allow rules |
| Load 15+ MCP servers | Keep <10 active, disable unused |
| Compact mid-task | Compact at task boundaries |
| Fight the AI on style | Add rules to CLAUDE.md instead |
| Use one huge CLAUDE.md | Split into root + package-level files |
| Ignore the correction pattern | Every correction is a learning opportunity |