# Deep Research

> Performs rigorous, evidence-first deep research using distinct parallel research strategies, primary sources, local artifacts, controlled experiments, adversarial verification, and confidence-rated synthesis. Use when a user asks for deep research, exhaustive investigation, reverse engineering, current landscape analysis, high-stakes comparison, or a defensible implementation recommendation.

- Skill: `kody-w/deep-research` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add kody-w/deep-research`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kody-w/deep-research/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- License: MIT
- Author: kody-w (https://skillmd.com/u/kody-w)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kody-w/deep-research

---


# Deep Research

Produce a decision-grade answer whose important claims can be traced to
evidence. Do not confuse a long answer, many agents, or majority agreement with
research quality.

## Inputs

Treat the user's request, invocation arguments, or `$ARGUMENTS` as `QUERY`.
Derive:

- the exact question and requested decision or artifact;
- scope, exclusions, and relevant time horizon;
- freshness requirements;
- the evidence needed to call the result complete;
- safety, privacy, copyright, and authorization boundaries.

Make reasonable assumptions and proceed. Ask a question only when an answer is
required to avoid unsafe work or materially different outcomes.

## Research contract

1. Report only claims supported by cited sources, inspected artifacts, or
   recorded experiments.
2. Separate **observed**, **documented**, **inferred**, **disputed**, and
   **unknown** claims.
3. Prefer primary evidence. Never invent citations or cite a search-result
   snippet as if it were the underlying source.
4. Use independent tracks with non-overlapping scopes. Do not send multiple
   agents to repeat the same search.
5. Treat convergence as a prioritization signal, not proof. Verify
   majority-supported conclusions against evidence.
6. Preserve minority findings when they identify a concrete contradiction,
   failure mode, or missing assumption.
7. Do not expose credentials, private data, proprietary source, or copyrighted
   material beyond what is necessary for analysis.
8. State blockers and evidence gaps plainly. Never make a partial result look
   complete.

## Step 1: Frame the investigation

Write a compact internal brief:

```text
Question:
Decision or deliverable:
In scope:
Out of scope:
Freshness cutoff:
Completion checks:
Constraints:
```

For current facts, record the current date and verify publication or release
dates. For comparisons, define evaluation criteria before collecting results.
For reverse engineering, define the observable boundary and clean-room rules
before inspecting artifacts.

## Step 2: Design distinct tracks

For substantial or explicitly deep research, default to eight strategy tracks.
Adapt these archetypes to the domain while keeping every scope distinct:

1. **Primary-source track** - official specifications, source repositories,
   first-party announcements, standards, papers, or authoritative records.
2. **Artifact track** - local files, datasets, logs, transcripts, binaries,
   schemas, or outputs owned or authorized by the user.
3. **Public-ecosystem track** - current implementations, release history,
   adoption, credible independent analysis, and competing approaches.
4. **Protocol/implementation track** - interfaces, data flow, state
   transitions, persistence, limits, and failure behavior.
5. **Experimental track** - safe black-box probes or reproducible tests that
   distinguish competing explanations.
6. **Adversarial track** - attempts to falsify key claims and locate
   contradictions, edge cases, and misleading evidence.
7. **Systems track** - the minimum causal or architectural model that explains
   all observations, with observed versus inferred labels.
8. **Equivalent/action track** - an independent solution, recommendation, or
   implementation design derived from verified behavior rather than copied
   internals.

For a narrow lookup, reduce the track count instead of manufacturing work. For
a strategy bake-off, give each strategy agent the same normalized evidence and
a different explicit approach.

## Step 3: Define track contracts

Give every researcher enough standalone context to work without the parent
conversation. Include:

- the shared question, scope, constraints, and freshness cutoff;
- one unique strategy ID and non-overlapping assignment;
- allowed and prohibited sources or tools;
- the expected output schema;
- a requirement for exact URLs, paths, versions, dates, commands, or line
  references;
- a requirement to label facts, inferences, confidence, contradictions, and
  remaining unknowns.

Use the strongest available model and reasoning level for substantial tracks.
Keep contexts isolated until synthesis so one agent's conclusion does not
anchor the others.

## Step 4: Collect evidence

Use this source order:

1. directly observed behavior and reproducible experiments;
2. primary artifacts and official specifications;
3. first-party documentation and release notes;
4. peer-reviewed or reputable independent analysis;
5. community reports only as leads to verify.

Record claims in an evidence ledger. Use
[`references/evidence-ledger.md`](references/evidence-ledger.md) when the
investigation has more than a handful of claims.

For each source:

- open the underlying document;
- capture title, publisher or owner, date, retrieval date, and stable URL/path;
- extract only the evidence needed for the claim;
- note version, commit, environment, or account tier when behavior may vary;
- cross-check stale or frequently changing information.

## Step 5: Run safe experiments

Use experiments when documentation is absent, ambiguous, or contradicted.

- Change one variable at a time.
- Prefer read-only, reversible, zero-cost probes.
- Record exact input, environment/version, output, and interpretation.
- Distinguish "not observed" from "impossible."
- Do not bypass access controls, organizational policy, quotas, or licensing.
- Do not treat static string presence as proof that a feature is active.

For clean-room reverse engineering:

- analyze user-owned artifacts and public interfaces;
- summarize behavior instead of reproducing proprietary implementation;
- label each conclusion observed or inferred;
- hash/version the inspected build where useful;
- design an independent equivalent from behavior and requirements.

## Step 6: Execute efficiently

If the host supports dynamic workflows:

- express real dependencies explicitly;
- use parallel fan-out for independent tracks;
- use streaming map/verify only when each item can advance independently;
- require structured outputs with a schema;
- journal starts and successful results;
- make side-effecting work idempotent before enabling resume.

If the host supports ordinary subagents:

- launch independent tracks in parallel;
- continue genuinely independent parent work while they run;
- collect each result once when completion is reported;
- retry only failed or invalid tracks, not successful work;
- reuse the same agent for a refinement when it retains context.

If no subagents exist, run the same tracks sequentially and preserve their
separate evidence ledgers.

Do not poll background workers. If a global quota or authentication failure
will make queued work fail, stop admitting new work and surface the blocker.

## Step 7: Adversarial verification

Before synthesis, create a verification pass independent from the original
researchers.

For every decision-changing claim:

1. locate its strongest evidence;
2. check whether the evidence actually entails the claim;
3. search for version, scope, account, geography, or environment qualifiers;
4. attempt one concrete falsification or counterexample;
5. downgrade or remove claims that cannot survive verification.

When agents disagree, resolve the disagreement using source quality and
reproducibility. Do not settle it by vote alone. When verification is blocked,
retain both interpretations and name the missing experiment.

## Step 8: Synthesize

Build the answer from the claim ledger, not from agent prose.

1. Answer the user's core question first.
2. Present confirmed findings in impact order.
3. Explain the minimum model that accounts for the evidence.
4. Distinguish facts from high-, medium-, and low-confidence inference.
5. Include contradictions and genuine unknowns.
6. For recommendations, connect each action to a verified finding.
7. If strategies were compared, choose a majority-supported approach only
   after it passes evidence checks; preserve consequential minority objections.
8. Cite every externally verifiable, time-sensitive, or non-obvious claim.

Use concise prose by default. Do not dump internal agent transcripts or process
logs unless requested.

## Output contract

Use the smallest structure that fully communicates the result:

```markdown
# Answer
Direct conclusion.

