Investigate anything, from anywhere: verify a claim, search the web, find better options, pull
inspiration from stronger sources, weigh perspectives, and package technical research for a plan.
Research
/research is a first-class capability, not a stage. Any agent may invoke it at any point —
standalone, or in the middle of another skill — whenever a question needs evidence before a
decision. It is broader than parallel-deep-research: that sibling is a heavyweight external
market/industry report; this skill is your everyday "go find out and come back with evidence."
When to use it
- Verify a claim — "is this API deprecated?", "does this library support X?", "is this the
current best practice?" Confirm or refute against primary sources.
- Find a better way / better options — enumerate real alternatives and compare trade-offs.
- Web research — best practices, gotchas, current docs, changelogs, version differences.
- Inspiration / prior art — pull stronger plans, patterns, and reference implementations
from better sources than memory.
- Multi-perspective — see it done the right way AND the wrong way; steelman and red-team.
- Codebase research — DRY, blast-radius, reusable patterns already in the repo.
- /plan Phase 2 bundle — the packaged deliverable
plan delegates to (see "Plan bundle").
How to invoke
Standalone (user asks directly):
/research <question or claim>
From inside another skill or agent — call the Skill tool mid-flow:
Skill("research") # then hand it the specific question + why you're asking
Always give research: (1) the concrete question or claim, (2) the decision it feeds, and
(3) any constraints (stack, versions, repo area). Research returns evidence, not opinion:
cited findings, and — when a caller needs it — a recommendation with the trade-offs shown.
Modes
Pick the mode(s) that fit the question. Most investigations combine two or three.
Mode A — Verify / fact-check a claim
- State the claim in one sentence and what would confirm vs refute it.
- Pull primary sources first (official docs, source code, specs, changelogs) via WebSearch
→ WebFetch. Secondary sources (blogs, SO) only corroborate.
- Adversarially check: look for the counter-evidence, not just confirmation.
- Return:
CONFIRMED / REFUTED / MIXED / UNKNOWN + the cited evidence + a one-line reason.
Never answer a factual claim from memory. Fetch the source, cite it (URL + the line that
settles it). "I'm confident" is not evidence.
Mode B — Explore options / find a better way
- Frame the decision and the constraints (perf, safety, complexity, lock-in, maturity).
- Enumerate 2–4 concrete options — include the "boring/obvious" one and at least one you did
not start with.
- For each: what it is, when it wins, when it loses, adoption/maintenance signal.
- Recommend one, with the trade-off that decides it. Show the runners-up so the caller can
overrule.
Mode C — Web search (quick → deep)
Depth ladder — escalate only as needed:
| Depth |
Tool |
Use for |
| Quick |
built-in WebSearch / WebFetch |
a fact, a doc page, one gotcha |
| Deep, cited |
Skill("deep-research") |
multi-source, adversarially verified report |
| External report |
Skill("parallel-deep-research") |
market/competitive/industry landscape (paid) |
Search terms that work: "[stack] [feature] best practices [year]",
"[library] [feature] pitfalls", "[approach] known issues". Prefer official docs via
Context7/grep.app MCP when available for library/API questions.
Mode D — Inspiration / better plans from better sources
Look outward before inventing: canonical implementations, well-run OSS repos, design docs,
RFCs. Pull the shape of a stronger solution and adapt it — don't copy blindly. Note the
source so the plan can cite where the idea came from.
Mode E — Multi-perspective (steelman + red-team)
For anything consequential, gather both:
- Steelman (the right way) — the strongest case for the approach and how experts do it.
- Red-team (the wrong way) — failure modes, anti-patterns, "why teams regret this",
security and edge-case traps.
Return both columns so the decision is made with eyes open, not just the happy path.
Mode F — Codebase research (DRY + blast-radius)
Use actual search tools — never rely on memory:
Grep("<function or concept>") # existing implementations to reuse
Glob("**/*.<ext>") # narrow to affected file types
Read(<match>) # inspect matches in context
- DRY: if a match exists, prefer "extend existing :" over "create new".
- Blast-radius (for remove/rename/replace): grep the entire repo (exact + case-insensitive
Glob("**/*<thing>*")), then list every hit — including package.json, install/setup
scripts, CI workflows, agent config, and docs — so nothing is missed.
For broad multi-location sweeps, spawn the Explore agent and keep only its summary.
Plan bundle (what /plan Phase 2 delegates to)
When invoked by /plan for a feature's design doc, run the full technical bundle and append it
under a ## Technical Research section in docs/work/YYYY-MM-DD-<slug>/plan.md:
- Web research (Mode C) — best practices, gotchas, patterns for the chosen approach.
- OWASP Top 10 pass — for each relevant category (A01–A10): the risk, whether it applies,
and the planned mitigation.
- DRY check (Mode F) — reusable existing implementations.
- Blast-radius search (Mode F) — required for any remove/rename/replace; every reference
captured for the task list.
- Codebase exploration — similar patterns, affected files, test infra to leverage.
- TDD scenarios — at minimum 3: happy path, error/failure path, and one Phase-1 edge case.
The caller's HARD-GATE (in /plan) still verifies these outputs exist — research produces
them; the gate enforces them. Do not treat delegation as a way to skip the gate.
Invoked mid-flow (examples)
- Mid-/validate — a security or type failure surfaces and the fix is unclear: call
Skill("research") to verify the correct API/pattern against primary sources before editing
(feeds the D2 root-cause trace), then return to validation.
- Mid-/dev — a decision gate fires on a spec gap: research the options (Mode B) and current
best practice (Mode C) so the decision is evidence-backed, then log the decision and continue.
- Mid-/plan — an approach looks shaky during brainstorming: research alternatives and
red-team the front-runner (Mode E) before committing the design.
- Any agent, any time — "before I decide, let me check" is always a valid reason to invoke.
Output contract
- Cite every non-obvious claim (URL or
file:line) — findings without sources are opinions.
- Lead with the answer/recommendation, then the evidence, then the runners-up.
- When invoked by
/plan, append to the design doc's ## Technical Research section (not a
separate file). When invoked mid-flow, return a concise evidence-backed answer to the caller.
- Flag what you could NOT verify as
UNKNOWN rather than guessing.
Integration with workflow
Utility: /status -> Understand current context before starting
Default template:
/plan -> Optional default planner; delegates its Phase 2 technical research to /research
/dev -> Implement each task with subagent-driven TDD (may call /research at a spec gap)
/validate -> Type check, lint, tests, security (may call /research to root-cause a failure)
/ship -> Push + create PR
/review -> Address PR feedback
/verify -> Post-merge health check
Research is callable standalone or from any of the above — it is a capability, not a gate.
Tips
- Evidence beats memory — always fetch and cite; never settle a fact from recall.
- Escalate depth deliberately — quick WebSearch first; reach for
deep-research or
parallel-deep-research only when a single search can't answer it.
- Both perspectives — for consequential calls, always red-team, not just steelman.
- Delegation ≠ skipping gates — when
/plan delegates the bundle, its HARD-GATE still
checks OWASP + 3 TDD scenarios + blast-radius are present.
1---2name: research3description: Forge RESEARCH — a first-class, freely-invocable investigation skill any agent can call standalone OR mid-workflow (mid-/dev, mid-/validate, mid-/plan), not a plan-only stage. Use it to verify/fact-check a claim against primary sources; web-search best practices, gotchas, and docs; find better options/patterns and weigh trade-offs; see both sides (steelman the right way AND red-team the wrong way); pull inspiration from stronger sources; and run the /plan Phase 2 bundle (web research + OWASP Top 10 + DRY/blast-radius codebase exploration + 3+ TDD scenarios) under `## Technical Research`. Trigger on "verify/fact-check this", "research X", "find a better way/option", "is this true", "get inspiration", "run the research phase", or mid-task "investigate before I decide". Pick over siblings: `parallel-deep-research` for a heavyweight EXTERNAL market/competitive report (paid Parallel AI); `plan` for the full plan stage (brainstorm + tasks); `dev` or `validate` to implement or scan rather than investigate.4---56Investigate anything, from anywhere: verify a claim, search the web, find better options, pull7inspiration from stronger sources, weigh perspectives, and package technical research for a plan.89# Research1011`/research` is a **first-class capability**, not a stage. Any agent may invoke it at any point —12standalone, or in the middle of another skill — whenever a question needs evidence before a13decision. It is broader than `parallel-deep-research`: that sibling is a heavyweight external14market/industry report; this skill is your everyday "go find out and come back with evidence."1516## When to use it1718- **Verify a claim** — "is this API deprecated?", "does this library support X?", "is this the19 current best practice?" Confirm or refute against primary sources.20- **Find a better way / better options** — enumerate real alternatives and compare trade-offs.21- **Web research** — best practices, gotchas, current docs, changelogs, version differences.22- **Inspiration / prior art** — pull stronger plans, patterns, and reference implementations23 from better sources than memory.24- **Multi-perspective** — see it done the right way AND the wrong way; steelman and red-team.25- **Codebase research** — DRY, blast-radius, reusable patterns already in the repo.26- **/plan Phase 2 bundle** — the packaged deliverable `plan` delegates to (see "Plan bundle").2728## How to invoke2930Standalone (user asks directly):3132```bash33/research <question or claim>34```3536From inside another skill or agent — call the Skill tool mid-flow:3738```39Skill("research") # then hand it the specific question + why you're asking40```4142Always give research: (1) the concrete question or claim, (2) the decision it feeds, and43(3) any constraints (stack, versions, repo area). Research returns **evidence, not opinion**:44cited findings, and — when a caller needs it — a recommendation with the trade-offs shown.4546---4748## Modes4950Pick the mode(s) that fit the question. Most investigations combine two or three.5152### Mode A — Verify / fact-check a claim53541. State the claim in one sentence and what would confirm vs refute it.552. Pull **primary sources** first (official docs, source code, specs, changelogs) via WebSearch56 → WebFetch. Secondary sources (blogs, SO) only corroborate.573. Adversarially check: look for the counter-evidence, not just confirmation.584. Return: `CONFIRMED / REFUTED / MIXED / UNKNOWN` + the cited evidence + a one-line reason.5960Never answer a factual claim from memory. Fetch the source, cite it (URL + the line that61settles it). "I'm confident" is not evidence.6263### Mode B — Explore options / find a better way64651. Frame the decision and the constraints (perf, safety, complexity, lock-in, maturity).662. Enumerate 2–4 concrete options — include the "boring/obvious" one and at least one you did67 not start with.683. For each: what it is, when it wins, when it loses, adoption/maintenance signal.694. Recommend one, with the trade-off that decides it. Show the runners-up so the caller can70 overrule.7172### Mode C — Web search (quick → deep)7374Depth ladder — escalate only as needed:7576| Depth | Tool | Use for |77|-------|------|---------|78| Quick | built-in `WebSearch` / `WebFetch` | a fact, a doc page, one gotcha |79| Deep, cited | `Skill("deep-research")` | multi-source, adversarially verified report |80| External report | `Skill("parallel-deep-research")` | market/competitive/industry landscape (paid) |8182Search terms that work: `"[stack] [feature] best practices [year]"`,83`"[library] [feature] pitfalls"`, `"[approach] known issues"`. Prefer official docs via84Context7/grep.app MCP when available for library/API questions.8586### Mode D — Inspiration / better plans from better sources8788Look outward before inventing: canonical implementations, well-run OSS repos, design docs,89RFCs. Pull the *shape* of a stronger solution and adapt it — don't copy blindly. Note the90source so the plan can cite where the idea came from.9192### Mode E — Multi-perspective (steelman + red-team)9394For anything consequential, gather both:9596- **Steelman (the right way)** — the strongest case for the approach and how experts do it.97- **Red-team (the wrong way)** — failure modes, anti-patterns, "why teams regret this",98 security and edge-case traps.99100Return both columns so the decision is made with eyes open, not just the happy path.101102### Mode F — Codebase research (DRY + blast-radius)103104Use actual search tools — never rely on memory:105106```107Grep("<function or concept>") # existing implementations to reuse108Glob("**/*.<ext>") # narrow to affected file types109Read(<match>) # inspect matches in context110```111112- **DRY**: if a match exists, prefer "extend existing <file>:<line>" over "create new".113- **Blast-radius** (for remove/rename/replace): grep the entire repo (exact + case-insensitive114 + `Glob("**/*<thing>*")`), then list every hit — including `package.json`, install/setup115 scripts, CI workflows, agent config, and docs — so nothing is missed.116117For broad multi-location sweeps, spawn the `Explore` agent and keep only its summary.118119---120121## Plan bundle (what `/plan` Phase 2 delegates to)122123When invoked by `/plan` for a feature's design doc, run the full technical bundle and append it124under a `## Technical Research` section in `docs/work/YYYY-MM-DD-<slug>/plan.md`:1251261. **Web research** (Mode C) — best practices, gotchas, patterns for the chosen approach.1272. **OWASP Top 10 pass** — for each relevant category (A01–A10): the risk, whether it applies,128 and the planned mitigation.1293. **DRY check** (Mode F) — reusable existing implementations.1304. **Blast-radius search** (Mode F) — required for any remove/rename/replace; every reference131 captured for the task list.1325. **Codebase exploration** — similar patterns, affected files, test infra to leverage.1336. **TDD scenarios** — at minimum 3: happy path, error/failure path, and one Phase-1 edge case.134135The caller's HARD-GATE (in `/plan`) still verifies these outputs exist — research produces136them; the gate enforces them. Do not treat delegation as a way to skip the gate.137138---139140## Invoked mid-flow (examples)141142- **Mid-/validate** — a security or type failure surfaces and the fix is unclear: call143 `Skill("research")` to verify the correct API/pattern against primary sources before editing144 (feeds the D2 root-cause trace), then return to validation.145- **Mid-/dev** — a decision gate fires on a spec gap: research the options (Mode B) and current146 best practice (Mode C) so the decision is evidence-backed, then log the decision and continue.147- **Mid-/plan** — an approach looks shaky during brainstorming: research alternatives and148 red-team the front-runner (Mode E) before committing the design.149- **Any agent, any time** — "before I decide, let me check" is always a valid reason to invoke.150151## Output contract152153- Cite every non-obvious claim (URL or `file:line`) — findings without sources are opinions.154- Lead with the answer/recommendation, then the evidence, then the runners-up.155- When invoked by `/plan`, append to the design doc's `## Technical Research` section (not a156 separate file). When invoked mid-flow, return a concise evidence-backed answer to the caller.157- Flag what you could NOT verify as `UNKNOWN` rather than guessing.158159## Integration with workflow160161```162Utility: /status -> Understand current context before starting163164Default template:165 /plan -> Optional default planner; delegates its Phase 2 technical research to /research166 /dev -> Implement each task with subagent-driven TDD (may call /research at a spec gap)167 /validate -> Type check, lint, tests, security (may call /research to root-cause a failure)168 /ship -> Push + create PR169 /review -> Address PR feedback170 /verify -> Post-merge health check171172Research is callable standalone or from any of the above — it is a capability, not a gate.173```174175## Tips176177- **Evidence beats memory** — always fetch and cite; never settle a fact from recall.178- **Escalate depth deliberately** — quick WebSearch first; reach for `deep-research` or179 `parallel-deep-research` only when a single search can't answer it.180- **Both perspectives** — for consequential calls, always red-team, not just steelman.181- **Delegation ≠ skipping gates** — when `/plan` delegates the bundle, its HARD-GATE still182 checks OWASP + 3 TDD scenarios + blast-radius are present.