Claude Code Tips Straight from the Developer
AI agent productivity maximization strategies revealed by Boris, the Claude Code developer
Here are the core principles and practical know-how for AI agent utilization revealed by Boris from Anthropic, who actually built Claude Code. Learn how to truly maximize productivity, not just generate code.
1. The Most Important Principle: Always Provide Verification Methods
Many people get disappointed when Claude doesn't complete a task 100% as instructed. But this is the same when working with human developers.
The key is to provide Claude with a way to verify its own work.
How to Practice
- When having it write Python code, always instruct it to write test code as well
- Simply request "Implement this feature and write tests for it"
- If you don't know what tests to write, ask Claude
- Verification methods vary by domain:
- Backend: Unit tests, integration tests
- UI: Verify actual screens with browser extensions
- Mobile: Use iOS/Android simulators
Automation
Add this to your Claude MD file so you don't have to instruct it every time:
For all feature implementations, present the verification method first before starting work,
and always run tests to verify after implementation is complete.
2. Claude MD File: The Key to Team Productivity
Boris emphasizes that the Claude MD file is "the most important feature." He and his team update this file multiple times a week.
Must-Include Content
- Tech Stack: Languages, frameworks, libraries you use
- Project Structure: Folder structure and key file locations
- Coding Style: Rules and conventions the team follows
- Most Important: Things NOT to Do
Real Example
# Things NOT to Do
- Never connect directly to production database
- No TypeScript any type usage
- Don't write inline styles in components
- Always backup package-lock.json before npm installEvery time Claude makes a mistake, add it to this file so it won't repeat the same mistake.
Team Collaboration
- Commit the
.claudefolder to Git to share with the whole team - For microservice architecture, create separate Claude MD files for each service
- Be careful not to make the file too bloated (Boris's file is about 2,500 tokens)
3. Don't Use Skip Permission
Boris surprisingly does NOT use the "Skip Permission Code" feature.
Why
Because a single terminal command in production can ruin the entire project.
Do This Instead
Leverage Claude Code's permission settings:
- ✅ Always Allow:
npm test,git status,git diff - ❓ Confirm Before Running:
npm install,git push,rm -rf - ❌ Completely Block:
rm -rf /, production deployment commands
These settings are saved in .claude/settings.yaml file, so you can share with your team.
4. Claude Code Is Not Just for Code
Boris jokes that Claude Code is "one of the most poorly named products" at Anthropic. In reality, it's an orchestrator that controls entire workflows.
Use Cases
- Automated Slack messaging
- Jira ticket creation and updates
- Sentry error analysis and response
- Notion database creation and management
- Business market analysis report generation
All tools can be integrated and used within Claude Code through MCP servers.
5. The Right Workflow: Plan → Execute
Boris's actual workflow looks like this:
Step 1: Start with Plan Code
/plan
I want to add user authentication.
Implement with JWT token method, need login/logout/signup.
When Claude presents a detailed plan, review and approve it.
Step 2: Execute with Auto Edit Code
Once the plan is confirmed, move to execution. All file edits are automatically approved, but terminal commands still follow permission settings.
Core Principle
"All conversations with the agent should happen in the Plan phase. Only execute after the plan is validated."
6. Scale Up: Parallel Sessions
Boris runs 5 Claude Code sessions in parallel.
Parallel Work Tips
- Number each terminal tab to track which work is in progress
- Connect web version of Claude Code to GitHub to work in the cloud
- Separate long-running tasks with background agent features
- Access Claude Code sessions from your phone to check progress
Treat It Like a Junior Developer
"Work on this feature implementation in a new branch,
and create a PR when done to let me know.
You can work in the background."
When done, Claude creates a new branch, pushes all changes, and even creates the PR. Just like working with a real team member.
7. Model Selection: Use Opus 4.5
Boris uses Opus 4.5 (with Thinking enabled) for almost all tasks.
Why
- Slower than Sonnet or Haiku, but much lower probability of making errors
- As a result, total time spent on corrections and re-instructions is actually less
- Doing it right once is faster than fixing it multiple times
When to Use Other Models?
- Simple searches or file reading: Haiku
- General code writing: Sonnet
- Complex architecture design or critical features: Opus 4.5
8. Three Ways to Manage Long-Running Tasks
Method 1: Background Verification
"Implement this feature and write tests to run in the background.
Let me know when tests pass."
Method 2: Use Stop Hooks
Set up hooks that automatically trigger verification when Claude stops output.
# .claude/settings.yaml
hooks:
on_stop:
- command: "npm test"Method 3: Linters and Formatters
Automatically run linters and formatters for various languages to verify code format.
hooks:
on_edit:
- command: "prettier --write {file}"
- command: "eslint --fix {file}"Even if the model generates 99% correct code, the formatter cleans up the remaining 1%.
9. Achieve 90% Productivity with Simple Built-in Features
Claude Code's basic features alone are sufficient without complex setup.
Use Slash Commands
Make slash commands for tasks you repeat multiple times a day:
# .claude/commands/commit.md
Review current changes, write meaningful commit message and commit.
Run tests before committing, commit only if they pass.Just type /commit to use it.
Sub-Agents
Boris uses sub-agents for:
- Code Architecture Verification: Check if written code follows design principles
- Refactoring: Improve existing code while maintaining functionality
- Final Build Verification: Check that everything works before deployment
Don't overuse. Only use when you really need different instructions.
10. Strengthen Team Learning with GitHub Integration
With Claude Code GitHub Action, you can learn even during PR review process.
How to Practice
When you find mistakes during PR review:
"Add these mistakes to the Claude MD file.
So we don't make these mistakes again."
Claude automatically updates the Claude MD file, and the whole team shares the lesson.
Conclusion: Treat Claude Code Like a Junior Developer
Boris's core philosophy is simple:
"Treat Claude Code not as a simple code generation tool, but as a junior developer who grows through feedback and verification."
Action Checklist
- Provide verification methods for all tasks
- Accumulate team knowledge in Claude MD file
- Start with Plan Code, execute with Auto Edit Code
- Establish safety measures with permission settings
- Use Opus 4.5 for important tasks
- Automate repetitive tasks with slash commands
- Ensure code quality with linters/formatters
By following these principles, Claude Code will become not just a simple tool, but a true development partner that improves your productivity by 10x or more.
This article is based on X posts by Boris, the Claude Code developer at Anthropic.