research-workflow
Structured external research — checklist, tool selection, insights document. Used by researcher agent in /dr-prd and /dr-do.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Structured external research — checklist, tool selection, insights document. Used by researcher agent in /dr-prd and /dr-do.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | research-workflow |
| description | Structured external research — checklist, tool selection, insights document. Used by researcher agent in /dr-prd and /dr-do. |
| model | inherit |
| current_aal | 1 |
| target_aal | 2 |
Structured methodology for investigating external context before planning or during implementation. Produces a datarim/insights/INSIGHTS-{task-id}.md document.
For features, new systems, or tasks involving unfamiliar technology. Runs all 10 checklist items.
For enhancements where most context is known. Runs items 1, 3, 4, 6, 9 only.
Quick fixes do not need research. Skip entirely.
| # | Checkpoint | Description | Tools | Mode |
|---|---|---|---|---|
| 1 | Versions & Dependencies | Current stable versions of libraries/frameworks in the task's stack. Check for recent major releases. | context7 resolve-library-id + query-docs, WebSearch | Full, Lite |
| 2 | Breaking Changes | Migration guides, deprecated APIs, removed features between current and target versions. | context7 query-docs, WebFetch (changelog URLs) | Full |
| 3 | Best Practices | Recommended approaches for key task elements. Official guides, community consensus. | WebSearch, context7 | Full, Lite |
| 4 | Stack Documentation | Load relevant documentation sections for technologies being used. | context7 resolve-library-id + query-docs | Full, Lite |
| 5 | Architectural Patterns | Examples of similar implementations. Reference architectures, open-source projects. | WebSearch | Full |
| 6 | Compatibility | Verify chosen components work together. Check peer dependency requirements, runtime compatibility. | context7, WebSearch | Full, Lite |
| 7 | Security Advisories | Known CVEs, npm/pip advisories, GitHub security alerts for dependencies. | WebSearch ("CVE" + library name) | Full |
| 8 | RAG/LTM Context | Query Scrutator LTM API for relevant experience from past tasks. | POST /v1/ltm/recall (if MCP/API available) | Full |
| 9 | Existing Codebase | Search project for reusable components, established patterns, similar implementations. | Grep, Glob, Read | Full, Lite |
| 10 | Infrastructure Constraints | Check server resources, port allocation, disk/memory limits, network topology. | Read (documentation/infrastructure/Servers.md, port allocation memory) | Full |
The researcher works with whatever tools are available. No hard dependency on any specific MCP.
resolve-library-id to find the library, then query-docs for specific topics. Most token-efficient path for library documentation.POST /v1/ltm/recall with task-relevant query for past experience.If no web tools or MCP servers are configured, research falls back to:
Mark affected checkpoints as [OFFLINE — based on local context only] in the insights document.
When the operator references a deprecated, archived, or legacy tool by name, run a Context7 + npm-search (or PyPI / crates.io equivalent) probe before designing an alternative implementation. Built-in successors are common — e.g. the legacy microsoft/playwright-cli package was superseded by @playwright/cli, now built into modern Playwright.
A 5-minute docs-probe can save hours of unnecessary scaffolding: check whether the named tool already has a maintained successor, or whether the "missing" capability shipped as a built-in of the current major version, before scoping a replacement build.
Source: a prior reflection Class A proposal (NS3).
For use from /dr-do when implementation hits an unknown.
A gap is detected when any of these occur during implementation:
research-workflow.md).Agent(subagent_type="researcher", prompt="Investigate: {specific gap description}.
Task: {task-id}. Context: {what was attempted, what failed, what we need to know}.
Append findings to datarim/insights/INSIGHTS-{task-id}.md § Gap Discoveries.")
## Gap Discoveries section with:
If the gap is fundamental — wrong technology choice, impossible requirement, architectural incompatibility:
/dr-prd to revise requirements.Plans drift. Between /dr-plan and /dr-do, the surrounding state of the project may have moved — earlier tasks landed, services got deployed, schemas changed, infrastructure resources got renamed. Running implementation against a stale plan wastes effort and may discard work that already shipped.
Run at the start of /dr-do (Step 0, before the TDD loop), for any task that references named artifacts assumed to exist or not exist:
tasks/{TASK-ID}-task-description.md § Progress and skip.insights/INSIGHTS-{TASK-ID}.md § Gap Discoveries with the diff, and pivot the plan if needed before writing code.A plan written 2-3 days ago against a snapshot of the project state can be wrong about: which modules are already wired, which infra resources already exist, which secrets are already migrated. Acting on those assumptions wastes hours of implementation and sometimes deletes shipped work. A short pre-flight scan replaces those losses.
The plan was written within the last 24 hours, no parallel sessions touched the same area, and no prior tasks in the same project have shipped between plan and implementation. Otherwise: run pre-flight.
Example — past task Phase 1: plan called for one integration approach; pre-flight discovery showed that an earlier task in the same project had already shipped the alternative approach (a substantial body of working code). Following the plan would have discarded shipped work. Pivot to the rejected-but-now-correct alternative was captured in the corresponding INSIGHTS-<TASK-ID>.md § GD-01. Phase 1 effort dropped from a planned 1-2 days to ~2 hours by following the plan's already-rejected alternative — with a concrete reason for the pivot rather than blind execution.
When a plan locks in a third-party endpoint (LLM, STT/TTS, OAuth, payment, webhook target, queue, storage API, anything not under our control), the contract MUST be confirmed by a real request before any code depends on the assumed shape. Documentation drifts; SDKs paper over differences; existing integrations may have been written against a different paradigm.
Run this gate during /dr-plan Step 6 (Technology Validation) or /dr-do pre-flight when the task introduces or replaces a third-party endpoint.
httpx / fetch) that exercises the real input format the implementation will use — including Content-Type, auth header, multipart shape, query params, and any vendor-specific flags (response_format, stream, modalities, etc.).datarim/tasks/{TASK-ID}-fixtures.md) per the existing dr-plan Step 10 fixture rule. Tag with timestamp + endpoint URL + auth method + tool/SDK version.Mock providers, stale README files, and "this worked in another project" memories are not evidence. A 3-minute probe against the real endpoint replaces an unknown number of mid-implementation rewrites and one or more push-rebuild-redeploy cycles when the assumption was wrong.
The endpoint is already covered by a green integration test in this codebase, run within the past 14 days against the same provider/model/version. Otherwise: run the probe.
Real incident: ~30 minutes of Groq integration test scaffolding had to be redone after empirically discovering that OpenRouter's audio models require output modality=audio + stream:true and have no Whisper in their catalog — the existing transcriber-openrouter.service.ts was conceptually broken from day one, hidden by a mock provider. A 3-minute curl test against the three audio model IDs would have surfaced the gap before any spec was written.
Use the insights template at ${DATARIM_RUNTIME:-$HOME/.claude}/templates/insights-template.md.
Create the document at: datarim/insights/INSIGHTS-{task-id}.md
[unverified].Schema and migration semantics for /dr-doctor — thin one-liner contract, 6-pass migration, data-loss safety, conflict resolution. Loaded by self-heal.
Core Datarim rules. Load this entry first, then only the fragment needed for paths, storage, numbering, backlog, routing, or archive behavior.
Post-QA hardening — detects task type (code, docs, research, legal, content, infra) and applies the matching verification checklist before archiving.
Testing pyramid, frameworks, mocking. Load first; then the fragment for the active gate (live smoke, silent failure, bats, legacy triage).
Preserve Datarim task continuity while orchestrated Claude Code or Codex sessions compact or clear context at deterministic pressure thresholds.
Immutability contract for all pipeline stages: artefact freeze, V-AC parity, non-code parity, anti-tautological rule, and return-to-source transition.