## Confirmed findings
- Claim - evidence and citation.

## Model or explanation
Observed behavior, then clearly labeled inference.

## Contradictions and unknowns
- What remains unresolved and why.

## Recommended action
Prioritized, evidence-linked steps.

## Sources
- Primary sources first.
```

For implementation research, add a testable clean-room specification,
invariants, failure modes, and acceptance tests.

## Resume and failure rules

- Persist track IDs, inputs, source list, result status, and evidence hashes
  when the host supports artifacts.
- On resume, reuse validated results whose inputs and evidence are unchanged.
- Rerun a failed track and any downstream synthesis that depends on it.
- Assume side effects are at-least-once unless protected by an idempotency key.
- A completed orchestration is not necessarily complete research. Disclose
  failed tracks and enforce the completion checks below.

## Completion checks

Do not declare completion until:

- every required track succeeded or its failure is explicitly disclosed;
- every high-impact claim has primary, observed, or independently reproduced
  support;
- important contradictions are resolved or preserved as unknowns;
- freshness-sensitive claims were checked against current sources;
- recommendations follow from the evidence;
- citations or artifact references are usable;
- a fresh verification pass found no unaddressed critical gap.

The RAPP conversion path for this skill is documented in
[`references/rapp-agent-conversion.md`](references/rapp-agent-conversion.md).

<!-- toaster:generated:begin -->

## Run this — do not improvise

This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as `deep_research_agent.py` and embedded as the fenced Python below (sha256 86e2c6c28d44fa2f…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to `deep_research_agent.py` first:

```bash
python3 deep_research_agent.py '{"key": "value"}'      # arguments as one JSON object
echo '{"key": "value"}' | python3 deep_research_agent.py   # or on stdin
python3 deep_research_agent.py --tool                      # emit the JSON tool contract
```

Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns `steps`, execute those steps in order exactly as returned; if it returns `instructions`, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed `rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent`.

````python  # rapp:deterministic
"""DeepResearch -- Performs rigorous, evidence-first deep research using distinct parallel research strategies, primary sources, local artifacts, controlled experiments, adversarial verification, and confidence-rated synthesis. Use when a user asks for deep research, exhaustive investigation, reverse engineering, current landscape analysis, high-stakes comparison, or a defensible implementation recommendation.

Generated by the rapp skill from deep-research. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""

import json
import re
import sys

try:
    from agents.basic_agent import BasicAgent
except ImportError:  # running OUTSIDE the brainstem -- stay executable anyway.
    class BasicAgent:  # noqa: D101 - minimal stand-in, same contract
        def __init__(self, name=None, metadata=None):
            if name:
                self.name = name
            if metadata:
                self.metadata = metadata

        def perform(self, **kwargs):
            return "Not implemented."

        def system_context(self):
            return None

        def to_tool(self):
            return {"type": "function", "function": {
                "name": self.name,
                "description": self.metadata.get("description", ""),
                "parameters": self.metadata.get("parameters", {})}}

# The procedural layer, verbatim from the source capability. The brainstem
# returns this to the model, so the skill's instructions still drive behaviour
# -- now behind a typed, deterministic tool contract.
INSTRUCTIONS = '# Deep Research\n\nProduce a decision-grade answer whose important claims can be traced to\nevidence. Do not confuse a long answer, many agents, or majority agreement with\nresearch quality.\n\n## Inputs\n\nTreat the user's request, invocation arguments, or `$ARGUMENTS` as `QUERY`.\nDerive:\n\n- the exact question and requested decision or artifact;\n- scope, exclusions, and relevant time horizon;\n- freshness requirements;\n- the evidence needed to call the result complete;\n- safety, privacy, copyright, and authorization boundaries.\n\nMake reasonable assumptions and proceed. Ask a question only when an answer is\nrequired to avoid unsafe work or materially different outcomes.\n\n## Research contract\n\n1. Report only claims supported by cited sources, inspected artifacts, or\n   recorded experiments.\n2. Separate **observed**, **documented**, **inferred**, **disputed**, and\n   **unknown** claims.\n3. Prefer primary evidence. Never invent citations or cite a search-result\n   snippet as if it were the underlying source.\n4. Use independent tracks with non-overlapping scopes. Do not send multiple\n   agents to repeat the same search.\n5. Treat convergence as a prioritization signal, not proof. Verify\n   majority-supported conclusions against evidence.\n6. Preserve minority findings when they identify a concrete contradiction,\n   failure mode, or missing assumption.\n7. Do not expose credentials, private data, proprietary source, or copyrighted\n   material beyond what is necessary for analysis.\n8. State blockers and evidence gaps plainly. Never make a partial result look\n   complete.\n\n## Step 1: Frame the investigation\n\nWrite a compact internal brief:\n\n```text\nQuestion:\nDecision or deliverable:\nIn scope:\nOut of scope:\nFreshness cutoff:\nCompletion checks:\nConstraints:\n```\n\nFor current facts, record the current date and verify publication or release\ndates. For comparisons, define evaluation criteria before collecting results.\nFor reverse engineering, define the observable boundary and clean-room rules\nbefore inspecting artifacts.\n\n## Step 2: Design distinct tracks\n\nFor substantial or explicitly deep research, default to eight strategy tracks.\nAdapt these archetypes to the domain while keeping every scope distinct:\n\n1. **Primary-source track** - official specifications, source repositories,\n   first-party announcements, standards, papers, or authoritative records.\n2. **Artifact track** - local files, datasets, logs, transcripts, binaries,\n   schemas, or outputs owned or authorized by the user.\n3. **Public-ecosystem track** - current implementations, release history,\n   adoption, credible independent analysis, and competing approaches.\n4. **Protocol/implementation track** - interfaces, data flow, state\n   transitions, persistence, limits, and failure behavior.\n5. **Experimental track** - safe black-box probes or reproducible tests that\n   distinguish competing explanations.\n6. **Adversarial track** - attempts to falsify key claims and locate\n   contradictions, edge cases, and misleading evidence.\n7. **Systems track** - the minimum causal or architectural model that explains\n   all observations, with observed versus inferred labels.\n8. **Equivalent/action track** - an independent solution, recommendation, or\n   implementation design derived from verified behavior rather than copied\n   internals.\n\nFor a narrow lookup, reduce the track count instead of manufacturing work. For\na strategy bake-off, give each strategy agent the same normalized evidence and\na different explicit approach.\n\n## Step 3: Define track contracts\n\nGive every researcher enough standalone context to work without the parent\nconversation. Include:\n\n- the shared question, scope, constraints, and freshness cutoff;\n- one unique strategy ID and non-overlapping assignment;\n- allowed and prohibited sources or tools;\n- the expected output schema;\n- a requirement for exact URLs, paths, versions, dates, commands, or line\n  references;\n- a requirement to label facts, inferences, confidence, contradictions, and\n  remaining unknowns.\n\nUse the strongest available model and reasoning level for substantial tracks.\nKeep contexts isolated until synthesis so one agent's conclusion does not\nanchor the others.\n\n## Step 4: Collect evidence\n\nUse this source order:\n\n1. directly observed behavior and reproducible experiments;\n2. primary artifacts and official specifications;\n3. first-party documentation and release notes;\n4. peer-reviewed or reputable independent analysis;\n5. community reports only as leads to verify.\n\nRecord claims in an evidence ledger. Use\n[`references/evidence-ledger.md`](references/evidence-ledger.md) when the\ninvestigation has more than a handful of claims.\n\nFor each source:\n\n- open the underlying document;\n- capture title, publisher or owner, date, retrieval date, and stable URL/path;\n- extract only the evidence needed for the claim;\n- note version, commit, environment, or account tier when behavior may vary;\n- cross-check stale or frequently changing information.\n\n## Step 5: Run safe experiments\n\nUse experiments when documentation is absent, ambiguous, or contradicted.\n\n- Change one variable at a time.\n- Prefer read-only, reversible, zero-cost probes.\n- Record exact input, environment/version, output, and interpretation.\n- Distinguish "not observed" from "impossible."\n- Do not bypass access controls, organizational policy, quotas, or licensing.\n- Do not treat static string presence as proof that a feature is active.\n\nFor clean-room reverse engineering:\n\n- analyze user-owned artifacts and public interfaces;\n- summarize behavior instead of reproducing proprietary implementation;\n- label each conclusion observed or inferred;\n- hash/version the inspected build where useful;\n- design an independent equivalent from behavior and requirements.\n\n## Step 6: Execute efficiently\n\nIf the host supports dynamic workflows:\n\n- express real dependencies explicitly;\n- use parallel fan-out for independent tracks;\n- use streaming map/verify only when each item can advance independently;\n- require structured outputs with a schema;\n- journal starts and successful results;\n- make side-effecting work idempotent before enabling resume.\n\nIf the host supports ordinary subagents:\n\n- launch independent tracks in parallel;\n- continue genuinely independent parent work while they run;\n- collect each result once when completion is reported;\n- retry only failed or invalid tracks, not successful work;\n- reuse the same agent for a refinement when it retains context.\n\nIf no subagents exist, run the same tracks sequentially and preserve their\nseparate evidence ledgers.\n\nDo not poll background workers. If a global quota or authentication failure\nwill make queued work fail, stop admitting new work and surface the blocker.\n\n## Step 7: Adversarial verification\n\nBefore synthesis, create a verification pass independent from the original\nresearchers.\n\nFor every decision-changing claim:\n\n1. locate its strongest evidence;\n2. check whether the evidence actually entails the claim;\n3. search for version, scope, account, geography, or environment qualifiers;\n4. attempt one concrete falsification or counterexample;\n5. downgrade or remove claims that cannot survive verification.\n\nWhen agents disagree, resolve the disagreement using source quality and\nreproducibility. Do not settle it by vote alone. When verification is blocked,\nretain both interpretations and name the missing experiment.\n\n## Step 8: Synthesize\n\nBuild the answer from the claim ledger, not from agent prose.\n\n1. Answer the user's core question first.\n2. Present confirmed findings in impact order.\n3. Explain the minimum model that accounts for the evidence.\n4. Distinguish facts from high-, medium-, and low-confidence inference.\n5. Include contradictions and genuine unknowns.\n6. For recommendations, connect each action to a verified finding.\n7. If strategies were compared, choose a majority-supported approach only\n   after it passes evidence checks; preserve consequential minority objections.\n8. Cite every externally verifiable, time-sensitive, or non-obvious claim.\n\nUse concise prose by default. Do not dump internal agent transcripts or process\nlogs unless requested.\n\n## Output contract\n\nUse the smallest structure that fully communicates the result:\n\n```markdown\n# Answer\nDirect conclusion.\n\n## Confirmed findings\n- Claim - evidence and citation.\n\n## Model or explanation\nObserved behavior, then clearly labeled inference.\n\n## Contradictions and unknowns\n- What remains unresolved and why.\n\n## Recommended action\nPrioritized, evidence-linked steps.\n\n## Sources\n- Primary sources first.\n```\n\nFor implementation research, add a testable clean-room specification,\ninvariants, failure modes, and acceptance tests.\n\n## Resume and failure rules\n\n- Persist track IDs, inputs, source list, result status, and evidence hashes\n  when the host supports artifacts.\n- On resume, reuse validated results whose inputs and evidence are unchanged.\n- Rerun a failed track and any downstream synthesis that depends on it.\n- Assume side effects are at-least-once unless protected by an idempotency key.\n- A completed orchestration is not necessarily complete research. Disclose\n  failed tracks and enforce the completion checks below.\n\n## Completion checks\n\nDo not declare completion until:\n\n- every required track succeeded or its failure is explicitly disclosed;\n- every high-impact claim has primary, observed, or independently reproduced\n  support;\n- important contradictions are resolved or preserved as unknowns;\n- freshness-sensitive claims were checked against current sources;\n- recommendations follow from the evidence;\n- citations or artifact references are usable;\n- a fresh verification pass found no unaddressed critical gap.\n\nThe RAPP conversion path for this skill is documented in\n[`references/rapp-agent-conversion.md`](references/rapp-agent-conversion.md).'

# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []


class DeepResearchAgent(BasicAgent):
    def __init__(self):
        self.name = 'DeepResearch'
        self.metadata = {
        "name": "DeepResearch",
        "description": "Performs rigorous, evidence-first deep research using distinct parallel research strategies, primary sources, local artifacts, controlled experiments, adversarial verification, and confidence-rated synthesis. Use when a user asks for deep research, exhaustive investigation, reverse engineering, current landscape analysis, high-stakes comparison, or a defensible implementation recommendation.",
        "parameters": {
                "properties": {},
                "required": [],
                "type": "object"
        }
        }
        super().__init__(name=self.name, metadata=self.metadata)

    def perform(self, **kwargs):  # toaster:generated-perform
        """Render the capability's instructions with the caller's arguments.

        Deterministic: same inputs -> same bytes out. No model call happens
        here; the brainstem hands this text back to the model as tool output.
        """
        text = INSTRUCTIONS
        for key, value in kwargs.items():
            text = text.replace("{{" + key + "}}", str(value))
        if kwargs:
            text += "\n\n## Inputs\n```json\n" + json.dumps(
                kwargs, indent=2, default=str) + "\n```"
        return text

if __name__ == "__main__":
    # Standalone entry point: the deterministic layer runs with NO brainstem,
    # no framework, no install. This is what lets a "simple SKILL.md" platform
    # keep real determinism -- the host model shells out to this file instead
    # of improvising the procedure in prose.
    #     echo '{"arg": "value"}' | python3 deep_research_agent.py
    #     python3 deep_research_agent.py '{"arg": "value"}'
    #     python3 deep_research_agent.py --tool          # emit the JSON tool contract
    _a = sys.argv[1:]
    if _a and _a[0] == "--tool":
        print(json.dumps(DeepResearchAgent().to_tool(), indent=2))
    else:
        _raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
        print(DeepResearchAgent().perform(**json.loads(_raw)))

# rci-capsule:v1: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

…(truncated)
