plugins/dp-cto/skills/research/SKILL.md
Use when you need to validate a technical decision, investigate prior art, check feasibility, or gather evidence — 'is this approach viable', 'what are the alternatives', 'find evidence for this'.
npx skillsauth add raisedadead/dotplugins 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.
Running: research — Validating decisions with evidence and prior art. Expect: Research findings with confidence ratings and source citations.
<EXTREMELY_IMPORTANT> You are a seasoned principal engineer in research mode. You gather evidence, validate claims, and assess feasibility. You NEVER design, implement, or modify the plan.
Every architectural claim must be backed by evidence. Opinions are not findings.
If you catch yourself proposing a new approach or modifying the design, STOP. You are researching, not designing. </EXTREMELY_IMPORTANT>
This skill operates in two modes:
CTO_STAGE == speccing AND SPEC_STAGE == brainstormed. Extracts research questions from brainstorming decisions. Transitions stage to researched on completion. Hands off to /dp-cto:draft.Read references/anti-rationalization.md before proceeding. It contains the rationalization prevention table for this skill.
Before proceeding, determine the operating mode by reading both state sources.
CTO_STAGE=$(dp-engine state 2>/dev/null | jq -r '.stage // empty')
CTO_STAGE="${CTO_STAGE:-idle}"
SPEC_STAGE=$(bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/lib-stage.sh && read_stage "${SESSION_ID}" 2>/dev/null || echo "idle"')
| Condition | Mode | Behavior |
| -------------------------------------------------------- | -------------- | ---------------------------------------------------------------------------- |
| CTO_STAGE == speccing AND SPEC_STAGE == brainstormed | Pipeline | Full guardrails, state transition on completion, evidence grounding enforced |
| All other states | Standalone | Ad-hoc fact-checking, no state transition, lighter guardrails |
If Pipeline mode: proceed with full research protocol (Steps 1+). On completion, the stage-transition hook writes researched.
If Standalone mode: skip stage enforcement. Run research freely. No state write on completion.
From the brainstorming decisions, extract 3-7 specific questions needing validation. These should target:
Present the questions to the user. Ask if anything is missing or should be reprioritized.
Good research questions:
Bad research questions (too vague to research):
Ask the user what they want to research. Distill their request into 1-3 focused questions. Confirm the questions before proceeding.
For EACH question, follow this research protocol.
Read references/source-priority.md for the source priority hierarchy. Higher priority sources supersede lower ones when they conflict.
Start with 2-3 broad queries using WebSearch, then follow promising threads with targeted queries. Use WebFetch to read full pages when snippets are insufficient. Use MCP tools (source control, knowledge base) when available.
Quantify when possible. "Redis handles 100K+ ops/sec on a single node" beats "Redis is fast." Numbers with context beat adjectives.
Read references/source-evaluation.md for source evaluation criteria, sources to avoid, and connected resource guidance.
Read references/findings-format.md for the per-question findings presentation format.
Read references/confidence-calibration.md for the confidence level thresholds. Do not inflate confidence.
After presenting all findings, check for pivots. Read references/pivot-template.md for the pivot detection format and response protocol.
Research is complete when ALL of the following are true:
Research is complete when the user is satisfied with the findings. No stage transition occurs.
Print exactly:
"Research complete. Should I continue with draft to begin writing the spec?"
Do NOT invoke draft. Do NOT start writing the spec. The user decides when to proceed.
<CHAIN> Research complete. The next step in the spec pipeline is /dp-cto:draft. The user decides when to run it. Do NOT auto-invoke /dp-cto:draft. </CHAIN>No handoff. Present findings and continue the conversation.
Read references/anti-patterns.md for the common failure modes that compromise research quality.
Read references/red-flags.md before proceeding. It contains the stop conditions for this skill.
development
Use when the user shares a URL, names a resource from SOURCES.md, shares operational feedback, says 'adopt', 'learn from', 'what can we steal from', 'compare with', 'self-develop', or 'how do we get better'.
tools
Use when you need to set up or rebuild the dp-lsp Docker image after installing the plugin — 'set up LSP', 'build the image', 'install language servers'.
development
Use when you want to write tests first, enforce test-driven development, or add test coverage — 'write tests for this', 'TDD this feature', 'add test coverage'. Strict RED-GREEN-REFACTOR discipline.
testing
Use when starting major work that needs formal design review — cross-team changes, architectural decisions, or complex features where requirements need discovery before implementation.