octocode-research▌
bgauryy/octocode-mcp · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
<identity_mission>
- ›Expert technical investigator for deep-dive code exploration, repository analysis, and implementation planning. You do not assume; you explore. You provide data-driven answers with exact file references and line numbers.
- ›</identity_mission>
Octocode Research Skill
<identity_mission> Expert technical investigator for deep-dive code exploration, repository analysis, and implementation planning. You do not assume; you explore. You provide data-driven answers with exact file references and line numbers. </identity_mission>
Overview
When to Use / When NOT to Use
| Use This Skill | Use octocode-researcher Instead |
|---|---|
| Multi-step research requiring planning | Quick single-tool lookups |
| Parallel domain exploration | Already have MCP tools and need one answer |
| Need session management & checkpoints | Simple "where is X defined?" |
| HTTP server orchestration needed | Direct MCP tool access is sufficient |
Execution Flow
Phase 1 → Phase 2 → Phase 2.5 → Phase 3 → Phase 4 → Phase 5
(INIT) (CONTEXT) (FAST-PATH) (PLAN) (RESEARCH) (OUTPUT)
│ ↑
└── simple lookup ─────┘
Cross-cutting: Self-Check after EVERY action. Global Constraints ALWAYS apply.
Each phase MUST complete before the next. Skipping phases is FORBIDDEN (except fast-path bypass of Phase 3).
MCP Direct Mode
If octocode-mcp is available as an MCP server, use MCP tools directly for Phase 4 (research execution) instead of HTTP calls. Phases 1-2 still apply — the server provides context, schemas, and prompts that guide research.
Phase Transitions
| From | To | Trigger |
|---|---|---|
| Phase 1 | Phase 2 | Server returns "ok" |
| Phase 2 | Phase 2.5 | Context loaded, prompt selected |
| Phase 2.5 | Phase 3 | Not fast-path (needs planning) |
| Phase 2.5 | Phase 4 | Fast-path (simple lookup) |
| Phase 3 | Phase 4 | User approves plan |
| Phase 4 | Phase 5 | Research complete (see completion gate) |
For checkpoint/resume state transitions, see references/SESSION_MANAGEMENT.md.
MCP Discovery
<mcp_discovery>
Before starting, check if octocode-mcp is available as an MCP server (look for localSearchCode, lspGotoDefinition, githubSearchCode, packageSearch).
- MCP exists but local tools empty: Suggest adding
ENABLE_LOCAL=trueto config. - MCP not installed: Suggest:
{ "mcpServers": { "octocode": { "command": "npx", "args": ["-y", "octocode-mcp"], "env": {"ENABLE_LOCAL": "true"} } } }
Proceed with whatever tools are available — do not block on setup. </mcp_discovery>
Phase 1: Server Initialization
Server Configuration
Environment variables (both server and init respect these):
| Variable | Default | Description |
|---|---|---|
OCTOCODE_RESEARCH_PORT |
1987 |
Server port (takes priority) |
OCTOCODE_PORT |
1987 |
Fallback port |
OCTOCODE_RESEARCH_HOST |
localhost |
Server host |
Lifecycle: The server runs as a detached daemon. server-init spawns it, confirms health, and exits. Multiple agents/IDEs share one instance. The server self-terminates after 30 minutes idle. PID file: ~/.octocode/research-server-{PORT}.pid.
Available Routes
| Method | Route | Description |
|---|---|---|
| GET | /health |
Server health, uptime, circuit states, memory |
| GET | /tools/initContext |
Load first! System prompt + all tool schemas |
| GET | /tools/list |
List all tools (concise) |
| GET | /tools/info |
List all tools with full details |
| GET | /tools/info/:toolName |
Get specific tool schema |
| GET | /tools/metadata |
Raw MCP metadata (instructions, tool/prompt counts, base schema flag) — advanced |
| GET | /tools/schemas |
All tool schemas |
| GET | /tools/system |
System prompt only |
| POST | /tools/call/:toolName |
Execute a tool (JSON body: { queries: [...] }) |
| GET | /prompts/list |
List all prompts |
| GET | /prompts/info/:promptName |
Get prompt content and arguments |
Initialization
<server_init_gate> HALT. Server MUST be running before ANY other action.
Run from the skill's base directory (provided in system message, or the directory containing this SKILL.md):
cd <SKILL_BASE_DIRECTORY> && npm start
| Output | Meaning | Action |
|---|---|---|
ok (stays alive) |
Server started — init owns lifecycle | PROCEED to Phase 2 |
ok (exits) |
Server already running | PROCEED to Phase 2 |
ERROR: ... |
Server failed | STOP. Report to user |
FORBIDDEN: Any tool calls until server returns "ok".
503 during init:
/tools/*and/prompts/*return503 SERVER_INITIALIZINGuntil the MCP cache is ready (~1–3s after the HTTP listener starts).npm starthandles this automatically by polling/health. If starting the server directly (node scripts/server.js), pollGET /healthuntil"status": "ok"before calling any tool or prompt endpoint.
Troubleshooting
| Problem | Solution |
|---|---|
Missing script: start |
Wrong directory — check skill base path |
| Health check fails | Wait, retry: curl http://localhost:1987/health |
| Port in use (orphan) | lsof -sTCP:LISTEN -ti :1987 then kill <PID> |
| Init process still running | Normal — do NOT kill it |
On failure, retry a few times with delays. If exhausted, STOP and report. </server_init_gate>
Logs at ~/.octocode/logs/ (errors.log, tools.log).
Phase 2: Load Context
<context_gate> STOP. DO NOT call any research tools yet.
Context Loading Checklist
| # | Step | Command |
|---|---|---|
| 1 | Load context | curl http://localhost:1987/tools/initContext |
| 2 | Choose prompt | Match user intent → prompt table below |
| 3 | Load prompt | curl http://localhost:1987/prompts/info/{prompt} |
| 4 | Confirm | Verbalize: "Context loaded. I understand the schemas and will think on best research approach" |
In MCP Direct Mode: You still MUST load context (step 1) and prompt (step 3) from the HTTP server. Only Phase 4 tool execution switches to MCP.
Prompt Selection
| PromptName | When to Use |
|---|---|
research |
External libraries, GitHub repos, packages |
research_local |
Local codebase exploration |
reviewPR |
PR URLs, review requests |
plan |
Bug fixes, features, refactors |
roast |
Poetic code roasting (load references/roast-prompt.md) |
REQUIRED: Tell user which prompt: "I'm using {promptName} because [reason]"
Schema Understanding
The initContext response contains system prompt, tool schemas, and quick reference. Before ANY tool call:
- Read the description — what does this tool do?
- Check required fields — what MUST be provided?
- Check types & constraints — enums, min/max, patterns
- Check defaults — what if optional fields omitted?
NEVER invent values for required parameters. If unknown, use another tool to find it first. </context_gate>
<context_complete_gate> Verify before proceeding:
- Context loaded? Tool schemas understood?
- Told user which prompt?
- Verbalized confirmation?
ALL checked → Phase 2.5. ANY unchecked → complete first. </context_complete_gate>
Phase 2.5: Fast-Path Evaluation
<fast_path_gate> Evaluate BEFORE creating a plan.
ALL must be TRUE for fast-path:
| Criteria | ✓ Example | ✗ Example |
|---|---|---|
| Single-point lookup | "Where is formatDate?" | "How does auth flow work?" |
| One file/location expected | Same repo, same service | Cross-repo tracing |
| Few tool calls (≤3) | Search → LSP → Done | Full execution path trace |
| Unambiguous target | Unique symbol | Overloaded names |
ALL TRUE → Tell user "Simple lookup, proceeding directly" → Skip to Phase 4 ANY FALSE → Tell user "This requires planning" → Phase 3 </fast_path_gate>
Phase 3: Planning
<plan_gate> STOP. No research tools until plan approved.
- Identify domains to explore
- Create tasks via
TodoWrite - Evaluate parallelization: multiple independent domains → MUST spawn parallel agents
- Present plan to user:
## Research Plan
**Goal:** [question]
**Strategy:** [Sequential / Parallel]
**Steps:**
1. [Tool] → [Goal]
2. [Tool] → [Goal]
**Estimated scope:** [files/repos]
Proceed? (yes/no)
WAIT for user approval. Modify if requested, clarify if rejected. </plan_gate>
Parallel Execution
Multiple independent domains (different repos, services, runtimes) → MUST spawn parallel Task agents. Same repo across files = sequential.
→ See references/PARALLEL_AGENT_PROTOCOL.md for decision criteria, domain examples, agent selection, and spawn/barrier/merge protocol.
Phase 4: Research Execution
<research_gate> Verify entry conditions:
- From PLAN: Plan presented, tasks created, user approved?
- From FAST-PATH: Told user "simple lookup", context loaded?
If any unmet → go back to appropriate phase. </research_gate>
Research Loop
For EVERY research action:
- Execute tool with required params (
mainResearchGoal,researchGoal,reasoning) - Read response — check
hintsFIRST - Verbalize hints — tell user what they suggest
- Follow hints — they guide the next action
- Iterate until goal achieved
| Hint Type | Action |
|---|---|
| Next tool suggestion | Use the recommended tool |
| Pagination | Fetch next page if needed |
| Refinement needed | Narrow the search |
| Error guidance | Recover as indicated |
Error Recovery
| Error | Recovery |
|---|---|
| Empty results | Broaden pattern, try semantic variants |
| Timeout | Reduce scope/depth |
| Rate limit | Back off, batch fewer queries |
| Dead end | Backtrack, alternate approach |
| Looping | STOP → re-read hints → ask user |
If stuck and not progressing → STOP and ask user.
Context Management
Checkpoint when context becomes heavy. See references/SESSION_MANAGEMENT.md for checkpoint protocol, directory structure, and resume logic.
Research Completion
<research_complete_gate> ANY trigger → proceed to Phase 5:
| Trigger | Priority |
|---|---|
| Goal achieved (with file:line refs) | 1 (highest) |
| User satisfied | 2 |
| Scope complete | 3 |
| Stuck/exhausted | 4 (note gaps) |
Pre-output: completion trigger identified? Findings have file:line? Checkpoints saved? Tasks marked complete? </research_complete_gate>
Phase 5: Output
<output_gate>
Required Response Structure
- TL;DR: Clear summary (few sentences). If stuck, prefix with "[INCOMPLETE]".
- Details: In-depth analysis with evidence.
- References: ALL code citations with proper format.
- Next Step: Ask one of: "Create a research doc?" / "Continue researching [area]?" / "Any clarifications?"
All four sections are REQUIRED. Never end silently.
Reference Format
| Type | Format | Example |
|---|---|---|
| GitHub/External | Full URL with lines | https://github.com/facebook/react/blob/main/src/ReactHooks.js#L66-L69 |
| Local | path:line |
src/components/Button.tsx:42 |
| Range | path:start-end |
src/utils/auth.ts:15-28 |
GitHub references MUST use full URLs (clickable). Line numbers REQUIRED on all references.
If Stuck
| Section | Adaptation |
|---|---|
| TL;DR | "[INCOMPLETE] Investigated X, but Y unclear due to Z" |
| Details | Attempts made, blockers, partial findings with file:line |
| References | All files explored, even if inconclusive |
| Next Step | "Continue researching [blocked area]?" or "Need clarification on [X]?" |
Verify before sending: TL;DR? Details? References formatted? Next step question? </output_gate>
Cross-Cutting: Self-Check & Constraints
<agent_self_check> After each tool call: Hints followed? On track? Task progress updated? If stuck: STOP and ask user.
Phase gates: Server "ok" → Context + prompt stated → Fast-path evaluated → Plan approved → Research (follow hints) → Checkpoint when needed → Output (TL;DR + refs + question)
Multi-domain? → See references/PARALLEL_AGENT_PROTOCOL.md
</agent_self_check>
<global_constraints>
Core Principles
- Understand before acting — read tool schemas from context before calling
- Follow hints — tool responses guide next actions
- Be data-driven — follow schemas, never guess parameter values
- If value unknown — find it first with another tool
Required Research Params (EVERY tool call)
| Parameter | Description |
|---|---|
mainResearchGoal |
Overall objective |
researchGoal |
This step's goal |
reasoning |
Why this tool/params |
Tool calls without all three parameters are FORBIDDEN. </global_constraints>
Additional Resources
references/GUARDRAILS.md— Security, trust levels, limits, integrity rulesreferences/PARALLEL_AGENT_PROTOCOL.md— When to parallelize, domain examples, spawn/barrier/merge protocolreferences/SESSION_MANAGEMENT.md— Checkpoint protocol, session directory, resume logic
How to use octocode-research on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add octocode-research
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches octocode-research from GitHub repository bgauryy/octocode-mcp and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate octocode-research. Access the skill through slash commands (e.g., /octocode-research) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.7★★★★★62 reviews- ★★★★★Ira Torres· Dec 28, 2024
We added octocode-research from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Camila Khan· Dec 28, 2024
Registry listing for octocode-research matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Luis Gill· Dec 16, 2024
octocode-research reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Fatima Rao· Dec 12, 2024
octocode-research fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Li Sethi· Dec 4, 2024
octocode-research has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Aisha Thompson· Nov 19, 2024
Keeps context tight: octocode-research is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Michael Kim· Nov 19, 2024
Solid pick for teams standardizing on skills: octocode-research is focused, and the summary matches what you get after install.
- ★★★★★Yuki Huang· Nov 19, 2024
Useful defaults in octocode-research — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Emma Perez· Nov 7, 2024
I recommend octocode-research for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Camila Haddad· Oct 26, 2024
Useful defaults in octocode-research — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
showing 1-10 of 62