orc-research

orc-research is a skill for Claude Code from qGolem/orc. It costs 12 tokens per session (2,413 once invoked), scanned B, original, MIT.

A research workflow for investigating the software ecosystem around a project. It uses separate researchers for the technology stack, features, architecture, and risks, then combines their findings into a summary.

In plain words
What is it for?
Use it to research a project before planning, producing documents about its stack, features, architecture, pitfalls, and a combined summary in the plan’s research folder.
Why use it?
It divides broad research into focused areas and keeps the detailed findings in project files. This makes the information available for later planning without relying on one short response.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: model in frontmatter; names the AskUserQuestion tool.

Part of the orc plugin — 29 skills, 27 agents shipped together

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 skills/qgolem/orc/orc-research
Any agent
npx skills add qGolem/orc --skill orc-research
Clone the repo
git clone --depth 1 https://github.com/qGolem/orc

Made for: Claude Code.

Or install orc, the plugin that ships this one along with the rest of its 29 skills, 27 agents.

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 orc-research

README.md
[![agentmods](https://agentmods.dev/badge/skills/qgolem/orc/orc-research.svg)](https://agentmods.dev/skills/qgolem/orc/orc-research)
Your own site
<a href="https://agentmods.dev/skills/qgolem/orc/orc-research"><img src="https://agentmods.dev/badge/skills/qgolem/orc/orc-research.svg" alt="Measured on agentmods" height="20"></a>
Per session 12 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,413 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. 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.00012 $0.02413
Opus 5 $0.00006 $0.01207
Sonnet 5 $0.00002 $0.00483
Haiku 4.5 $0.00001 $0.00241

Measured 5d ago against content hash 0717c3608c23, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade B, and why

orc-research scanned grade B with 1 finding 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 5d 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.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

cat .claude/plans/$ARGUMENTS/PROJECT.md 2>/dev/null
skills/orc-research/SKILL.md · 384 lines

How it starts

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

Each researcher agent investigates one dimension (stack, features, architecture, pitfalls) and writes its findings directly to .claude/plans/$ARGUMENTS/research/. After all 4 complete, a synthesizer agent reads all files and produces SUMMARY.md.

Output: .claude/plans/$ARGUMENTS/research/ folder with 5 research documents.

Why parallel researchers:

  • Fresh context per dimension (no token contamination)
  • Agents write documents directly (no context transfer back to orchestrator)
  • Faster execution (agents run simultaneously)
  • Synthesizer sees all dimensions at once for cross-cutting insights

Prerequisites:

  • .claude/plans/$ARGUMENTS/PROJECT.md should exist (created by /orc or /zed)
  • PROJECT.md provides project name, description, and goals that inform research

This command can run:

  • During /orc flow (after PROJECT.md, before roadmap generation)
  • Standalone for any project that needs domain research

Step 1: Validate arguments and read PROJECT.md

If $ARGUMENTS is empty, ask the user for a slug:

AskUserQuestion:
  header: "Slug"
  question: "What slug should be used for the plan directory?"
  options:
    - label: "Enter slug"
      description: "e.g., my-project, webapp-v2"

Read PROJECT.md to determine project context:

cat .claude/plans/$ARGUMENTS/PROJECT.md 2>/dev/null

If PROJECT.md doesn't exist, ask the user for project context:

AskUserQuestion:
  header: "Context"
  question: "No PROJECT.md found. What is this project about? (domain, goals, type of product)"
  options:
    - label: "Describe project"
      description: "Provide a brief project description"

Determine milestone context:

  • If no existing codebase or greenfield description -> Greenfield (building from scratch)
  • If existing code or brownfield description -> Subsequent milestone (adding to existing app)

Step 2: Check existing research

ls -la .claude/plans/$ARGUMENTS/research/ 2>/dev/null && echo "has_research=true" || echo "has_research=false"

If research/ already exists:

AskUserQuestion:
  header: "Existing"
  question: ".claude/plans/$ARGUMENTS/research/ already exists. What should we do?"
  options:
    - label: "Refresh"
      description: "Delete existing and re-research"
    - label: "Skip"
      description: "Use existing research as-is"

If "Refresh": Delete research/, continue to step 3 If "Skip": Exit workflow

If doesn't exist: Continue to step 3.


Step 3: Create directory and display progress

mkdir -p .claude/plans/$ARGUMENTS/research

Display spawning indicator:

Spawning 4 researchers in parallel...
  -> Stack research
  -> Features research
  -> Architecture research
  -> Pitfalls research

Step 4: Spawn 4 researcher agents

Spawn 4 parallel research agents using Task tool with subagent_type="orc:orc-project-researcher" and run_in_background=true.

Extract [domain] and [project description] from PROJECT.md.

Agent 1: Stack Research

Task(
  subagent_type="orc:orc-project-researcher",
  run_in_background=true,
  description="Stack research",
  prompt="You are a project researcher. Research the standard stack for [domain].

<research_type>
Project Research -- Stack dimension for [domain].
</research_type>

<milestone_context>
[greenfield OR subsequent]
</milestone_context>

<question>
What's the standard stack for [domain] in [current year]?
</question>

<files_to_read>
- .claude/plans/$ARGUMENTS/PROJECT.md (Project context and goals)
</files_to_read>

<downstream_consumer>
Your STACK.md feeds into roadmap creation. Be prescriptive:
- Specific libraries with versions
- Clear rationale for each choice
- What NOT to use and why
</downstream_consumer>

<quality_gate>
- [ ] Versions are current (verify with docs, not training data)
- [ ] Rationale explains WHY, not just WHAT
- [ ] Confidence levels assigned to each recommendation
</quality_gate>

<output>
Write to: .claude/plans/$ARGUMENTS/research/STACK.md
</output>
")

Read the full file on GitHub · 384 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. 5d ago First seen · 384 lines · 12 tokens per session scan B 0717c3608c23

Subscribe to this mod's changes

orc-research is a skill published in the GitHub repository qGolem/orc (5 stars, last pushed 5mo ago), licensed MIT. It adds 12 tokens to every session and 2,413 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

recipe-front-review

Reviews completed frontend implementation for governing-source compliance, scope economy, repository quality, and security, then applies user-approved React corrections.

shinpr/claude-code-workflows · 29 tokens

new-skill

Scaffold a new brooks-lint analysis skill so it passes npm run validate and npm run evals on the first try — generates skills/{name}/SKILL.md (with the mandatory "Do NOT trigger for:" clause and a Process section citing guide step ranges) plus skills/{name}/{name}-guide.md (sequentially numbered steps), then appends…

hyhmrright/brooks-lint · 145 tokens

recipe-add-integration-tests

Add integration/E2E tests to existing codebase using Design Docs.

shinpr/claude-code-workflows · 19 tokens

llm-friendly-context

Clarifies inputs, outputs, success criteria, decisions, and unresolved conditions so downstream consumers can execute without guessing. Use when writing or revising LLM-facing prompts, handoffs, planning artifacts, reviews, reports, or generated instructions.

shinpr/claude-code-workflows · 52 tokens

status

Where is the work right now. Regenerates the projections and the kanban board from the journal and answers with the progress line, the agents still running, the open gates and the resume steps. Read-only. Use for /tyran:status or when asked what is going on.

jjanczur/tyran · 58 tokens

prompt-tuning

Tune a prompt, or anything whose quality is measured by non-deterministic model output, without chasing noise - a noise baseline before the first edit, medians over repeated runs, enforcement AFTER generation rather than in the wording. Use when iterating on prompts or model-judged output.

jjanczur/tyran · 58 tokens