Simple features need simple plans. But what about complex features in unfamiliar territory? When you're building something you don't fully understand yet, you need a different approach: research-first planning.
🤔 When Planning Isn't Enough
You've learned the basic planning step: "Create a plan for X." That works great when:
- The feature is straightforward
- You know the technology
- The approach is obvious
But what about:
- "Add authentication with OAuth" (you've never done OAuth)
- "Make this work offline" (service workers? local-first? what?)
- "Connect to the Salesforce API" (which endpoint? how does auth work?)
- "Add real-time collaboration" (WebSockets? Server-Sent Events? Firebase?)
✨ The Problem
You can't plan what you don't understand. Before creating an implementation plan, you need a research plan.
🔬 The Research-First Approach
For complex or unfamiliar features, add a research step BEFORE planning:
Enhanced Planning Process
📖 Complete Example: Adding OAuth
Let's watch research-first planning in action:
Task: Add "Sign in with Google" to a to-do app
Challenge: Never implemented OAuth before
Prompt: "I want to add 'Sign in with Google' OAuth to my to-do list app. Before creating an implementation plan, research and explain:
1. What OAuth is and how it works conceptually
2. What I need from Google (credentials, setup)
3. What options exist for implementing it (libraries, approaches)
4. What the simplest approach would be for a static web app
Give me a research summary, not a plan yet."
Claude researches and explains:
• OAuth basics (redirect flow, tokens)
• Need Google Cloud Project + OAuth credentials
• Options: google-auth-library, firebase-auth, or raw OAuth flow
• For static app: Use Firebase Auth (simplest) or Google Identity Services
• Recommendation: Google Identity Services (newest, simplest)
User now understands the landscape
Prompt: "Based on your research, I'll use Google Identity Services. What are the tradeoffs?"
Claude explains:
• Pros: Simplest setup, maintained by Google, works for static sites
• Cons: Less control than OAuth library, Google-only (not generic OAuth)
• Good choice for this use case
Decision made with confidence
Prompt: "Now create a step-by-step implementation plan for adding Google Sign-In using Google Identity Services."
Claude creates detailed plan:
1. Get credentials from Google Cloud Console
2. Add Google Identity Services script to HTML
3. Create sign-in button
4. Handle sign-in callback
5. Store user info in localStorage
6. Add sign-out functionality
7. Update UI to show signed-in state
Clear roadmap ready to execute
Prompt: "Let's implement step 1: getting credentials."
Claude guides through Google Cloud Console setup.
Then implements each step incrementally.
User tests after each step.
Result: Working Google Sign-In
✅ Why This Worked
Research phase explored options WITHOUT committing to code. Decision phase chose approach with eyes open. Plan phase provided clear steps. Build phase executed confidently.
🎯 Research Prompting Patterns
Effective research prompts have a structure:
⚡ Pro Tip: Separate Research from Implementation
Explicitly say "research only, don't write code yet." This keeps Claude in exploration mode rather than jumping to implementation.
📊 Simple vs. Complex Features
| Simple (Plan → Build) | Complex (Research → Decide → Plan → Build) |
|---|---|
| Add a delete button | Add OAuth authentication |
| Change button colors | Make app work offline |
| Add a new field to form | Connect to external API |
| Display data in a table | Add real-time sync |
🔍 Using Web Search in Research
Claude Code has web search. Use it during research:
When to use web search:
- New or rapidly-changing technologies
- Finding current library versions
- Checking if an approach is still recommended
- Learning about breaking changes
🧩 Decomposition Strategies
Breaking complex features into pieces:
🎯 Feature Decomposition Framework
What's the absolute simplest version that proves the concept?
Example: OAuth → Just show "signed in as [name]" first
What external things do you need? (APIs, credentials, libraries)
Example: OAuth → Google Cloud Project, client ID, redirect URI
Where does data come from? Where does it go?
Example: OAuth → Google → token → localStorage → UI
Where do you have choices to make?
Example: OAuth → Which library? Where to store tokens? How long valid?
What can you build and test independently?
Phase 1: Sign in. Phase 2: Sign out. Phase 3: Persist across sessions.
⚠️ Research Anti-Patterns
❌ Research paralysis
Researching for 2 hours without deciding. Set a time limit: 15-20 minutes of research, then decide and move forward.
❌ Premature implementation
"Just start coding and figure it out" leads to rewrites. Spend 15 minutes researching to save 2 hours rebuilding.
❌ Analysis without synthesis
Research that doesn't lead to a clear recommendation. Always end research with: "Based on this, I recommend..."
📋 Research Checklist
Before moving from research to planning, verify:
Research Complete When:
🎯 Practice: Your Research Prompt
Think of a complex feature you want to build:
🎯 Write a Research Prompt
What do you want to build but don't fully understand how?
Pick something genuinely unfamiliar, not just "add a button."
Use the pattern: "I want to [goal]. Before planning, research: 1) What is it? 2) What are my options? 3) What are tradeoffs? 4) What's simplest for [constraints]?"
If you have Claude Code available, try the prompt. See what research comes back.
Did you learn what you needed? Can you now make an informed decision? If not, refine the prompt and try again.
📚 Resources & Further Learning
- Stop Coding and Start Planning (Every.to) Why planning saves time
- Think Like a Senior Engineer (Every.to) Advanced planning techniques
- Complex Tool Use (Anthropic) Official docs on advanced prompting
💭 Pause & Reflect
Before moving on, take a moment to consider:
- Can you think of a time when jumping straight to building caused problems?
- What features have you avoided because they seemed too complex to understand?
- How would a research phase change your confidence tackling unfamiliar technology?
🎯 Advanced Planning Mastered
You can now tackle complex features with confidence. Next: Specialized AI agents for different tasks.
Topic 5.2 Complete • Up Next: 5.3 – Working with Subagents