the workflow library
t4-deep-research-brief
an agent works the web inside hard caps, then the brief. A pack showcase file, shown whole to read; nika run t4-deep-research-brief.nika.yaml is the honest affordance — this site never fabricates a replay for it.
- 4tasksthe plan below walks them
- 4wavesrun together when they can
- infer · agent · invokeverbsthe whole grammar it speaks
- browseread, then runno fabricated replay
the plan
derived from the file, never drawn by handplaninfer
investigateagent
briefinfer
saveinvoke
the file, whole
t4-deep-research-brief.nika.yamlt4-deep-research-brief.nika.yaml
nika: v1workflow: id: deep-research-brief description: "plan → budgeted research agent → thinking synthesis → brief on disk"model: ollama/qwen3.5:4b # local default · per-task overrides below pick stronger modelsvars: topic: type: string required: true description: "What to research"tasks: plan: infer: model: anthropic/claude-haiku-4-5 # planning is a fast-model job prompt: "Break '${{ vars.topic }}' into 4 sharp research queries · no overlap." schema: type: object required: [queries] properties: queries: type: array items: { type: string } investigate: with: plan_queries: ${{ tasks.plan.output.queries }} agent: system: | You are a rigorous researcher. Work the queries one by one · fetch sources · keep verbatim quotes · note what each source actually supports. Call nika:done when the plan is exhausted. prompt: "Research plan · ${{ with.plan_queries }}" tools: - "nika:fetch" # the web - "nika:write" # scratch notes - "nika:done" # the loop-completion sentinel max_turns: 25 max_tokens_total: 150000 schema: type: object required: [findings, sources] properties: findings: type: array items: { type: string } sources: type: array items: { type: string } brief: with: investigate_findings: ${{ tasks.investigate.output.findings }} investigate_sources: ${{ tasks.investigate.output.sources }} infer: prompt: | Findings · ${{ with.investigate_findings }} Sources · ${{ with.investigate_sources }} Write the executive brief · what's true · what's contested · what it means · what to do. Two pages max. thinking: enabled: true budget_tokens: 8000 save: with: brief: ${{ tasks.brief.output }} invoke: tool: "nika:write" args: path: "./research/${{ vars.topic }}.md" content: "${{ with.brief }}" create_dirs: trueoutputs: brief: ${{ tasks.brief.output }} sources: value: ${{ tasks.investigate.output.sources }} description: "Every source the agent actually used"lines 35–40: agent: three tools granted, caps it cannot exceed. Source: the spec pack · open it in the playground →
Watch the recorded one replay on the home page, walk the showcase gallery, or install and run the file yourself.