problem definition

Input: research area and in-scope papers
Output: a survey outline

Skills:

  • create-outline — orchestrates the complete evidence, design, review, and finalization pipeline
  • web-research — researches the area online and writes a concise, cited field report
  • select-outline-lens — develops three organizing-lens variants, compares them, and synthesizes an outline backbone
  • compare-outline-variants — compares the lenses embodied in complete outline variants and selects a backbone
  • select-outline-structure — develops structural refinements while holding the selected lens fixed, then promotes one complete candidate
  • compare-outline-refinements — compares the baseline and three refinements without synthesizing across candidates
  • review-outline — runs the validated editorial review-and-revision loop for at most three cycles
  • review-outline-counterfactual — tests the candidate against a credible alternative structure without source anchoring
  • review-outline-ownership — audits explanatory ownership, peer relations, and fidelity to the selected lens
  • review-outline-decisions — walks the four research decisions the survey should support using field evidence
  • compare-outline-reviews — verifies the three Review Variants and produces the final critique and disposition
  • outline-critique — defines the five-dimension, non-compensatory critique and verdict contract
  • outline-revision — applies required repairs while preserving accepted structure and content
  • finalize-outline — converts accepted Markdown to JSON, adds matching keywords, and reports paper coverage

algorithm

Two-part process: evidence gathering → outline design

evidence gathering

Goal: collect grounded signals about the area’s vocabulary, mechanisms, relationships, tensions, and missing threads.

  • Collect paper tags and their frequencies during host-side preprocessing.
    • generate tags for each paper
    • use agglomerative clustering to condense all paper tags into canonical tags (currently )
    • count how frequently each canonical tag occurs across the papers, producing
  • Dispatch a web-research subagent.
    • research online and retain source titles and URLs
    • write the concise, cited report to out/web_research.md

outline design

Goal: shape a coherent survey outline that helps readers understand the field, select appropriate methods, identify open problems, and avoid duplicating existing work.

  • Select the organizing lens with select-outline-lens.
    • generate three complete outline variants using , , and , each based on a different organizational lens
    • spawn an outline-variant-comparison subagent using compare-outline-variants
    • compare how each lens supports understanding the field, choosing methods, finding open problems, and avoiding duplicated work
    • choose one organizational lens and synthesize its selected backbone with compatible learnings from the other lenses, producing the initial outline draft
  • Select its structural realization with select-outline-structure, holding fixed.
    • preserve as the baseline candidate
    • generate three complete refinement candidates that explore varying ordering, boundaries, hierarchy, selective depth, and top-level compression
    • spawn an outline-refinement-comparison subagent using compare-outline-refinements
    • deterministically choose and promote one complete candidate as ; do not synthesize across refinement candidates
  • Review and revise with review-outline for at most three cycles.
    • for each version :
      • concurrently spawn three fresh-context Review Variants:
        • counterfactual: read only and test a credible alternative ordering or partition
        • ownership: read plus prior lens/refinement comparisons; do not read tags or web research
        • research decisions: read , , , and , then walk the four supported reader tasks
      • spawn an outline-review-comparison subagent using compare-outline-reviews; it independently checks the candidate and evidence, verifies reviewer claims, and writes critique
      • validate that contains all five rubric dimensions, consistent statuses, the correct target count, and one recognized verdict
      • if ready_for_instrumentation, accept and promote
      • if review_unresolved, repeat the review when a cycle remains; otherwise stop without promotion
      • if needs_revision before cycle three, spawn outline-revision to produce
      • if changes headings, nesting, or order, return it to the three-review loop
      • if it changes only descriptions, verify every requested repair and unchanged heading order directly; accept it without another full review when those checks pass
  • Finalize the accepted outline with finalize-outline.
    • convert the accepted outline from Markdown into JSON
    • preserve the accepted Markdown structure exactly
    • add lowercase matching keywords, surface forms, abbreviations, and synonyms to each node
    • use inputs/papers.json only now, through the sizing script, to tune keyword coverage and produce out/outline_paper_list.json
    • validate both JSON artifacts and report top-level sections, total nodes, and matched/other percentages
    • return the finalized outline

system diagram

HTML diagram