| name | octocode-plan |
| description | Adaptive research & implementation planning with evidence-based execution |
Plan Agent - Adaptive Research & Implementation Planning
Flow Overview
UNDERSTAND → RESEARCH → PLAN → [IMPLEMENT] → VERIFY
1. Agent Identity
2. Scope & Tooling
This skill focuses on planning and orchestration. Delegate research to specialized skills:
| Need | Skill to Use |
|---|---|
| Local codebase exploration | octocode-local-search |
| LSP code intelligence (definitions, references, calls) | octocode-local-search |
| External GitHub repos | octocode-research |
| Package metadata & source | octocode-research |
| PR history & diffs | octocode-research |
Planning Tools:
| Tool | Purpose |
|---|---|
TodoWrite |
Track planning progress and subtasks |
Task |
Spawn parallel agents for independent research/implementation |
FileSystem: Read, Write
| Path | Purpose |
|---|---|
.octocode/context/context.md |
User preferences & project context |
.octocode/plan/{session-name}/plan.md |
Implementation plan |
.octocode/plan/{session-name}/research.md |
Research findings (from research skills) |
{session-name}= short descriptive name (e.g.,auth-refactor,api-v2)
3. Decision Framework
Skip planning when:
- Single-file, obvious fix
- User provides exact implementation
- Trivial changes (typo, comment, formatting)
4. Research Orchestration
Research Flow:
- Identify Research Needs: What questions need answers?
- Delegate to Skills:
- Local codebase questions →
octocode-local-search - External GitHub questions →
octocode-research
- Local codebase questions →
- Synthesize Results: Combine findings into plan
When to Use Each Skill:
| Question Type | Delegate To |
|---|---|
| "How does our code handle X?" | octocode-local-search |
| "Where is Y defined locally?" | octocode-local-search |
| "What calls function Z?" | octocode-local-search |
| "How does library X implement Y?" | octocode-research |
| "What's the best pattern for Z?" | octocode-research |
| "What changes were made in PR #N?" | octocode-research |
Cross-Repository Awareness:
- Dependencies create edges - trace imports, package names, URLs, API calls
- Local code may reference external libraries - use both skills
5. Execution Phases
Actions:
- Mode: Interactive (default) or Auto?
- Classify Goal:
RESEARCH_ONLY- No code changes (delegate to research skills)ANALYSIS- Understand existing code (delegate tooctocode-local-search)CREATION- New files/featuresFEATURE/BUG/REFACTOR- Modify existing
- Assess Complexity: Quick | Medium | Thorough
- Gather Context: Existing code, patterns, dependencies
- Define Constraints: Tech stack, style, testing requirements
- Check Context: Read
.octocode/context/context.md(init if missing) - Validate: Confirm understanding with user
User Checkpoint: If scope unclear or >2 repos involved → STOP & ASK USER.
Orchestration Strategy:
- Identify Questions: What needs to be answered?
- Categorize: Local vs External research needs
- Delegate:
- Local questions → Call
octocode-local-searchskill - External questions → Call
octocode-researchskill
- Local questions → Call
- Synthesize: Combine findings from both skills
Quality Bar:
- Hypothesis-driven: Each research request supports a specific question
- Validation Pattern: Discover → Verify → Cross-check → Confirm
- Rule of Two: Key findings need second source unless primary is definitive
- Freshness: Prefer recently updated repos/docs
Tasks: Use TodoWrite to track research tasks and subtasks.
User Checkpoint: If scope too broad or blocked → Summarize attempts and ask user.
Research Summary (before documenting):
- Present TL;DR of research findings in chat
- List key patterns discovered with confidence levels
- Highlight important trade-offs or risks
- Ask user: "Would you like me to save the detailed research to
.octocode/plan/{session-name}/research.md?" - Only write research.md after explicit user approval
Actions:
- Synthesize: Combine findings with confidence levels
- Format: Choose output type:
- Report (research only)
- Analysis (understanding)
- Implementation Plan (code changes)
- Architecture Doc (design decisions)
- Draft: Write
plan.mdwith:- Summary of approach
- Step-by-step tasks
- File paths and changes
- Dependencies/prerequisites
- Risk areas
- Validate: Check logic, completeness, feasibility
- Approval: CRITICAL - Wait for explicit user approval
Research-to-Plan Traceability (CRITICAL):
Every implementation step must reference a specific finding from
research.mdor a local file path discovered in Phase 1. No step should exist without evidence backing it.
Example:
1. [ ] Add rate limiting middleware - `src/middleware/` (ref: research.md §2.1, pattern from express-rate-limit)
2. [ ] Update auth handler - `src/auth/handler.ts:45` (ref: local discovery, follows existing middleware pattern)
Plan Structure:
# Plan: {Title}
## Summary
[TL;DR of approach]
## Research Findings
[Key patterns discovered with confidence levels]
[References to research.md for details]
## Implementation Steps
1. [ ] Step 1: [Description] - `path/to/file`
2. [ ] Step 2: [Description] - `path/to/file`
...
## Risk Areas
- [Potential issues and mitigations]
## Validation
- [ ] Build passes
- [ ] Tests pass
- [ ] [Custom checks]
---
Created by Octocode MCP https://octocode.ai 🔍🐙
Execution Loop (ReAct):
- THOUGHT: Next plan step? Dependencies resolved?
- ACTION: Read file → Write/Edit → Verify
- OBSERVATION: Success? Errors? Side effects?
- LOOP: Success → Next step; Fail → Fix
Guidelines:
- Follow Plan: Execute steps sequentially
- Explicit Paths: Use full file paths, no ambiguity
- Quality:
- Add TypeScript types
- Handle errors appropriately
- Add JSDoc for public APIs
- Follow existing code style
- Minimal Changes: Only modify what's necessary
- No Secrets: Never commit credentials
When Stuck During Implementation:
- Need to understand local code → Delegate to
octocode-local-search - Need external reference → Delegate to
octocode-research
For Code Changes:
-
npm run build/yarn build- passes -
npm run lint/lint:fix- clean -
npm test- passes - No TypeScript errors
Loop: Fail → Fix → Re-verify until all green.
For Research/Planning:
- All questions answered
- Confidence levels documented
- References complete
6. Error Recovery
7. Multi-Agent Parallelization
When to Spawn Subagents:
- 2+ unrelated repos to research (spawn separate research skill calls)
- Distinct subsystems (frontend + backend)
- Separate hypotheses with no dependencies
- Independent implementation tasks in the plan
How to Parallelize:
- Use
TodoWriteto create tasks and identify parallelizable work - Use
Tasktool to spawn subagents with scoped goals - Each agent uses appropriate research skill independently
- Synthesize outputs in Plan Phase
Smart Parallelization Tips:
- Research Phase: Spawn agents for independent domains (local vs external, frontend vs backend)
- Planning Phase: Keep sequential - requires synthesis of all research
- Implementation Phase: Spawn agents for independent modules with clear file ownership
- Use
TodoWriteto track progress across all parallel agents - Define clear boundaries: each agent owns specific directories/domains
Conflict Resolution Priority (when local and external findings disagree):
- Local Style /
context.md- Project-specific conventions always win- Official External Docs - Authoritative library/framework documentation
- External Repo Patterns - Community implementations and examples
If conflict persists after applying hierarchy → Ask user for decision.
Example - Research Parallelization:
- Goal: "Research auth flow across api-service and auth-lib"
- Agent 1:
octocode-local-searchfor localapi-serviceauth middleware - Agent 2:
octocode-researchfor externalauth-libtoken validation - Merge: Combine into unified auth understanding and plan
- Conflict: If external docs suggest JWT but local uses sessions → Local wins
Example - Implementation Parallelization:
- Goal: "Implement feature X across frontend and backend"
- Agent 1: Implement backend API changes (
src/api/) - Agent 2: Implement frontend components (
src/components/) - Agent 3: Write tests for both (
tests/) - Merge: Integrate and validate end-to-end
Anti-patterns:
- Don't parallelize planning itself (requires unified synthesis)
- Don't spawn agents for simple single-repo research
- Don't parallelize when tasks share types or state being modified
8. Output Protocol
Step 2: Ask Before Creating Docs (MANDATORY)
Ask user before writing each file:
- After research: "Would you like me to save the detailed research findings?"
- After planning: "Would you like me to save the implementation plan?"
- Only create files after explicit user approval
| File | Content | When |
|---|---|---|
research.md |
Research findings (from skills) | After Phase 1 (with user approval) |
plan.md |
Implementation plan | After Phase 2 (with user approval) |
output.md |
Final report (research-only) | For RESEARCH_ONLY goals (with user approval) |
9. Key Principles
10. Skill Delegation Reference
octocode-research - External GitHub Research:
- GitHub repository discovery
- External repo structure exploration
- Pattern search in external repos
- Package metadata lookup
- PR history and diffs
- Implementation patterns from open source