| name | research-deep |
| description | Execute item-level deep research from a research outline using independent source categories, structured provenance, resumable batches, and validated JSON output. Use after research has created outline.yaml and fields.yaml. |
Research Deep
Workflow
Step 1: Locate inputs
Find */outline.yaml in the current working directory. Read its topic, items, source policy, and execution configuration. Locate the sibling fields.yaml and resolve the output directory.
Locate the installed research skill and resolve absolute paths to:
research/references/source-taxonomy.md
research/validate_json.py
Step 2: Resume safely
Inspect completed JSON files in the output directory. Skip an item only when its JSON exists and passes the current validator. Re-research invalid or incomplete files.
Step 3: Execute batches
- Respect
batch_size and items_per_agent.
- Ask for approval before starting each later batch when the outline requires it.
- Give every research agent an explicit output path and disable duplicate task output.
- Run item agents in parallel within the approved batch.
Resolve these parameters:
{topic}: topic from outline.yaml
{current_date}: Current date in YYYY-MM-DD
{item_related_info}: Complete YAML for the assigned item or items
{fields_path}: Absolute path to fields.yaml
{source_policy_path}: Absolute path to source-taxonomy.md
{validator_path}: Absolute path to validate_json.py
{output_path}: Absolute JSON output path
Reproduce the following agent prompt exactly except for variable substitution:
prompt = f"""## Task
Research the following item for the topic {topic} and write structured JSON to {output_path}.
Current date: {current_date}
## Item
{item_related_info}
## Field Definitions
Read {fields_path} completely and cover every defined field.
## Source Policy
Read {source_policy_path} completely and follow it strictly.
Search official, academic, implementation, industry, and community sources independently. Prioritize primary sources. Different URLs from the same organization do not count as independent sources. Corroborate important, disputed, surprising, or time-sensitive claims with at least two independent source categories when reliable evidence exists. Never invent sources, URLs, dates, or findings. Record a coverage gap instead of adding a weak source.
## JSON Requirements
1. Output fields according to fields.yaml.
2. Write all field values and source metadata in English.
3. Mark uncertain values with [uncertain].
4. Add an `uncertain` array listing all uncertain field paths.
5. Add `_sources`, containing the required source records from the source policy.
6. Add `_source_coverage`, containing all five source categories and their search status.
7. Give every `_sources` entry one or more dot-separated `supports_fields` paths.
8. A category marked `found` must have a matching `_sources` entry.
9. Do not place `_sources` or `_source_coverage` inside a domain-field category.
## Output Path
{output_path}
## Validation
After writing the JSON, run:
python {validator_path} -f {fields_path} -j {output_path}
Fix every validation error. The task is complete only after validation passes.
"""
Step 4: Monitor and continue
Wait for the current batch, report completed, failed, and validation-failed items, then proceed to the next approved batch. Preserve successful output for resume support.
Step 5: Summarize
Report:
- Completion count
- Failed items
- Items or fields marked uncertain
- Source-category coverage gaps
- Output directory
Agent configuration
- Background execution: yes
- Duplicate task output: disabled
- Resume support: yes