This skill should be used when the user asks to "research code", "how does X work", "where is Y defined", "who calls Z", "trace code flow", "find usages", "review a PR", "explore this library",...
Evidence before assertion. Find the anchor, read the exact bytes, prove the claim, then answer or patch.
FRAME β CLASSIFY β MODEL β SEARCH β READ EXACT β PROVE β DECIDE/PATCH β VERIFY
That's the full shape, not a checklist to march through. Scale it to the claim: a small lookup gets a cheap read and an honest confidence label; a delete, a merge verdict, or a root cause earns the whole ladder. Skip stages you can already answer β but say which ones you skipped.
claim β evidence β confidence β next check. Cite exact anchors, and only checks that actually ran.Stop when: grounded evidence answers the framed question and the alternate is dead; no cheap next step can change the conclusion; the budget is hit (default 3-5 decisive iterations or ~15 minutes); the last iterations changed no state; retries stay thin, or a license/product/architecture call belongs to the user; a gate blocks (broad contract, delete/rename, clone or run untrusted code, unapproved artifact write); or a skill edit measured flat/worse β revert through references/improve-loop.md. Report the remaining gaps instead of padding certainty.
Start with references/algorithm.md (routing, evidence grades) and references/problem-framing.md (is this a bug, feature, enhancement, or still unknown?). Then pick one route by what you're looking at β load references/workflows.md when you need the per-route detail, the load budget per task size, or the handoff receipt between routes:
| Situation | Route |
|---|---|
| This repo, checkout, installed dependency | references/workflow-local.md |
| External repository, npm package, upstream project | references/workflow-external.md |
| Cross-repo connections, local clue β upstream, or remote code needing AST/LSP proof | references/workflow-combination.md |
| Rank an ecosystem β several candidate repos/packages | references/github-landscape.md |
| Something fails and you need the cause | references/workflow-debug.md |
| Plan a coding flow, implement, migrate, patch behavior | references/workflow-change.md |
| Reshape structure or names, keep behavior | references/workflow-refactor.md |
| Validate after a change; review a PR or local diff | references/workflow-pr-review.md |
| Trace connections β callers, imports, references, reachability | references/code-research.md |
Proof depth for any of them: references/code-research.md. General research β Map / Validate / Investigate / Plan across code, packages, docs, and history: references/research-flow.md.
Review runs in three parts: use references/workflow-pr-review.md for target, guidelines, and risk sizing; then references/workflow-pr-review-analysis.md for sizing depth, flow proof, and finding shape; then references/workflow-pr-review-report.md for the verification-gated recommendation and the optional written document.
Reach for these only when they earn it: references/loop-mode.md (evidence keeps flipping), references/long-research.md (durable decision brief), references/researcher-mindset.md (budgets, fan-out, campaign planning).
Load a reference when the current step needs it. Loading all of them is a failure mode.
Prefer Octocode MCP tools when exposed. Otherwise npx octocode tools <name> β same 15 tools, same schemas, no loss.
npx octocode context --minimal # what's available
npx octocode tools <name> --scheme --json --compact # read fields β never guess
npx octocode tools <name> --queries '<json>' --compact # run it
Batch up to five queries per call. Orient cheap (tree, discovery) before exact reads. Follow returned next.* and cursors instead of re-deriving them.
Read references/octocode.md when transport, tool choice, auth, gates (ENABLE_LOCAL, ENABLE_CLONE, ENABLE_RELEASES), materialization, diagnostics, or exit codes are unclear.
Finding Β· Evidence Β· Confidence Β· Next. Decisions add verdict, risks, exact anchors, verification, and the smallest safe fix. Report gaps instead of padding certainty.
octocode-brainstorming (worth building?) Β· octocode-rfc-generator (design contract) Β· octocode-graph-eval (goalβKPI) Β· octocode-documentation (docs deliverable) Β· octocode-skills (skill folders) Β· octocode-subagent (fan-out) Β· octocode-roast (critique tone).
When changing this skill, run node scripts/check-description.mjs (description contract; --help for flags) and gate accept/revert with references/improve-loop.md.