📊 Track Your Claude Code Journey
Claude Code Co-Pilot, Productivity Trends, Long-Term AI Insights → vibe-log.dev
CORE PROMPTING PRINCIPLES
Be Clear & Specific
Exact wants: "React auth component" vs "login thing"
Sequential: Break into numbered steps
Context: Framework, language, constraints
Output: "Only code" or "With comments"
❌ AVOID
fix the bug
make it better
optimize this
✅ PREFER
fix race in auth.js:42
optimize SQL indexes
add error unit tests
Few-Shot Prompting (Teach by Example)
> Create API endpoints following this pattern:
> Example 1: GET /users/{id} - Returns user data
> Example 2: POST /users - Creates new user
> Now create endpoints for: products, orders
Golden Rule: Specificity upfront = fewer fixes
Pro Tip: Press @ in Claude Code to quickly reference files and folders in your workspace (e.g., @app.js, @src/components)
CODEBASE ONBOARDING
Initialize New Projects
/init - Automatically reads all files and creates a comprehensive CLAUDE.md
Claude analyzes your codebase structure, patterns, and conventions to generate project-specific guidelines.
Questions That Work (No special prompting needed)
"How does logging work in this codebase?"
"How do I make a new API endpoint following the existing patterns?"
"What does async move { ... } do on line 134 of foo.rs?"
"What edge cases does CustomerOnboardingFlowImpl handle?"
"Why are we calling foo() instead of bar() on line 333?"
"What's the equivalent of line 334 of baz.py in Java?"
COURSE CORRECTION TOOLS
Essential Tools
1. Plan Mode
Shift+Tab+Tab
Forces thoughtful planning before implementation
2. Escape
Press Escape key
Interrupt any phase, preserves context
3. Esc+Esc
Press Escape twice
Jump back in history, edit previous prompts
4. Undo
"Undo the last changes and try a different approach"
Brainstorm: Explain problem space, not solutions. Let Claude suggest approaches with collaborative discussion.
ASCII Wireframe: Before any code, request ASCII art wireframes. Lightning fast iterations with minimal token usage.
Plan³: Shift+Tab+Tab (plan mode) → @ tag brainstorm file → Ask Claude to ask YOU clarifying questions first.
Test: Implement and verify the solution works as planned. Run tests, check edge cases, validate against requirements.
Ship: With tested implementation, deploy with confidence knowing it works correctly.
Track: Use npx vibe-log-cli@latest to automatically capture sessions and see if your Anti-YOLO approach is actually making you more productive over time. GitHub →
⚠️ Critical Rule:
Read the plan twice. If you change nothing, you're probably missing something. Test thoroughly before shipping.
SOLO DEV/STARTUP/POC MODE HIGH ROI
🙏 Community Resources: Anti-bloat CLAUDE.md saves tokens by u/AshxReddit (150+ upvotes) Vibe-Log - See if you're actually shipping faster with productivity tracking
The Problem: Claude over-engineers simple solutions (59 test cases for a button!), burning tokens aggressively.
CLAUDE.md for Solo Developers
# Claude Code Instructions## Context
- I am a solo developer working on personal/small projects
- This is NOT an enterprise-level project
- I prefer simple, direct solutions over "best practices"
- I'm a vibe coder who values shipping over perfect architecture
## Default Approach
- Always assume this is a POC (Proof of Concept) unless explicitly told otherwise
- Keep it simple and direct - don't overthink it
- Start with the most obvious solution that works
- No frameworks unless absolutely necessary
- Prefer single files over multiple files when reasonable
- Hardcode reasonable defaults instead of building configuration systems
## CRITICAL ANTI-BLOAT RULES
- As this is an early-stage startup, YOU MUST prioritize simple, readable code with minimal abstraction—avoid premature optimization. Strive for elegant, minimal solutions that reduce complexity. Focus on clear implementation that's easy to understand and iterate on as the product evolves.
- DO NOT preserve backward compatibility unless the user specifically requests it
## What NOT to do
- Don't add abstractions until we actually need them
- Don't build for imaginary future requirements
- Don't add complex error handling for edge cases that probably won't happen
- Don't suggest design patterns unless the problem actually requires them
- Don't optimize prematurely
- Don't add configuration for things that rarely change
- Don't preserve backward compatibility by default
## Language to Use
- "Quick POC to test if this works"
- "Throwaway prototype"
- "Just make it work"
- "The dumbest thing that works"
- "Keep it simple and direct"
## When in Doubt
Ask: "Would copy-pasting this code be simpler than making it generic?"
If yes, copy-paste it.
## Transition Guidelines (POC → MVP)
If the POC works and needs to become more robust:
- Add basic error handling (try/catch, input validation)
- Improve user-facing messages
- Extract functions only for readability, not for "reusability"
- Keep the same simple approach - just make it more reliable
Anti-Bloat Prompt Template
"You MUST strive for elegant, minimal solutions that eliminate complexity and bugs. Remove all backward compatibility and legacy code. YOU MUST prioritize simple, readable code with minimal abstraction—avoid premature optimization."
Plan → Create CLAUDE.md/TODO.md → Execute small chunks → Commit often. Built a SaaS in 20 days.
Plan Like a Co-founder: Brainstorm in Claude chat. Rate ideas 1-10. Pick simple stack.
Create Battle Plan: "Create CLAUDE.md and TODO_MVP.md with all phases and steps."
Execute Small Bites: Feed Claude Code 3-5 tasks max. Use planning mode.
Watch Context: Reset at 20% context. Update CLAUDE.md. Run /clear and continue.
⚠️ Critical: Never dump 20+ tasks at once. Claude loses focus after task 5.
STATUSLINES & MONITORING
Enhanced Terminal Experience
Add visual feedback and monitoring to your Claude Code sessions with these community-built statuslines.
Vibe-Log's Co-Pilot
npx vibe-log-cli
Uses your local Claude Code to provide strategic guidance that pushes you to ship faster. It remembers your original goal and gives concrete, actionable steps to achieve it. Helps you stay focused.
Specialized Claude instances with focused expertise, like having a senior specialist on-call for specific tasks.
Generate Subagent
claude --subagent "You are a database migration expert"
Claude creates optimized subagent config
Use Subagent
/user:db-expert "Optimize this query"
Invoke specialist for focused tasks
Example Subagents
Performance Optimizer
# ~/.claude/subagents/perf.md
You are a performance optimization specialist. Focus exclusively on:
- Query optimization and indexing strategies
- Caching patterns and cache invalidation
- Database connection pooling
- N+1 query detection and resolution
- Explain query plans in simple terms
Always provide before/after metrics estimates.
Security Auditor
# ~/.claude/subagents/security.md
You are a security auditor. Review code for:
- SQL injection vulnerabilities
- XSS attack vectors
- Authentication/authorization flaws
- Sensitive data exposure
- Rate limiting gaps
Provide specific fixes, not general advice.
Best Practices
Single Responsibility: Each subagent should have one clear focus
Specific Instructions: More specific = better results
Start with Claude: Let Claude generate the initial subagent, then customize
Test & Iterate: Refine based on actual usage
VERSION CONTROL SAFETY
Commit Early, Commit Often
Critical:
Claude can rewrite files incorrectly. Without frequent commits, you lose hours of work in seconds.
Safety Prompt
"Before any code changes, commit current state: git commit -am 'WIP'. After each working change, commit immediately with descriptive message. Always create new branch for new features."
New Feature = New Branch
git checkout -b feature-name
Before Claude
git commit -am "Checkpoint before Claude"
After Success
git commit -am "Working: feature complete"
Quick Recovery
git reset --hard HEAD
Golden Rule: If Claude made something work, commit it IMMEDIATELY. Clean up history later.
The Problem: Claude acts like an overly eager junior dev - agrees with everything, adds unnecessary comments, praises obvious code, and jumps straight to implementation without planning.
Global Context Template
# Global Context## Role & Communication Style
You are a senior software engineer collaborating with a peer. Prioritize thorough planning and alignment before implementation. Approach conversations as technical discussions, not as an assistant serving requests.
## Development Process
1. Plan First: Always start with discussing the approach
2. Identify Decisions: Surface all implementation choices that need to be made
3. Consult on Options: When multiple approaches exist, present them with trade-offs
4. Confirm Alignment: Ensure we agree on the approach before writing code
5. Then Implement: Only write code after we've aligned on the plan
## Core Behaviors
- Break down features into clear tasks before implementing
- Ask about preferences for: data structures, patterns, libraries, error handling, naming conventions
- Surface assumptions explicitly and get confirmation
- Provide constructive criticism when you spot issues
- Push back on flawed logic or problematic approaches
- When changes are purely stylistic/preferential, acknowledge them as such ("Sure, I'll use that approach" rather than "You're absolutely right")
- Present trade-offs objectively without defaulting to agreement
## When Planning
- Present multiple options with pros/cons when they exist
- Call out edge cases and how we should handle them
- Ask clarifying questions rather than making assumptions
- Question design decisions that seem suboptimal
- Share opinions on best practices, but acknowledge when something is opinion vs fact
## When Implementing (after alignment)
- Follow the agreed-upon plan precisely
- If you discover an unforeseen issue, stop and discuss
- Note concerns inline if you see them during implementation
## What NOT to do
- Don't jump straight to code without discussing approach
- Don't make architectural decisions unilaterally
- Don't start responses with praise ("Great question!", "Excellent point!")
- Don't validate every decision as "absolutely right" or "perfect"
- Don't agree just to be agreeable
- Don't hedge criticism excessively - be direct but professional
- Don't treat subjective preferences as objective improvements
## Technical Discussion Guidelines
- Assume I understand common programming concepts without over-explaining
- Point out potential bugs, performance issues, or maintainability concerns
- Be direct with feedback rather than couching it in niceties
## Context About Me
- Mid-level software engineer with experience across multiple tech stacks
- Prefer thorough planning to minimize code revisions
- Want to be consulted on implementation decisions
- Comfortable with technical discussions and constructive feedback
- Looking for genuine technical dialogue, not validation
Pro Tips:
Press # in Claude Code to quickly reference files (e.g., #CLAUDE.md loads your config). This template transforms Claude from an eager assistant into a thoughtful peer who plans before coding.
CLAUDE CODE COMMANDS
Session Management
Continue Last Conversation
claude --continue
Resume exactly where you left off
Continue with Prompt
claude --continue --print "Show me our progress"
Continue with specific instruction
YOLO Mode (Danger Zone)
⚠️ Warning: Skips ALL permission prompts. Claude will automatically edit, delete, and execute without asking. Use only when you fully trust the outcome.
claude --skip-permission dangerously
Perfect for repetitive tasks where you know exactly what needs to be done. Dangerous for exploratory work.
Thinking Modes (Magic Words)
Add these keywords to your prompts to trigger extended thinking. Claude will show its thought process in teal boxes.
"think"
"Let's think step by step about this"
~4,000 tokens for reasoning
"think hard" / "megathink"
"Think hard about the best approach"
~10,000 tokens for deeper analysis
"think harder"
"Think harder about this architecture"
Extended reasoning budget
"ultrathink"
"Ultrathink: solve this complex issue"
Maximum 31,999 tokens (45-180s)
When to Use:
• Basic "think": Syntax fixes, simple refactoring
• "Megathink": Architectural decisions, complex debugging
• "Ultrathink": System design, performance optimization, intractable problems
Note:
These are prompt keywords, NOT CLI flags. Just include them in your message. Performance follows logarithmic curve - megathink often provides optimal balance.
PERFORMANCE OPTIMIZATION
Commit frequently: Save work before/after Claude changes
Stagger requests: Break large features into 3-4 focused requests
Front-load context: Provide all information upfront
Use role setting once: Set expertise at session start
Leverage history: --continue is faster than re-explaining
Trust inference: Claude understands intent; over-explaining slows you down
Common Pitfalls to Avoid
❌ Not committing before Claude sessions
❌ Explaining basic programming concepts
❌ Using thinking modes for simple tasks
❌ Creating new sessions for related work
❌ Waiting for "perfect" code before committing
❌ Taking longshots with big oneshot features (break it down to small controllable and reviewable tasks)
❌ Not spreading rules across folders
Pro Tip: Track your productivity improvements with npx vibe-log-cli@latest to see if your optimizations are actually making you faster. GitHub →
🚀 Got a Claude Code hack?
Share your battle-tested workflows, game-changing repos, productivity tricks & tips with the community