The Ultimate Claude Code Tips Collection (Advent of Claude 2025)
Full Credit: This article is a summary of Ado's fantastic "Advent of Claude" series, where he shared daily Claude Code tips throughout December 2025. Ado is a Developer Relations professional at Anthropic. All tips originate from his Twitter/X posts - I'm simply organizing them into a single reference guide.
Throughout December 2025, Ado (@adocomplete) posted daily Claude Code tips in his "Advent of Claude" series. This article consolidates all 31 tips into a comprehensive reference guide.
Day 1: The ! Prefix - Instant Bash Execution
Don't waste tokens asking Claude to run commands. The ! prefix executes bash instantly and injects output into context.
# Instead of: "Can you run git status?"
# Just type:
!git status
# Or check test results directly:
!npm test
# View logs:
!tail -50 app.log
Why it matters: No model processing, no delay, no wasted tokens. The output goes straight into context.
Day 2: Double Esc - Rewind
Made a mess? Press Esc twice to jump back to a checkpoint.
Esc Esc
You can rewind:
- Just the conversation
- Just the code
- Or both
Try experimental approaches freely. Escape hatch always available.
Day 3: Extended Thinking (API)
For API usage, enable thinking to see Claude's reasoning process.
const response = await client.messages.create({
model: "claude-sonnet-4-20250514",
max_tokens: 8000,
thinking: {
type: "enabled",
budget_tokens: 5000
},
messages: [{ role: "user", content: "..." }]
});
Claude shows step-by-step reasoning in thinking blocks before responding.
Day 4: Continue & Resume Sessions
Never lose your work when the terminal closes.
# Pick up your last conversation instantly
claude --continue
# Choose from past sessions with a picker
claude --resume
Context preserved. Conversation intact. Keep going.
Day 5: The # Prefix - Save to Memory
Start your message with # to save information to Claude's memory permanently.
# Always use pnpm instead of npm in this project
# The API endpoint is https://api.example.com/v2
# Run tests with: pytest -v --cov
Claude will ask where to save it (project CLAUDE.md, user settings, etc.). Memory updated. Keep coding.
Day 6: /vim - Vim Mode
Enable vim-style editing for faster prompt composition.
/vim
Enables:
-
h j k l- Navigate -
ciw- Change inner word -
dd- Delete line -
w b- Word navigation -
yy p- Yank and paste
Stop reaching for the mouse.
Day 7: Headless Mode with -p
Run Claude Code in scripts, CI/CD pipelines, or automation workflows.
# Direct prompt execution
claude -p "Fix the lint errors"
# Pipe input for context
git diff | claude -p "Explain these changes"
# Use in CI/CD
cat error.log | claude -p "Diagnose this error and suggest fixes"
Day 8: /context - Visualize Token Usage
See exactly what's consuming your context window.
/context
Displays breakdown of:
- System prompt size
- MCP server overhead
- Memory files loaded
- Conversation history
- Available space remaining
Pro tip: MCP tools can consume 8-30% of context just by being available. Remove unused ones.
Day 9: The & Prefix - Send to Cloud
Prefix prompts with & to offload tasks to Claude Code on the Web.
# Send a task to run in the cloud
& Refactor the authentication module
# Later, pull it back locally
claude --teleport session_abc123
Work continues locally while Claude works remotely. Best of both worlds.
Day 10: /stats - Usage Analytics
View your Claude Code usage statistics.
/stats
Displays an activity graph of your usage. "Orange is the new green."
Day 11: Named Sessions
Give your sessions meaningful names for easy retrieval.
# Name your current session
/rename api-migration
# Resume by name later
/resume api-migration
# Or from command line:
claude --resume api-migration
Your branches have names. Your sessions should too.
Day 12: Ultrathink - Control Thinking Depth
Control how hard Claude thinks with magic words anywhere in your prompt.
| Keyword | Thinking Tokens |
|---|---|
| "think" | 4,000 |
| "think hard" | 10,000 |
| "ultrathink" | 31,999 |
ultrathink - Review this architecture and identify potential scaling issues
More thinking = more thorough analysis for complex problems.
Day 13: Ctrl+S - Prompt Stashing
Like git stash, but for your prompts.
Ctrl+S → Saves your current draft
→ Send something else
→ Draft auto-restores
No more copying to a scratchpad. No more losing your train of thought.
Day 14: /statusline - Custom Status Bar
Customize the status bar below the input.
/statusline
Configure via settings to display:
- Git branch and status
- Current model
- Token count
- Custom metrics (weather, Bitcoin price, anything)
Day 15: YOLO Mode
Tired of Claude asking permission for everything?
claude --dangerously-skip-permissions
Auto-approves all actions. Use with caution. Great for trusted, repetitive workflows.
Day 16: Hooks - Lifecycle Events
Configure shell commands that run at specific lifecycle events.
/hooks
Or configure in .claude/settings.json:
{
"hooks": {
"PreToolUse": ["./scripts/check-secrets.sh"],
"PostToolUse": ["./scripts/format-code.sh"],
"UserPromptSubmit": ["./scripts/validate-prompt.sh"]
}
}
Use cases:
- Block dangerous commands (
rm -rf) - Auto-format after edits
- Filter sensitive data from prompts
- Send notifications
Day 17: @ Mentions - Context on Demand
The @ symbol is your fastest path to adding context.
# Add files to context
@src/api/auth.ts
@package.json
# List directory contents
@src/components/
# Manage MCP servers
@mcp-server enable
@my-subagent invoke
Add one or many files instantly. List directories. Enable/disable MCP servers and subagents.
Day 18: Prompt Suggestions - Predictive Follow-ups
Claude can predict what you'll ask next.
Finish a task → see a grayed-out follow-up suggestion appear
Tab → Accept and edit the suggestion
Enter → Accept and run immediately
Tab used to autocomplete your code. Now it autocompletes your workflow.
Day 19: /chrome - Browser Integration
Let Claude interact directly with your browser.
/chrome
Claude can now:
- Navigate to URLs
- Click buttons and links
- Read console errors
- Inspect the DOM
- Fill forms
- Take screenshots
"Fix the bug and verify it works" becomes one prompt.
Day 20: Agent Skills
Skills are folders of instructions, scripts, and resources that teach Claude specialized tasks.
.claude/skills/
├── api-design/
│ ├── SKILL.md
│ └── templates/
├── testing/
│ ├── SKILL.md
│ └── examples/
Packaged once. Usable everywhere. Agent skills are now an open standard.
Best practices:
- Keep SKILL.md under 500 lines
- Include concrete examples
- Use progressive disclosure
- Test across models
Day 21: Plugins
Install complete setups with a single command.
/plugin install my-setup
Plugins bundle:
- Commands
- Agents
- Skills
- Hooks
- MCP configurations
Discover new workflows via the marketplace.
Day 22: Ctrl+R - Reverse Search
Search through your prompt history.
Ctrl+R → Start search
Ctrl+R → Cycle through matches
Enter → Run the prompt
Tab → Edit first
Don't retype. Recall.
Day 23: /init - Auto-Generate Documentation
Claude reads your codebase and writes its own onboarding docs.
/init
Generates a CLAUDE.md file containing:
- Build commands
- Test instructions
- Key directories
- Project conventions
- Common workflows
Everybody needs onboarding docs. With /init, Claude writes its own.
Day 24: /export - Conversation to Markdown
Dump your entire conversation for documentation.
/export
Exports to markdown:
- Every prompt you sent
- Every response received
- Every tool call made
Useful for documentation, training, or proving you did try that already.
Day 25: Subagents
Delegate tasks to parallel subagents.
Each subagent gets:
- Its own 200k context window
- Independent execution
- Results merged back to main conversation
Perfect for:
- Parallel code exploration
- Concurrent review operations
- Multi-file analysis
Day 26: Custom Commands
Save prompts as reusable slash commands.
Create markdown files that become commands:
<!-- .claude/commands/review.md -->
---
description: Review code for best practices
arguments:
- name: file
description: File to review
---
Review {{file}} for:
1. Security vulnerabilities
2. Performance issues
3. Code style
Then use:
/review src/api/auth.ts
Day 27: /sandbox - Controlled Freedom
Tired of approving every single action?
"Can I run npm install?" [Allow]
"Can I run npm test?" [Allow]
"Can I cat this file?" [Allow]
×100
Instead:
/sandbox
Define boundaries once. Claude works freely inside them.
YOLO speed. Actual security.
Day 28: /usage - Check Your Limits
Monitor your usage to avoid hitting limits unexpectedly.
/usage
Shows current usage against your plan limits.
Day 29: Plan Mode - Think First, Execute Later
Clear the fog of war first.
Shift+Tab twice → Plan mode
In Plan mode, Claude can:
- Read files
- Search code
- Analyze patterns
- Explore your codebase
But it won't edit anything.
Think twice. Execute once.
Seriously though, I default to plan mode 90% of the time. — Ado
Day 30: LSP - Language Server Protocol
Claude Code now integrates with Language Server Protocol for smarter code intelligence.
LSP provides:
- Instant diagnostics - See errors and warnings as they happen
- Navigation - Go to definition, find references, and more
Claude doesn't just read your code—it understands it like your IDE does.
Day 31: Claude Agent SDK - Build Your Own
I saved the best for last.
The same agent loop, tools, and context management that power Claude Code is available as an SDK.
# Build agents that work like Claude Code
# in as little as 10 lines of code
Build agents that work like Claude Code in as little as 10 lines of code.
This is just the beginning.
Quick Reference Table
| Day | Feature | Command/Shortcut |
|---|---|---|
| 1 | Instant Bash | !command |
| 2 | Rewind | Esc Esc |
| 3 | Extended Thinking | API config |
| 4 | Resume Session |
--continue / --resume
|
| 5 | Save to Memory | #message |
| 6 | Vim Mode | /vim |
| 7 | Headless Mode | -p "prompt" |
| 8 | Context View | /context |
| 9 | Cloud Offload |
&prompt / --teleport
|
| 10 | Usage Stats | /stats |
| 11 | Named Sessions |
/rename / /resume
|
| 12 | Deep Thinking | ultrathink |
| 13 | Stash Prompt | Ctrl+S |
| 14 | Status Bar | /statusline |
| 15 | Skip Permissions | --dangerously-skip-permissions |
| 16 | Lifecycle Hooks | /hooks |
| 17 | Add Context |
@file / @dir/
|
| 18 | Prompt Suggestions |
Tab / Enter
|
| 19 | Browser Control | /chrome |
| 20 | Agent Skills | .claude/skills/ |
| 21 | Plugins | /plugin install |
| 22 | History Search | Ctrl+R |
| 23 | Auto Docs | /init |
| 24 | Export Chat | /export |
| 25 | Parallel Agents | Subagents |
| 26 | Custom Commands | .claude/commands/ |
| 27 | Sandbox Mode | /sandbox |
| 28 | Check Limits | /usage |
| 29 | Plan Mode |
Shift+Tab twice |
| 30 | LSP Integration | Language Server Protocol |
| 31 | Agent SDK | SDK |
Conclusion
Massive thanks to Ado for creating and sharing the Advent of Claude series. These tips have leveled up how developers use Claude Code.
For the latest tips and updates, follow Ado on X: @adocomplete
This article is a community summary of Ado's original Advent of Claude series. All credit for these tips goes to Ado and the Claude Code team at Anthropic.
Top comments (0)