Conduct preliminary research on a topic and generate a structured research outline. Use when the user says "research X", "compare options for X", "survey the landscape of X", "what are the main players in X", or needs a structured starting point for academic research, benchmark research, technology selection, or competitive analysis. Produces an outline.yaml (items + config) and fields.yaml (field definitions) that can feed into deeper research phases.
Generate a structured research outline for {{topic}}. The output is two YAML files — an items list and a field schema — ready for a deeper research phase.
| Variable | Source | Description |
|---|---|---|
{topic} | User argument | The research topic as provided |
{topic_slug} | Derived | Slugified topic: lowercase, spaces to hyphens, strip non-alphanumeric except hyphens, collapse consecutive hyphens, trim leading/trailing hyphens. E.g. "AI Coding Tools (2024)" becomes ai-coding-tools-2024 |
{date} | System | Current date in YYYY-MM-DD format |
{step1_output} | Step 1 | The initial framework (items list + field framework) in the format defined in Step 1 |
{step2_output} |
| Step 2 |
| Supplementary items and fields from web search |
{time_range} | User input | Time filter for web search (e.g. "last 6 months", "since 2024", "unlimited") |
Using your existing knowledge of {topic}, generate an initial framework with two sections:
Required output format for {step1_output}:
### Items List
1. Item Name: Brief description — why it's relevant to {topic}
2. Item Name: Brief description — why it's relevant to {topic}
...
### Field Framework
- Category Name: field_1, field_2, field_3
- field_1: What this field captures
- field_2: What this field captures
- field_3: What this field captures
- Category Name: field_4, field_5
...
Aim for 10-30 items and 3-6 field categories depending on topic breadth.
Present {step1_output} to the user and ask:
Incorporate feedback before proceeding.
Ask the user: "What time range should I search? (e.g. last 6 months, since 2024, unlimited)" — store as {time_range}.
Launch a background research task using the following prompt. Preserve the structure and goals; only substitute the {variables}.
If references/web-search-guide.md is available, read it before executing searches for methodology guidance.
Sub-agent prompt:
## Task
Research topic: {topic}
Current date: {date}
Based on the following initial framework, supplement latest items and recommended research fields.
## Search Strategy
- Use 3-5 query variations (technical terms, brand names, common synonyms)
- Prioritize: official sources, reputable tech publications, academic papers (if applicable)
- Cross-reference findings across multiple sources
- Note publication dates — flag anything older than 12 months as potentially outdated
## Existing Framework
{step1_output}
## Goals
1. Verify if existing items are missing important entries
2. Supplement items for any gaps found
3. Search for {topic} related items within {time_range} and supplement
4. Suggest new field categories if the existing framework misses important dimensions
## Output Requirements
Return structured results directly (do not write files):
### Supplementary Items
- item_name: Brief explanation (why it should be added)
...
### Recommended Supplementary Fields
- field_name: Field description (why this dimension is needed)
...
### Sources
- [Source description](url)
...
One-shot example (topic: "AI Coding History"):
## Task
Research topic: AI Coding History
Current date: 2025-12-30
Based on the following initial framework, supplement latest items and recommended research fields.
## Search Strategy
- Use 3-5 query variations (technical terms, brand names, common synonyms)
- Prioritize: official sources, reputable tech publications, academic papers (if applicable)
- Cross-reference findings across multiple sources
- Note publication dates — flag anything older than 12 months as potentially outdated
## Existing Framework
### Items List
1. GitHub Copilot: Developed by Microsoft/GitHub, first mainstream AI coding assistant
2. Cursor: AI-first IDE, based on VSCode
...
### Field Framework
- Basic Info: name, release_date, company
- name: Product or project name
- release_date: Initial public release date
- company: Developing company or organization
- Technical Features: underlying_model, context_window
- underlying_model: The LLM powering the tool
- context_window: Maximum context size supported
...
## Goals
1. Verify if existing items are missing important entries
2. Supplement items for any gaps found
3. Search for AI Coding History related items within since 2024 and supplement
4. Suggest new field categories if the existing framework misses important dimensions
## Output Requirements
Return structured results directly (do not write files):
### Supplementary Items
- item_name: Brief explanation (why it should be added)
...
### Recommended Supplementary Fields
- field_name: Field description (why this dimension is needed)
...
### Sources
- [Source description](url)
...
Wait for the background task to complete and store its output as {step2_output} before proceeding to Step 3.
Edge cases:
Ask the user: "Do you have an existing field definition file you'd like to merge? If so, provide the path."
Merge {step1_output}, {step2_output}, and any user-provided fields into two YAML files.
outline.yaml — items and execution config: