dr-research
Conducts deep research on a topic with web search, extended thinking, and structured documentation. Use when the user asks to research a topic, investigate a technology, compare approaches, or gather information for a decision. Produces organized markdown files with findings, visual diagrams, and actionable insights in _claude/research/.
What this skill does
# Deep Research
Conduct comprehensive research on a topic and produce structured, high-quality documentation.
## Phase 1: Understand & Plan
### Get the research prompt
Use `$ARGUMENTS` as the research prompt. If `$ARGUMENTS` is empty, ask the user interactively:
> What topic would you like me to research? Please provide as much detail as possible:
> - Core questions you want answered
> - Specific aspects to focus on
> - Context for why this research matters
> - Any constraints or requirements
### Detect deep-dive vs new research
Check whether the user is referencing existing research for a follow-up:
- **File/directory path provided** pointing to an existing `_claude/research/` directory → this is a **deep-dive follow-up**. Verify the path exists with Glob, then read the existing `index.md` and `findings.md` to understand prior coverage.
- **No file reference** → this is **new research**, regardless of whether the user uses phrases like "deep dive" or "go deeper." Those phrases describe desired depth, not a follow-up.
- A file reference that exists in `_claude/research/` is the key identifier. Language alone is not sufficient to trigger deep-dive mode.
### Plan the research
Read `${CLAUDE_SKILL_DIR}/references/research-methodology.md` for research types, strategies, and guidance.
1. Identify the **research type** from the user's prompt
2. Select the appropriate **research strategy** (funnel, adversarial, temporal, multi-stakeholder). If not clear, ask the user. If the user suggests a strategy in their prompt, follow their lead.
3. Determine the **output structure** — which files will be produced
### Present the plan and wait for approval
**For new research:**
```
## Research Plan: [Topic]
**Research Type:** [Type]
**Context:** [Reflect back the user's situation — what they're trying
to accomplish and why, so they can correct any misunderstandings]
**Key Questions:**
1. [Question]
2. [Question]
3. [Question]
**Research Strategy:** [Strategy name] — [Brief explanation of approach]
**Sources to Consult:**
- [Source category 1]
- [Source category 2]
- [Source category 3]
**Planned Output Structure:**
- `index.md` — Overview, key takeaways, visual concept map
- `findings.md` — [Description of what analysis will cover]
- `[topic-specific].md` — [Why this file is warranted]
- `resources.md` — Bibliography of all sources consulted
- `recommendations.md` — [Only if applicable, with brief rationale]
**Estimated Scope:** [Comprehensive/Focused — expected major findings]
Does this plan align with what you're looking for?
Would you like to adjust the focus, add questions, or change the output structure?
```
**For deep-dive follow-ups:**
```
## Deep Dive Plan: [Topic]
**Parent Research:** [Title] ([date])
**Location:** [path to parent research directory]
**Existing Coverage:**
- [file.md] covers [summary of what's already there]
- [file.md] covers [summary]
- Gap identified: [what the existing research flagged as unknown or shallow]
**Deep Dive Questions:**
1. [Question building on existing research]
2. [Question exploring the gap]
3. [Question going deeper]
**Planned Output:**
- `deep-dives/[slug]-[date]/index.md`
- `deep-dives/[slug]-[date]/findings.md`
- `deep-dives/[slug]-[date]/resources.md`
- [Additional files if warranted]
Shall I proceed, or would you like to adjust the focus?
```
**Wait for the user to approve or adjust before proceeding.**
## Phase 2: Research Execution
Execute the approved research plan.
### Research approach
- Follow the selected strategy pattern (funnel, adversarial, temporal, multi-stakeholder)
- Use **parallel WebSearch/WebFetch calls** for independent questions to improve efficiency. Don't over-fetch — parallel calls work best during the broad scan phase. Use sequential calls when later queries depend on earlier findings.
- **Progressive depth** — go deeper on findings central to the user's key questions. Stay surface-level on peripheral context.
- **Source triangulation** — cross-reference key findings across multiple sources where possible. Use best judgment on source reliability. Don't restrict source types — official docs, blog posts, forums, academic papers are all valid depending on the topic.
### Conflicting sources
When sources disagree: document both perspectives, analyze which seems more credible and why, and cite both inline with links so the user can evaluate. See `${CLAUDE_SKILL_DIR}/references/research-methodology.md` for the detailed approach and formatting.
### Circuit breaker (use sparingly)
Work to completion without interrupting the user in most cases. Contradictions, diverse viewpoints, and unexpected complexity should be documented, not used as reasons to stop.
**Stop and ask the user only if:**
1. The research premise is wrong — the technology doesn't exist, the approach isn't viable, or the question is based on a misunderstanding
2. Something truly impactful emerges that changes the entire direction of the research
Maximum 1-2 interruptions in exceptional cases. Zero in most research runs. The natural checkpoint, if needed, is after the broad scan before deep dives begin.
## Phase 3: Synthesis & Output
Read `${CLAUDE_SKILL_DIR}/references/output-formats.md` for detailed guidance on what each file should contain, quality standards, and example structures. For annotated examples of what great output looks like, see `${CLAUDE_SKILL_DIR}/examples/exemplar-index.md` and `${CLAUDE_SKILL_DIR}/examples/exemplar-findings.md`.
### Determine the output path
The Write tool creates parent directories automatically — don't shell out to `mkdir`. Just decide the target path and write files to it.
- **New research:** `_claude/research/[slug]-[date]/`
- Create the slug from the topic: lowercase, hyphens for spaces, remove special characters
- Use the current date from the conversation context (YYYY-MM-DD)
- Use Glob to check whether `_claude/research/` already exists. If it doesn't, inform the user they can run `/dr-init` for full project setup, but proceed — the first Write will create it.
- **Deep dive:** `_claude/research/[parent-slug]-[date]/deep-dives/[deep-dive-slug]-[date]/`
### Write the files
Follow the file writing order from output-formats.md:
1. **findings.md** — Core analysis. Organize by topic in whatever structure fits naturally. Include Mermaid diagrams where they clarify workflows, architecture, system interactions, or comparisons — reference `${CLAUDE_SKILL_DIR}/references/mermaid-patterns.md` for diagram types and syntax. Flag uncertain findings with a brief note; don't mark high-confidence findings.
2. **Topic-specific files** — Only if proposed in the plan and approved by the user. Name descriptively (e.g., `comparison.md`, `implementation-guide.md`, `architecture.md`).
3. **resources.md** — Bibliography of all sources consulted. Use minimal grouping (Documentation, Articles, Repositories, etc.). Every entry gets a brief annotation. Don't force categories that don't fit.
4. **recommendations.md** — Only create when the research clearly supports actionable next steps. Skip for exploratory or knowledge-gathering research.
5. **index.md** — Written last so it reflects everything produced. Include research question and scope, key takeaways, file navigation. Encourage a visual concept map (Mermaid mindmap or flowchart) when it helps show how findings relate — but don't force it if it doesn't add value.
### Deep-dive additions
When this is a deep-dive follow-up:
- Write all output files into the `deep-dives/[slug]-[date]/` subdirectory
- The deep-dive `index.md` must link back to the parent research: `[← Back to [Parent Title]](../../index.md)`
- All deep-dive files should include a link to the parent research in their Related Documents section
- Update the parent research's `index.md` — add or update a "Deep Dives" section linking to the deep dive's `index.md` file (not the directory), with date and brief description
## Phase 4: Summary
After all Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.