Agent skill

Research Ops

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when someone hands you an open question whose answer must survive scrutiny — a tech choice, a regulation, a what-is-actually-true-about-X — with every non-obvious claim dated…

MITAuto-check passedMarketing & SEO

Install Research Ops

skills CLI
$ npx skills add ericrisco/rsc-harness --skill research-ops -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness research-ops --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research-ops .claude/skills/research-ops && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
research-ops
GitHub stars
167
Token cost
~2.9k tokens
SKILL.md length
1,439 words
Files
6 (incl. scripts, references)
Skills in repo
227
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when someone hands you an open question whose answer must survive scrutiny — a tech choice, a regulation, a what-is-actually-true-about-X — with every non-obvious claim dated…

  • Works in 7 steps: Scope — pin the question down before… → Plan queries — write 3–6 distinct query… → Fan out — run the searches in parallel;… → …
  • Someone hands you an open question whose answer must survive scrutiny — a tech choice
  • SKILL.md covers The loop, Scope first, Source credibility and Date everything, plus 6 more sections
  • Runs Shell scripts from its folder

What it does

Research Ops is an agent skill from ericrisco/rsc-harness. Use when someone hands you an open question whose answer must survive scrutiny — a tech choice, a regulation, a what-is-actually-true-about-X — with every non-obvious claim dated and sourced, source disagreements surfaced rather than averaged away, and a cited memo as the deliverable. Also for refreshing a stale research memo. NOT sizing a market with TAM/SAM/SOM (that is market-research), NOT a standing cadence watch on named rivals (that is competitor-watch).

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/credibility-rubric.md`).

It sits in Marketing & SEO, covering Market research and Market sizing. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Someone hands you an open question whose answer must survive scrutiny — a tech choice
  • A what-is-actually-true-about-X — with every non-obvious claim dated and sourced
  • Source disagreements surfaced rather than averaged away
  • A cited memo as the deliverable

Example prompts

  • “/research-ops”

Requirements

  • A Bash shell

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Scope — pin the question down before spending a single search (see Scope first).
  2. Plan queries — write 3–6 distinct query angles, not one phrasing repeated. Cover
  3. Fan out — run the searches in parallel; collect candidate sources. Why: breadth
  4. Fetch & read — open the actual pages, not the result snippets. Read the primary
  5. Re-query on gaps — every read surfaces a new unknown or a contradiction; feed it
  6. Triangulate — confirm each load-bearing claim across ≥2 independent sources;
  7. Synthesize — write the memo answer-first, every claim carrying `[source, date,

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Research Ops loads about 2.9k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 1,439 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,439 words, ~2,864 tokens.

Download SKILL.mdSave it as .claude/skills/research-ops/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
research-ops
description
Use when someone hands you an open question whose answer must survive scrutiny — a tech choice, a regulation, a what-is-actually-true-about-X — with every non-obvious claim dated and sourced, source disagreements surfaced rather than averaged away, and a cited memo as the deliverable. Also for refreshing a stale research memo. NOT sizing a market with TAM/SAM/SOM (that is `market-research`), NOT a standing cadence watch on named rivals (that is `competitor-watch`).
tags
research-ops, deep-research, source-credibility, citations, verification, synthesis, knowledge-meta
recommends
market-research, competitor-watch, data-scraper, knowledge-ops, decision-records, structured-extraction, technical-writing
origin
risco

Research-ops — the deep-research operating procedure

You are the method, not the topic. Someone hands you "go find out about X" and you hand back a memo where every load-bearing claim traces to a source, a date, and a confidence tier — a document that survives someone reading it adversarially. The topic changes every time; the procedure does not.

Two hard rules, stated up front because everything else hangs off them:

  • One search pass is not research. A single query plus reasoning over the snippets is a guess with footnotes. Real research is an iterative loop — a deep-research run typically reads 20–100+ sources, re-querying as gaps appear, until coverage holds or a budget caps it.
  • An unsourced claim is not a finding. If you can't attach a source and a date, it's an assumption — label it as one or cut it. Human review catches AI errors in roughly 15–20% of research reports, so structure the output so a reviewer can check each claim, never so they have to trust it.

The loop

Research is an ordered loop, not a lookup. Run it in this order; each step has a reason.

  1. Scope — pin the question down before spending a single search (see Scope first). Why: a fuzzy question burns the budget on the wrong sources.
  2. Plan queries — write 3–6 distinct query angles, not one phrasing repeated. Cover the claim, the counter-claim, and the primary source. Why: you can't triangulate what you only searched one way.
  3. Fan out — run the searches in parallel; collect candidate sources. Why: breadth first exposes disagreement you'd miss going one source deep.
  4. Fetch & read — open the actual pages, not the result snippets. Read the primary source, not the blog summarizing it. Why: snippets drop caveats, dates, and numbers.
  5. Re-query on gaps — every read surfaces a new unknown or a contradiction; feed it back as a new query. Why: this is the part that makes it a loop instead of a list.
  6. Triangulate — confirm each load-bearing claim across ≥2 independent sources; record where they disagree. Why: triangulation is the foundation of a credible finding.
  7. Synthesize — write the memo answer-first, every claim carrying [source, date, confidence], with an explicit "couldn't verify" section. Why: the memo is the deliverable; the searches were just inputs.

Stop rule: stop when new searches stop changing the answer (coverage plateaus) OR the budget cap is hit — whichever comes first. Looping forever is not rigor.

Scope first

Refuse to start on an underspecified question. Researching a fuzzy ask produces a fuzzy memo and wastes the search budget. Before the first query, get the 2–3 answers that change which sources are even relevant.

text
Bad  (will waste the budget):  "What car should I buy?"
Good (scopeable):              "Best used EV under €25k for a 40km daily commute,
                                bought in Spain in 2026, prioritizing range over trim."

The clarifiers that almost always matter: constraint (budget / scale / tolerance), context (where, for whom, what stack), and time ("as of when" — 2026 answers differ from 2023 ones). If the asker can't answer them, ask; don't guess and research the wrong thing.

Source credibility

Not every source counts the same. Restrict to primary / authoritative sources where you can — official docs, standards bodies, regulator pages, company release notes, filings, the actual paper. When a claim lives only in secondary commentary, it drops a confidence tier. Pick the credibility check by source type:

Source typeCheck to applyDefault confidence
Official docs, standards, regulator, filing, release notesSIFT — Trace to original; you are already at itHigh
Peer-reviewed / scholarly / formal documentCRAAP (Currency, Relevance, Authority, Accuracy, Purpose)High once it passes
Trade press / reputable news, corroborated by anotherSIFT — Find better coverage, confirm elsewhereMedium
Single blog, vendor marketing, forum post, uncorroboratedSIFT — Investigate the source; treat as a lead, not a factLow
AI summary / search snippetNot a source — open the page it citesNone until traced

Lateral reading is the non-negotiable move. To judge a page, leave it: open a new tab and check what others say about the author/org rather than trusting the page's account of itself. A site's "About" page is not evidence the site is authoritative. Full SIFT/CRAAP walkthrough, lateral-reading recipe, and worked tier examples live in references/credibility-rubric.md.

Date everything

Every non-obvious claim carries a date, because "true" has a shelf life — a 2024 pricing fact or API behaviour may be wrong in 2026. Record both dates when they differ:

  • Publication date — when the source was written/last updated.
  • Access date — when you read it (matters for living pages with no clear pub date).

Provenance line grammar (the contract the verify gate checks):

text
CLAIM — [Source title](https://url), pub 2026-04-12 / accessed 2026-06-02 · confidence: high

If a source carries no discernible date, that's a finding in itself: record pub: n/a, keep the access date, and drop it a tier. Stale → re-verify: when refreshing an old memo, re-run the loop on the dated claims; don't just copy yesterday's citation forward. Full skeleton and grammar: references/memo-template.md.

Verify load-bearing claims

A claim is load-bearing if the answer changes when it's wrong. Triangulate every one against ≥2 independent sources — independent meaning they don't both trace back to the same origin (three blogs quoting one press release is one source, not three).

When sources disagree, surface the disagreement; never average it away. "Source A says X, source B says Y, here's why and which I weight higher" is a finding. Splitting the difference into a number neither source supports is a fabrication. If you genuinely find no disagreement, say so explicitly — silence reads as "didn't check."

This is why the memo is structured claim → source → date → confidence rather than as flowing prose: roughly 15–20% of AI research reports contain an error a human catches on review, and they can only catch it if each claim is individually checkable.

Show full SKILL.md (514 more words)Show less

Synthesize

The memo is the deliverable. Structure it so the answer arrives first and the evidence backs it up — not a link dump the reader has to assemble themselves.

markdown
## Answer
<the direct answer in 2–4 sentences; the bottom line up front>

## Findings
- <claim> — [Source](url), pub YYYY-MM-DD / accessed YYYY-MM-DD · confidence: high|med|low
- <claim, triangulated> — corroborated by [A](url, date) and [B](url, date) · confidence: high

## Disagreements
- <where sources conflicted, and how you weighted them> — or "none found across N sources"

## Open questions / could not verify
- <what you could not source; what's still an assumption; what would settle it>

The "Open questions / could not verify" section is mandatory and is not a sign of failure — it's the honest boundary of what the evidence supports. A memo with no open questions on a hard topic is usually a memo that stopped looking.

Budget & stop rules

Cap effort so the loop terminates. Sensible defaults for an on-demand run:

  • ~5–8 searches to start; escalate past that only when a real gap or contradiction demands it, not reflexively.
  • Fetch what you'll cite, not everything you find — reading 8 sources well beats skimming 40.
  • Stop when two more searches don't move the answer (coverage plateau) or the cap is hit. Then write — note in Open questions anything the budget left unresolved.

Anti-patterns

Anti-patternWhy it failsDo instead
One search, then reason over the snippetsThat's a guess with footnotes, not researchRun the loop: re-query on every gap
Citing the search-result snippetSnippets drop caveats, dates, numbersFetch and cite the actual page
Single-source claim presented as factOne source can be wrong or biasedTriangulate load-bearing claims across ≥2 independent sources
Averaging two contradicting sourcesInvents a number neither source supportsSurface the disagreement and weight it
Trusting a page's self-description"About us" is not evidence of authorityLateral-read: check the org elsewhere
Undated citationA 2023 fact may be false in 2026Record pub + accessed date on every claim
No confidence tierReader can't tell a filing from a forum postTag high/med/low per finding
No "could not verify" sectionHides the boundary of the evidenceAlways include open questions
Synthesizing before readingConclusion drives the search, not the evidenceRead first, conclude after
Infinite search, no stop ruleBurns budget, never ships the memoCap searches; stop at coverage plateau
Topic-creep into market sizingThat's a different skill's jobRoute TAM/SAM/SOM to ../market-research
Re-citing a stale memo unchangedYesterday's source may be outdatedOn refresh, re-verify the dated claims

Verify

The memo is a checkable artifact, so there's a gate for it. Run it against the produced memo (read-only; it never edits):

bash
./scripts/verify.sh --path memo.md     # check one memo
./scripts/verify.sh --path research/   # scan a directory of memos

It asserts the memo has an answer/summary section, that every finding line carries a citation token, that every citation carries a date, that a confidence tier appears, and that an "Open questions / unverified" section exists. A missing or empty target is a SKIP, not a failure. The gate proves the memo is sourced and dated — it does not judge whether the answer is correct; that's the capability eval's and your job.

See also

  • ../market-research/SKILL.md — when the question is "how big is the market / who's in it" (TAM/SAM/SOM), not "what's true about X".
  • ../competitor-watch/SKILL.md — when you need a standing cadence watch on named rivals, not a one-shot investigation.
  • ../data-scraper/SKILL.md — when the job is bulk-extracting data from many pages; research-ops uses fetched pages, it doesn't own scrape infra.
  • ../knowledge-ops/SKILL.md — to file what you already know into a durable base; research-ops produces findings, knowledge-ops files them.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/research-ops of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/credibility-rubric.md
  • references/memo-template.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Research Ops next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Research Ops compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Research Ops this skillericrisco/rsc-harness167—~2.9kAutomated safety check: PassMIT
Startup Designferdinandobons/startup-skill1.2k—~8.1kAutomated safety check: PassMIT
Market Research ReportsK-Dense-AI/claude-scientific-writer2.4k1 repos~3.5kAutomated safety check: PassMIT
Market Research Analysismanojbajaj95/claude-gtm-plugin105—~2.6kAutomated safety check: PassMIT
Market Researchgustavscirulis/snapgrid1172 repos~3.1kAutomated safety check: PassCustom licence
Product Strategistnicepkg/auto-company1921 repos~2.4kAutomated safety check: PassNone

Similar skills

  • Startup Design

    ferdinandobons/startup-skill

    Design, validate, and plan a startup from scratch. An agent skill from ferdinandobons/startup-skill.

    1.2k GitHub stars~8.1k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed
  • Market Research Reports

    K-Dense-AI/claude-scientific-writer

    Builds market research reports and market sizing or forecast scenarios in which every claim, source, assumption and uncertainty can be traced and audited.

    2.4k GitHub starsUsed in 1 repo~3.5k tokens
    Marketing & SEOAuto-check passed
  • Market Research Analysis

    manojbajaj95/claude-gtm-plugin

    Comprehensive market research and analysis skill. An agent skill from manojbajaj95/claude-gtm-plugin.

    105 GitHub stars~2.6k tokensUpdated 19 days ago
    Marketing & SEOAuto-check passed
  • Market Research

    gustavscirulis/snapgrid

    Deep market analysis for iOS/macOS apps including market sizing (TAM/SAM/SOM), growth trends, market maturity, entry barriers, distribution channels, and revenue potential.

    117 GitHub starsUsed in 2 repos~3.1k tokens
    Marketing & SEOAuto-check passed
  • Product Strategist

    nicepkg/auto-company

    Expert product strategy covering market analysis, competitive positioning, go-to-market planning, and product-led growth.

    192 GitHub starsUsed in 1 repo~2.4k tokens
    Marketing & SEOAuto-check passed
  • Market Research

    shawnpang/startup-founder-skills

    When the user needs to estimate market size, understand market dynamics, or validate that a market opportunity is large enough to pursue.

    341 GitHub stars~1.9k tokensUpdated 6 mo ago
    Marketing & SEOAuto-check passed

More from ericrisco/rsc-harness

All 227 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    167 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    167 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    167 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    167 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    167 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    167 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Questions about Research Ops

What does Research Ops do?

A skill your agent uses when someone hands you an open question whose answer must survive scrutiny — a tech choice, a regulation, a what-is-actually-true-about-X — with every non-obvious claim dated…. Research Ops is an agent skill from ericrisco/rsc-harness. Use when someone hands you an open question whose answer must survive scrutiny — a tech choice, a regulation, a what-is-actually-true-about-X — with every non-obvious claim dated and sourced, source disagreements surfaced rather than averaged away, and a cited memo as the deliverable.

When should I use Research Ops?

Research Ops fits situations like: someone hands you an open question whose answer must survive scrutiny — a tech choice; A what-is-actually-true-about-X — with every non-obvious claim dated and sourced; source disagreements surfaced rather than averaged away; A cited memo as the deliverable.

How do I install Research Ops in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill research-ops -a claude-code`. Or copy the skill folder (skills/research-ops in ericrisco/rsc-harness) into .claude/skills/research-ops in your project. Claude Code loads it when a task matches its description.

How do I install Research Ops in Codex?

Run `npx skills add ericrisco/rsc-harness --skill research-ops -a codex`. Or copy the skill folder (skills/research-ops in ericrisco/rsc-harness) into .agents/skills/research-ops in your project. Codex loads it when a task matches its description.

Can I use Research Ops in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill research-ops -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/research-ops, .gemini/skills/research-ops, .github/skills/research-ops and .opencode/skills/research-ops in your project.

What does Research Ops need to run?

Going by SKILL.md and its folder, Research Ops needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Research Ops access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Research Ops safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Research Ops use?

Research Ops is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Research Ops use?

About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Research Ops?

Skills that share tags, products or a category with Research Ops: Startup Design (ferdinandobons/startup-skill, 1.2k stars), Market Research Reports (K-Dense-AI/claude-scientific-writer, 2.4k stars), Market Research Analysis (manojbajaj95/claude-gtm-plugin, 105 stars) and Market Research (gustavscirulis/snapgrid, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Research Ops?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 skills in this directory. The repository was last updated on October 7, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.