/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
$ npx -y skills add alirezarezvani/claude-skills --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/cs-research
Context preview
What this command does when you run it.
/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
Command definition
cs-research.mdname: "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 ../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 ../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 ../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 → auditStop 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 answer instead
- Pre-answering the specialist's grill-me intake
- Running fallback when a sp
Read more
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 ../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 ../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 ../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 → auditStop 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 answer instead
- Pre-answering the specialist's grill-me intake
- Running fallback when a sp
362 production-ready Claude Code skills, plugins, and agent skills for 13 AI coding tools. The most comprehensive open-source library of Claude Code skills and agent plugins — also works with OpenAI Codex, Gemini CLI, Cursor, and 9 more coding agents.
Repo: alirezarezvani/claude-skills
Other commands on claude-skills.
- /focused-fix
Deep-dive feature repair — systematically fix an entire feature/module across all its files and dependencies. Usage: /focused-fix <feature-path>
Open command - /clean
Clean up merged branches locally and on remote, keeping only main, dev, and gh-pages.
Open command - /cm
Stage working tree changes and create a Conventional Commit (no push).
Open command - /cp
Stage, commit, and push the current branch following git governance rules.
Open command - /pr
Create a pull request from the current branch.
Open command - /plugin-audit
Comprehensive audit pipeline for skills, plugins, agents, and commands. Validates structure, quality, security, marketplace compliance, cross-platform compatibility, and ecosystem integration. Runs all built-in validation tools, invokes domain-appropriate agents for code review,
Open command

