Workflow
Think First
Plan before prompting to improve accuracy and reduce rework.
Overview
Jumping straight into implementation without planning leads to rework, missed requirements, and suboptimal solutions. The Think First workflow ensures Claude understands the problem, considers alternatives, and gets your approval before writing code. This upfront investment in planning saves hours of iteration and produces better outcomes aligned with your actual needs.
Use this workflow for complex features, architectural decisions, refactoring initiatives, performance optimizations, or any task where the approach matters as much as the execution.
Step-by-step process
Define the goal and success criteria
Start by clearly articulating what you're trying to achieve and how you'll know when it's done. Include constraints, requirements, and any non-negotiables.
Ask for a plan before any edits
Request that Claude propose an approach, explain tradeoffs, and identify potential issues before touching any code. This is where you catch problems early.
Validate the plan and then execute
Review Claude's proposal, ask clarifying questions, suggest modifications, and only proceed once you're confident in the approach.
Review progress and adjust
After each implementation phase, verify it matches the plan and update the plan if you discover new requirements or better approaches.
Example prompts
"We need a comment system for our blog. Before coding, analyze: what data needs to be stored, how to handle nested replies, moderation needs, notification requirements, and whether to build custom or integrate an existing service. Recommend an approach with reasoning."
"Our homepage loads slowly (3+ seconds). Before making changes, profile the application and create an optimization plan prioritized by impact. For each optimization, estimate effort and expected improvement. Get my approval before implementing."
"We're outgrowing our monolithic Node.js app. Propose a migration strategy to microservices. Cover: which services to extract first, data separation challenges, deployment complexity, and a phased rollout plan. I want to understand risks before committing."
"We need a date picker component. Research 3-4 popular options (react-datepicker, react-day-picker, etc.) and compare: bundle size, customization, accessibility, maintenance status, and licensing. Recommend one with justification."
Expected outputs
Approved plan
Detailed approach document covering implementation strategy, tradeoffs analyzed, alternatives considered, and risks identified
Clear scope
Precise boundaries of what's included and excluded, preventing scope creep and ensuring alignment on deliverables
Fewer reworks
Reduced iteration cycles because planning caught issues before code was written, saving development time
Better solutions
Higher quality outcomes from considering multiple approaches and choosing the best fit for your constraints
Best practices
Common pitfalls
Skipping planning for 'quick' tasks
Solution: Quick tasks often reveal hidden complexity. Even 5 minutes of planning prevents hours of rework on seemingly simple changes.
Not reviewing plans critically
Solution: Challenge assumptions. Ask: 'What could go wrong? What are we not considering? Are there simpler approaches?'
Proceeding despite unclear requirements
Solution: If the plan reveals ambiguity in requirements, stop and clarify before continuing. Ambiguity compounds during implementation.
Pro tips
Use planning as a learning tool
""Explain the authentication plan like I'm junior developer. I want to understand the security concepts behind each decision, not just the implementation.""
Request multiple approaches
""Propose 3 different approaches to solving this: a quick MVP solution, a robust production solution, and a future-proof scalable solution. Compare them.""
Plan for failure modes
""For this payment integration plan, add a section covering: what happens if the payment provider is down, how we handle partial failures, and our retry strategy.""