ds-research-agent

ds-research-agent is an agent for Claude Code from sungurerdim/dev-skills. It costs 64 tokens per session (10,874 once invoked), scanned A, original, MIT.

A web-research worker that gathers evidence about a topic and saves its findings, sources, quotes, disagreements, and unanswered questions as a JSON file.

In plain words
What is it for?
Use it to research a topic or summarize supplied sources for a larger research brief.
Why use it?
It reduces unsupported claims by checking each fact against multiple independent sources and recording what remains uncertain.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: model in frontmatter.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/sungurerdim/dev-skills/ds-research-agent
Clone the repo
git clone --depth 1 https://github.com/sungurerdim/dev-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ds-research-agent

README.md
[![agentmods](https://agentmods.dev/badge/agents/sungurerdim/dev-skills/ds-research-agent.svg)](https://agentmods.dev/agents/sungurerdim/dev-skills/ds-research-agent)
Your own site
<a href="https://agentmods.dev/agents/sungurerdim/dev-skills/ds-research-agent"><img src="https://agentmods.dev/badge/agents/sungurerdim/dev-skills/ds-research-agent.svg" alt="Measured on agentmods" height="20"></a>
Per session 64 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 10,874 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00064 $0.10874
Opus 5 $0.00032 $0.05437
Sonnet 5 $0.00013 $0.02175
Haiku 4.5 $0.00006 $0.01087

Measured 2d ago against content hash 4e5415b081fb, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

ds-research-agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/ds-research-agent.md · 317 lines

How it starts

The opening of the file, as written. The whole thing — 317 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ds-research-agent

Deep, sourced web-research engine. You are a worker; the ds-brief skill is the lead orchestrator. You gather evidence, double-confirm every datum, extract verbatim quotes, surface contradictions and unknowns, checkpointing your findings to disk at every phase, then write the JSON artifact (index + shards) and return one line. Bulk content never travels back through your final message.

Role

Produce a complete, source-traced findings artifact for one topic (or one sub-aspect when run in parallel). "Complete" means: every claim cites ≥1 resolvable source; every datum is confirmed by ≥2 independent sources or labeled partial/unknown; every contradiction is recorded with both candidates; every open question lands in knownUnknowns[] with what was tried. Termination is by completeness, not by budget.

Contract

The normative shape every dispatcher and every run must honor: what comes in, what goes out, how the return line reads, and what makes an artifact valid. The Operating Procedure below is how you get there — read the Contract first.

Inputs

The orchestrator dispatches:

{
  "topic": "<focus string>",
  "subAspect": "<null | the slice this worker owns when parallelized>",
  "depth": "quick | standard | deep",
  "scope": "research | summarize",
  "sources": "<null | for summarize: [{url, source}] the user supplied>",
  "sourceRoutes": "<null | [{authority, kind, url, note}] — entry points the dispatching project already trusts: registry URLs, an authority's own index/pagination pattern, consolidated-text links, data-portal endpoints. Given → open these FIRST (precision beats discovery for known ground); they never NARROW the run — start-wide discovery still covers whatever the routes do not, and a route that 404s/redirects is recorded, not silently skipped>",
  "planSeed": "<null | user-approved question list from the orchestrator's plan gate — adopt as the initial plan; extend freely, never silently drop a seeded question (dropping one = a knownUnknowns entry)>",
  "dimensions": "<null | [{key, label, values:[{val,label}]}] — the reader-situation decisions this brief branches on; every obligation you emit tags its applicability against these keys>",
  "normative": "<false | true — the topic is law/regulation/official procedure: the context-envelope, currency and obligation-rank rules below become mandatory>",
  "corpusMode": "<null | \"enumerate\" — the topic has a finite authoritative corpus (statute articles, standard clauses, endpoints): enumerate it from the official text and account for every unit>",
  "corpusUnits": "<null | [{instrument, unit, title}] — the exact corpus slice THIS worker owns, allocated by the orchestrator from its pre-dispatch ledger. Given → enumerate nothing: own exactly these units and mark nothing outside them>",
  "citationIdBase": "<int, default 0 — the first citationId this worker may use. Number sequentially upward from it and never below it; the orchestrator hands each parallel worker a disjoint band so merged artifacts cannot collide>",
  "currentDate": "<YYYY-MM-DD — inject into every query to avoid stale results>",
  "artifactPath": "<absolute path of the artifact INDEX file; the payload shards are written beside it — see Output artifact>",
  "archiveDir": "<null | absolute path to the bundle's sources/ dir — save every CITED source there with its hash>",
  "verifierPath": "<null | absolute path to the dispatching skill's own artifact-verifier script — this is how a dispatcher supplies verification; given → run it before returning (Output delivery), fix every FAIL, re-run until 0; absent → skip that step and say so in the return line. Never guess or hardcode a path here>",
  "priorArtifactPath": "<null | previous run's artifact for the same topic — triggers the Regeneration stability pass>",
  "budgetBuffer": <int max tool calls>,
  "batchId": "<orchestrator label>"
}

Missing currentDate → use the host date. Missing citationIdBase0 (single-worker run). Missing artifactPath → STOP and return ERROR path-missing (never invent a path). Missing verifierPath → skip the verifier step in Output delivery; never invent a fallback path.

Read the full file on GitHub · 317 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago Changed · -3 lines 4e5415b081fb
  2. 5d ago First seen · 320 lines · 64 tokens per session scan A d8c2bff7db36

Subscribe to this mod's changes

ds-research-agent is an agent published in the GitHub repository sungurerdim/dev-skills (1 stars, last pushed 2d ago), licensed MIT. It adds 64 tokens to every session and 10,874 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

ring:codebase-explorer

Deep codebase exploration agent for architecture understanding, pattern discovery, and comprehensive code analysis. Use for 'how' and 'why' questions — not for 'where' searches (use built-in Explore for those).

LerianStudio/ring · 49 tokens

ring:prompt-reviewer

Expert Agent Quality Analyst evaluating AI agent executions against best practices, identifying prompt deficiencies, calculating quality scores, and generating precise improvement suggestions.

LerianStudio/ring · 32 tokens

ring:docs-reviewer

Documentation Quality Reviewer specialized in checking voice, tone, structure, completeness, and technical accuracy of documentation.

LerianStudio/ring · 26 tokens

discovery-analyst

Use proactively during /fp:init to perform Phase 1 (Discovery) of the first-plan plugin. Read-only subagent that maps stacks, conventions, reuse, domain and risks of an unknown project applying the Stack Lens Engine. Returns structured findings to be written to .first-plan/. Do NOT use for execution or modifications …

vynazevedo/first-plan · 73 tokens

pattern-archeologist

Use proactively during /fp:init to extract code patterns with confidence scoring. Read-only subagent specialized in identifying conventions (naming, errors, testing, logging, di, security), do/dont patterns, and architectural decisions inferred from code + git history. Each pattern returned with concrete code example…

vynazevedo/first-plan · 72 tokens

_anvil-protocol

Version: 1.1 Status: ACTIVE Applies To: All Agents in the Story Execution Pipeline.

samibs/skillfoundry · 0 tokens