From dw
Use when starting a new deep-work task. Decomposes a task description into objective research questions that avoid premature solutioning. Phase 1 of the deep-work pipeline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dw:dw-01-research-questionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Decompose the user's prompt into objective, investigative questions answerable
Decompose the user's prompt into objective, investigative questions answerable by reading the codebase. Questions must NOT assume any particular solution.
Announce at start: "Starting deep-work Phase 1: Research Questions."
$ARGUMENTS:
<topic-slug> and the rest as the task description<topic-slug><topic-slug> (lowercase, hyphens, no special chars)"$SKILL_BASE_DIR/setup.sh" "<topic-slug>" and parse stdout for REPO and ARTIFACT_DIR (script also creates the directory). $SKILL_BASE_DIR is the "Base directory for this skill" path shown at the top of this prompt.00-ticket.md to the artifact directory:
---
phase: ticket
date: <today>
topic: <topic-slug>
repo: <repo>
git_sha: <HEAD>
status: complete
---
## Ticket
<user's prompt or file contents>
Identify the key nouns, systems, and actions mentioned in the prompt. These are the seeds for your research questions. Focus on concrete components, data flows, and interactions — avoid abstract goals or desired outcomes.
Gather lightweight structural context (NOT deep implementation details):
Generate 5-20 questions. EVERY question must be:
Distribute across categories:
| Category | Pattern | Example |
|---|---|---|
| Subsystem Understanding | "How does [component] work?" | "How does auth middleware chain requests?" |
| Code Tracing | "What is the [data] flow from [A] to [B]?" | "Request lifecycle from handler to DB?" |
| Pattern Discovery | "What patterns exist for [action]?" | "Patterns for adding API endpoints?" |
| Dependency Mapping | "What does [module] depend on?" | "What does handlers package import?" |
| Boundary Identification | "Where do [A] and [B] integrate?" | "Where do HTTP and storage connect?" |
| Constraint Discovery | "What invariants does [system] enforce?" | "What do tests enforce for handlers?" |
FORBIDDEN question patterns:
Write 01-research-questions.md to the artifact directory:
---
phase: research-questions
date: <today>
topic: <topic-slug>
repo: <repo>
git_sha: <HEAD>
status: complete
---
## Original Prompt
<full prompt — stored for traceability, NOT passed to Phase 2>
## Research Questions
### Subsystem Understanding
1. <question>
### Code Tracing
2. <question>
### Pattern Discovery
3. <question>
...
digraph handoff {
rankdir=LR;
node [shape=box, style=rounded, fontname="Helvetica"];
p1_out [label="01-research-questions.md\n(contains prompt + questions)"];
user [label="User reviews &\nedits questions" shape=diamond style=filled fillcolor="#ffffcc"];
script [label="extract-research-questions.sh\n(auto-run by Phase 2)" shape=octagon style=filled fillcolor="#ff4444" fontcolor=white];
p2_in [label="Questions only\n(prompt never exposed)"];
p1_out -> user [label="review & edit"];
user -> script [label="fresh conversation\n/dw-02-research <slug>"];
script -> p2_in [label="sed extraction"];
}
.state.json in the artifact directory:
{
"topic": "<topic-slug>",
"repo": "<repo>",
"current_phase": 1,
"completed_phases": [1],
"last_updated": "<ISO timestamp>"
}
01-research-questions.md as needed.
When ready, run /dw-02-research <topic-slug> in a fresh conversation.
The research skill automatically extracts only the questions section via
extract-research-questions.sh — the original prompt is never exposed to Phase 2."Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub ronsanzone/context-engineering-workflows --plugin dw