skills/practices/deep-research/SKILL.md
Multi-source research method — decompose a question, fan out parallel investigators, interleaved-think each result, verify claims adversarially, synthesize a cited answer. Use for breadth-heavy research, stack comparisons, "which approach wins" questions.
npx skillsauth add devjarus/coding-agent deep-researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
How to run research that holds up: parallel breadth, then adversarial depth. The orchestrator is the lead agent; this skill is the method it (and its research subagents) follow. See ${CLAUDE_PLUGIN_ROOT}/protocols/research.md for the actor choreography.
decompose → fan out (parallel) → interleaved-think per result → verify (refute) → synthesize (cited)
Single-context, sequential research is the failure mode: it's slow, path-dependent (each query biased by the last), and rarely refutes itself.
Engage extended thinking before any search. Break the question into 2–5 independent sub-questions — ones that don't need each other's answers. If two sub-questions must be answered in order, they're one investigation, not two.
Good decomposition for "best queue for our Node service":
One investigator per sub-question, dispatched together. Isolated contexts mean independent exploration trajectories — less path dependency, broader coverage. Each investigator calls tools in parallel where it can.
Tool per job:
Don't fire the next query blind. After each tool result, reason: Did this answer the sub-question? What does it contradict? What's the next sharpest query? Refine. A good investigator's 4th query is shaped by its first three results.
The most important step, and the one usually skipped. For every load-bearing claim, try to break it:
Tag each surviving claim high / medium / low confidence. Record claims you refuted — they stop the answer from drifting back to a plausible-but-wrong default.
Reconcile across investigators. Resolve contradictions explicitly — name the winner and why, don't average. Every recommendation carries its source. Surface what you couldn't resolve as open questions; a known gap beats false confidence.
testing
Decide when to use unit vs integration vs e2e tests, and when to mock vs use the real thing per dependency. Dependency injection is the enabler — without it you end up monkey-patching imports. Apply when writing tests of any kind.
development
Test-driven development process — write failing test, implement to pass, refactor. Use when implementing any feature or fixing bugs.
development
Patterns for sharing types, API contracts, and validation schemas between frontend and backend. Use when multiple domains consume the same data shapes to prevent contract drift.
tools
Patterns for apps with external clients — singleton clients, factories, connection pools, retry/timeout wrappers, graceful shutdown, service-layer organization. Apply when an app talks to DBs/APIs/caches/queues.