Skip to content
AI & Agents
Command

/cs-research

/cs-research <question> — Default research entry point. Hybrid router: classifies question deterministically and either delegates to specialist (pulse / grants / litreview / dossier / patent / syllabus) OR runs own plan-decompose-search-synthesize fallback. Always surfaces

From plugin
claude-skills
30k169 skills127 agents169 commands2 MCP
$ npx -y skills add alirezarezvani/claude-skills --agent claude-code

Command definition

cs-research.md
disable-model-invocation: true
name: "cs-research"
description: "/cs-research <question> — Default research entry point. Hybrid router: classifies question deterministically and either delegates to specialist (pulse / grants / litreview / dossier / patent / syllabus) OR runs own plan-decompose-search-synthesize fallback. Always surfaces routing decision; accepts override. NEVER silent delegation."

/cs-research — Hybrid Research Router + Fallback

**Command:** `/cs-research <research question>`

The `cs-research` persona is the **default entry point for any research request**. Routes to a specialist or runs fallback. Always transparent about the routing decision.

Distinct from `engineering/autoresearch-agent`

These share the word "research" but serve **different use cases**:

  • **`/cs-research`** (this command) — research-query routing + fallback workflow
  • **`engineering/autoresearch-agent`** — autonomous file-optimization experiment loop (Karpathy pattern)

No overlap. Don't confuse them.

When to Run

  • Default for ANY research request — let the router pick the right tool
  • You're not sure which specialist applies
  • You want fallback if no specialist fits
  • You want one consistent entry point for research work

When NOT to Run

  • You already know which specialist applies — invoke it directly (`/cs-litreview`, `/cs-grants`, etc.) and skip the routing step
  • You want file-optimization experiments — use `engineering/autoresearch-agent`

The 6 Routing Targets

| Specialist | Routes when question mentions | |---|---| | `pulse` | reddit / hn / x / buzz / sentiment / trending / "pulse on" | | `grants` | NIH / grant / R01 / K-award / RePORTER / "grants for" | | `litreview` | literature review / PICO / SPIDER / systematic review | | `syllabus` | syllabus attached / course outline / reading list | | `patent` | prior art / FTO / freedom to operate / patent / novelty | | `dossier` | "dossier on" / due diligence / background check / "prep me for" |

Minimal Intake (2-4 Questions)

| Q | Asks | When | |---|---|---| | Q1 | Research question (1-2 sentences, specific) | Always | | Q2 | Output: quick chat brief OR standalone .docx | Always | | Q3 | Domain disambiguation (7-option pick-list, with a recommended answer when one signal matched) | When classification is ambiguous OR a single bare-noun signal matched | | Q4 | Time horizon for general research (quick 5 vs thorough 15) | Only when Q3 was needed AND user picked "none of the above" |

Most invocations exit at Q2.

Routing Transparency (Mandatory)

After classification, the skill **always**:

1. States the decision in one sentence: "Routing to `litreview` because you mentioned PICO and systematic review (2 signals)." 2. Offers override: "If you want general research instead or a different specialist, say so." 3. Proceeds with the recommended route if the user doesn't object (no timers). 4. If user overrides → accepts, re-routes, logs the override.

**Never delegates silently.** This is the trust-building property that makes the hybrid pattern work.

What You Get

**If delegated to specialist:** the specialist's full output (markdown briefing OR .docx, depending on specialist). Tagged with `[Delegated to: research → {specialist}]`.

**If fallback:** the skill runs its own 8-step workflow and produces:

# [Research Question] — Briefing
*Generated: [DATE] | Routed: fallback*

## TL;DR
[2-3 sentences]

## Findings
### [Sub-question 1]
[2-4 paragraphs with inline citations]
### [Sub-question 2]
...

## Cross-Cutting Patterns
[1-2 paragraphs]

## Sources
[Numbered + hyperlinked + reliability tier per source]

## Audit
[Three counts + per-source tier + failures]

DOCX version uses same structure with research-pack styling.

Discipline

  • **Deterministic classification** (NOT LLM-reasoned) — keyword signal matching via `classifier.py`
  • **Routing transparency mandatory** — never silent
  • **Specialist delegation is pass-through** — don't pre-answer specialist questions
  • **Fallback after Q3** when no specialist matches
  • **Refuse generic "research [topic]"** to a specialist without paired specialist-noun
  • **Three-count tracking** in fallback mode
  • **Source discipline** — cite only this-session tool calls

Workflow

# Phase 1 intake (Q1 + Q2 minimum)

# Phase 2 classification
python ${CLAUDE_PLUGIN_ROOT}/skills/research/scripts/classifier.py --question "<Q1>"
# Returns: {route_to: "litreview", confidence: "high (2 signals)", matched: [...]}

# Phase 3a delegation (if specialist matched at ≥2 signals)
python ${CLAUDE_PLUGIN_ROOT}/skills/research/scripts/routing_transparency_logger.py \
  --action record_delegation --session NAME --target litreview --signals "..."
# Pass question to /cs-litreview verbatim; let it run its own intake

# Phase 3b fallback (if no specialist matched)
python ${CLAUDE_PLUGIN_ROOT}/skills/research/scripts/fallback_decomposer.py --question "<Q1>"
# Returns 3-5 sub-questions
# Run 8-step fallback workflow: source-select → search → read+extract → synthesize → cross-cut → output → audit

Stop Conditions

  • Specialist delegated → specialist's stop condition applies
  • Fallback complete → markdown brief or DOCX delivered
  • Q3 picked but no clear specialist → ask Q4 (time horizon), then run fallback
  • User says "stop" → produce partial result with what's been collected

Trigger Phrases

  • "research [topic]"
  • "look into [topic]"
  • "what do we know about [topic]"
  • "investigate [topic]"
  • "find me information on [topic]"
  • "do some research on [topic]"
  • "I need to understand [topic]"
  • Plus: any research request that doesn't obviously match a more-specific specialist

Anti-Patterns Rejected

  • LLM-reasoned classification (must be deterministic keyword matching)
  • Silent delegation (always surface routing decision)
  • Refusing to route to a specialist when ≥2 signals match
  • Silent-routing on a single bare-noun signal (e.g., "funding", "fda") — ask Q3 with a recommended answ
Read more
@alirezarezvani
Ships withclaude-skills

411 production-ready skills for Claude Code and 12 other coding agents, covering engineering, product, marketing, compliance, finance and the C-suite. We test whether each skill loads when you ask in plain words, and publish the results.

30k200 skills127 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
29.6k
Star history of alirezarezvani/claude-skills on GitHub, a chart by star-history.com

Other commands on claude-skills.

focused-fix

focused-fix

Command

Deep-dive feature repair — systematically fix an entire feature/module across all its files and dependencies. Usage: /focused-fix…

plugin-audit

plugin-audit

Command

Comprehensive audit pipeline for skills, plugins, agents, and commands. Validates structure, quality, security, marketplace…

More commands from other plugins.

devbox-entrypoint

devbox-entrypoint

Command

Context: runloop resumes a devbox by re-running the same entrypoint script, which invokes `cn serve --id <agentId> ...`. Because…

continue12d36k
@continuedev@continuedevInstall Command
c

c

Command

Shortcut for "continue working" — pick the work in flight back up exactly where it stopped and keep going until it is done or…

lifeos2w20k
@danielmiessler@danielmiesslerInstall Command
sidecar

sidecar

Command

Spawn a read-only sidecar subagent to investigate something in this checkout without editing files, moving branches, or touching…

@builderio@builderioInstall Command