Lev Research
Deep/current/external branch of the unified lev find story.
Use lev find first for local repo/operator truth.
Use lev-research when:
- the answer depends on current web data
- the user asked for deep/comparative/exhaustive research
- you need multi-source synthesis beyond local indexes
- you need social or academic adapters
Implementation surface: plugins/timetravel with root Poly bindings over core-timetravel.
Use lev research as the northbound runtime surface. lev timetravel remains the
underlying runtime/compat surface.
Usage
lev research --help
When published to npm, this becomes:
npx @lev-os/lev research --help
Run that command to see available subcommands, strategies, adapters, and options. The CLI is the documentation. Do not duplicate its interface here.
For agents
- First decide whether the task is local retrieval or real research.
- Local repo/docs/tasks/session recall →
lev find / agent-native tools, not this skill
- Current/deep/external question → continue here
- Classify the query (quick/full/deep/max/social/academic) using the signal words below
- For
deep, max, and academic, first build a short research prompt package:
objective, audience, scope, known context, sub-questions, evidence contract, and output contract.
Use the deep research prompt contract below and the runtime strategy metadata
in plugins/timetravel/src/strategy.ts.
Historical lev research outputs and generated results are AutoWiki intake
material, not canonical guidance. Treat them as raw sources for the wiki
projection unless they have been source-reviewed and promoted.
- When you need to inspect the package before spending adapter calls, run:
lev research "<query>" -s <strategy> --prompt-plan-only
- When the user asks for FlowMind handling or recursive research, run:
lev research "<query>" -s <strategy> --flow=deep-research --flow-plan-only
first, then remove --flow-plan-only when a bounded FlowMind run is desired.
- Print:
research-route: <strategy> | lev research -s <strategy>
- Run
lev research "<query>" -s <strategy> via Bash. Prompt planning is
default-on for deep, max, and academic; completed runs wikify by
default into the project AutoWiki raw layer. Use --no-prompt-plan only
when terse output is required and --no-wikify only when the run must not
touch wiki intake.
- If the CLI returns sources/URLs, return those results. Synthesize for deep/max/academic.
- If the CLI returns no sources/URLs, reports no adapters, errors, or otherwise cannot reach the web, immediately fall back to the agent's available internet search tools (
web_search, WebSearch, browser/search MCP, or equivalent). Do not stop at Sources: 0.
- Print the fallback in the route line or next status line:
research-route: <strategy> | lev research -s <strategy> | fallback: internet-search (<reason>)
- Return only source-backed results. If both CLI and fallback search fail, say that no live sources could be reached and include the exact failure mode.
Internet fallback contract
lev research is the preferred router, not a blocker. The job of this skill is live research. When the router cannot produce URLs, use whatever internet search capability is available in the current agent runtime.
Minimum fallback behavior:
- Run at least one web search query for quick/full requests and multiple targeted queries for deep/max requests.
- Open or inspect primary sources when accuracy depends on exact wording.
- Include source URLs in the answer.
- Do not answer from training data when the user asked for current or external information.
Deep research prompt contract
Deep research quality depends on the input contract. Before running deep, max,
or academic, compress the user request into:
Objective: one precise research question.
Audience: who will use the answer and what decision it supports.
Scope: timeframe, geography, domains, source classes, exclusions.
Known context: assumptions, prior decisions, baseline facts, or files.
Sub-questions: 3-7 focused queries that can be searched independently.
Evidence contract: source quality, recency, citation, and contradiction rules.
Output contract: structure, confidence labels, limits, and open questions.
Provider-specific rules belong in the runtime strategy metadata and AutoWiki
intake/projection, not in this skill directory. If provider behavior matters,
verify against current provider docs and cite the URLs you used.
Signal word classification
| Signal Words |
Strategy |
| "search", "lookup", "find", "what is" |
quick |
| "twitter", "reddit", "trending", "sentiment" |
social |
| "paper", "arxiv", "academic", "scholarly" |
academic |
| "research", "deep", "comprehensive", "analyze", "compare", "investigate" |
deep |
| "complete analysis", "exhaustive", "all angles" |
max |
Ambiguous? Default to quick.
Anti-Patterns
| Don't |
Why |
| Use this skill for ordinary repo search |
lev find is the local retrieval primitive |
Use direct internet search as the first step when lev research is healthy |
Keep the router as the primary path so adapter logs and strategy selection remain consistent. |
| Spawn subagents to search |
Timetravel handles parallelism internally. |
| Duplicate strategy/adapter definitions |
Source of truth is plugins/timetravel/src/strategy.ts. |
Stop after Sources: 0 |
No URLs from the router means use internet-search fallback, not no answer. |
| Answer from training data |
No URLs = no answer. Call the CLI, then internet-search fallback if needed. |
| Treat synthesis-only output as sourced |
Some providers synthesize without URLs; verify with source-bearing adapters or fallback search. |
1---2name: research3description: Use when any research, search, or information gathering is needed.4---56# Lev Research78Deep/current/external branch of the unified `lev find` story.910Use `lev find` first for local repo/operator truth.1112Use `lev-research` when:13- the answer depends on current web data14- the user asked for deep/comparative/exhaustive research15- you need multi-source synthesis beyond local indexes16- you need social or academic adapters1718Implementation surface: `plugins/timetravel` with root Poly bindings over `core-timetravel`.19Use `lev research` as the northbound runtime surface. `lev timetravel` remains the20underlying runtime/compat surface.2122## Usage2324```bash25lev research --help26```2728When published to npm, this becomes:2930```bash31npx @lev-os/lev research --help32```3334Run that command to see available subcommands, strategies, adapters, and options. The CLI is the documentation. Do not duplicate its interface here.3536## For agents37380. First decide whether the task is local retrieval or real research.39 - Local repo/docs/tasks/session recall → `lev find` / agent-native tools, not this skill40 - Current/deep/external question → continue here411. Classify the query (quick/full/deep/max/social/academic) using the signal words below422. For `deep`, `max`, and `academic`, first build a short research prompt package:43 objective, audience, scope, known context, sub-questions, evidence contract, and output contract.44 Use the deep research prompt contract below and the runtime strategy metadata45 in `plugins/timetravel/src/strategy.ts`.46 Historical `lev research` outputs and generated results are AutoWiki intake47 material, not canonical guidance. Treat them as raw sources for the wiki48 projection unless they have been source-reviewed and promoted.493. When you need to inspect the package before spending adapter calls, run:50 `lev research "<query>" -s <strategy> --prompt-plan-only`514. When the user asks for FlowMind handling or recursive research, run:52 `lev research "<query>" -s <strategy> --flow=deep-research --flow-plan-only`53 first, then remove `--flow-plan-only` when a bounded FlowMind run is desired.545. Print: `research-route: <strategy> | lev research -s <strategy>`556. Run `lev research "<query>" -s <strategy>` via Bash. Prompt planning is56 default-on for `deep`, `max`, and `academic`; completed runs wikify by57 default into the project AutoWiki raw layer. Use `--no-prompt-plan` only58 when terse output is required and `--no-wikify` only when the run must not59 touch wiki intake.607. If the CLI returns sources/URLs, return those results. Synthesize for deep/max/academic.618. If the CLI returns no sources/URLs, reports no adapters, errors, or otherwise cannot reach the web, immediately fall back to the agent's available internet search tools (`web_search`, `WebSearch`, browser/search MCP, or equivalent). Do not stop at `Sources: 0`.629. Print the fallback in the route line or next status line:63 - `research-route: <strategy> | lev research -s <strategy> | fallback: internet-search (<reason>)`6410. Return only source-backed results. If both CLI and fallback search fail, say that no live sources could be reached and include the exact failure mode.6566### Internet fallback contract6768`lev research` is the preferred router, not a blocker. The job of this skill is live research. When the router cannot produce URLs, use whatever internet search capability is available in the current agent runtime.6970Minimum fallback behavior:71- Run at least one web search query for quick/full requests and multiple targeted queries for deep/max requests.72- Open or inspect primary sources when accuracy depends on exact wording.73- Include source URLs in the answer.74- Do not answer from training data when the user asked for current or external information.7576### Deep research prompt contract7778Deep research quality depends on the input contract. Before running `deep`, `max`,79or `academic`, compress the user request into:8081```text82Objective: one precise research question.83Audience: who will use the answer and what decision it supports.84Scope: timeframe, geography, domains, source classes, exclusions.85Known context: assumptions, prior decisions, baseline facts, or files.86Sub-questions: 3-7 focused queries that can be searched independently.87Evidence contract: source quality, recency, citation, and contradiction rules.88Output contract: structure, confidence labels, limits, and open questions.89```9091Provider-specific rules belong in the runtime strategy metadata and AutoWiki92intake/projection, not in this skill directory. If provider behavior matters,93verify against current provider docs and cite the URLs you used.9495### Signal word classification9697| Signal Words | Strategy |98|---|---|99| "search", "lookup", "find", "what is" | `quick` |100| "twitter", "reddit", "trending", "sentiment" | `social` |101| "paper", "arxiv", "academic", "scholarly" | `academic` |102| "research", "deep", "comprehensive", "analyze", "compare", "investigate" | `deep` |103| "complete analysis", "exhaustive", "all angles" | `max` |104105Ambiguous? Default to `quick`.106107## Anti-Patterns108109| Don't | Why |110|---|---|111| Use this skill for ordinary repo search | `lev find` is the local retrieval primitive |112| Use direct internet search as the first step when `lev research` is healthy | Keep the router as the primary path so adapter logs and strategy selection remain consistent. |113| Spawn subagents to search | Timetravel handles parallelism internally. |114| Duplicate strategy/adapter definitions | Source of truth is `plugins/timetravel/src/strategy.ts`. |115| Stop after `Sources: 0` | No URLs from the router means use internet-search fallback, not no answer. |116| Answer from training data | No URLs = no answer. Call the CLI, then internet-search fallback if needed. |117| Treat synthesis-only output as sourced | Some providers synthesize without URLs; verify with source-bearing adapters or fallback search. |