Research Skill - Preliminary Research
Trigger
/research <topic>
Workflow
Step 1: Generate Initial Framework from Model Knowledge
Based on topic, use model's existing knowledge to generate:
-
Main research objects/items list in this domain
-
Suggested research field framework
Output {step1_output}, use request_user_input to confirm:
-
Need to add/remove items?
-
Does field framework meet requirements?
Step 2: Web Search Supplement
Use request_user_input to ask for time range (e.g., last 6 months, since 2024, unlimited).
Parameter Retrieval:
-
{topic} : User input research topic
-
{YYYY-MM-DD} : Current date
-
{step1_output} : Complete output from Step 1
-
{time_range} : User specified time range
Hard Constraint: The following prompt must be strictly reproduced, only replacing variables in {xxx}, do not modify structure or wording.
Launch 1 web-search-agent (background), Prompt Template:
prompt = f"""## Task Research topic: {topic} Current date: {YYYY-MM-DD}
Based on the following initial framework, supplement latest items and recommended research fields.
Existing Framework
{step1_output}
Goals
- Verify if existing items are missing important objects
- Supplement items based on missing objects
- Continue searching for {topic} related items within {time_range} and supplement
- Supplement new fields
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
One-shot Example (assuming researching 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.
Existing Framework
Items List
- GitHub Copilot: Developed by Microsoft/GitHub, first mainstream AI coding assistant
- Cursor: AI-first IDE, based on VSCode ...
Field Framework
- Basic Info: name, release_date, company
- Technical Features: underlying_model, context_window ...
Goals
- Verify if existing items are missing important objects
- Supplement items based on missing objects
- Continue searching for AI Coding History related items within since 2024 and supplement
- Supplement new fields
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
Step 3: Ask User for Existing Fields
Use request_user_input to ask if user has existing field definition file, if so read and merge.
Step 4: Generate Outline (Separate Files)
Merge {step1_output}, {step2_output} and user's existing fields, generate two files:
outline.yaml (items + config):
-
topic: Research topic
-
items: Research objects list
-
execution:
-
batch_size: Number of parallel agents (confirm with request_user_input)
-
items_per_agent: Items per agent (confirm with request_user_input)
-
output_dir: Results output directory (default: ./results)
fields.yaml (field definitions):
-
Field categories and definitions
-
Each field's name, description, detail_level
-
detail_level hierarchy: brief -> moderate -> detailed
-
uncertain: Uncertain fields list (reserved field, auto-filled in deep phase)
Step 5: Output and Confirm
-
Create directory: ./{topic_slug}/
-
Save: outline.yaml and fields.yaml
-
Show to user for confirmation
Output Path
{current_working_directory}/{topic_slug}/ ├── outline.yaml # items list + execution config └── fields.yaml # field definitions
Follow-up Commands
-
/research-add-items
-
Supplement items
-
/research-add-fields
-
Supplement fields
-
/research-deep
-
Start deep research