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].Question Suppression Ladder + L1 Inline Resolution Rule + Hard-gated Action Boundary. Activated by DATARIM_AUTO_MODE=1 + a per-task autonomous-mode marker.
Use when implementation is complete and all tests pass. Decides how to integrate the work via merge, PR, or cleanup with structured options.
Canonical S1–S9 security rule reference cited from CLAUDE.md § Security Mandate. Load for plan/qa/compliance/do touching shipped artefacts.
Technical rules for publishing content to social media and websites — platform limits, formatting, API patterns, OG tags, multi-platform workflow.
Testing pyramid, frameworks, mocking. Load first; then the fragment for the active gate (live smoke, silent failure, bats, legacy triage).
Operator wishlist checklist seeded at /dr-prd or /dr-plan; verified at /dr-qa and /dr-compliance with BLOCKED routing on missed/partial without override.