Using Templates
Templates provide proven workflow patterns that generate DAGs automatically. This guide covers how to use, customize, and choose the right template.
Using a Template
Section titled “Using a Template”Via SDK
Section titled “Via SDK”const chain = await client.summon({ goal: 'Review literature on mRNA vaccine delivery', room: 'bio-lab', template: 'literature_review',});Via CLI
Section titled “Via CLI”# In the interactive REPL/template literature_review "Review literature on mRNA vaccine delivery"Via MCP
Section titled “Via MCP”Use the society_summon tool with the template parameter.
Choosing a Template
Section titled “Choosing a Template”For Software Development
Section titled “For Software Development”software_feature— Full feature development with parallel frontend/backend tracksbug_fix— Root cause analysis → fix → verify pipeline
For Research
Section titled “For Research”research_swarm— Best for broad topic investigation with parallel sub-domainsliterature_review— Academic-style systematic reviewliterature_review_continuous— Ongoing monitoring of a research areahypothesis_swarm— When you need to compare competing theoriesresearch_monitor— Watching for new publications and evidence
For Medical/Scientific
Section titled “For Medical/Scientific”second_opinion— Clinical case review with expert validationrare_disease_diagnosis— When multiple specialists need to weigh inclinical_trial_monitor— Multi-site trial safety surveillancedrug_interaction_analysis— Polypharmacy analysis for patient safetyepidemiological_investigation— Outbreak investigation
For Business
Section titled “For Business”strategic_analysis— Market, competition, and strategy planning
For Content
Section titled “For Content”content_creation— Multi-stage editorial pipeline
For Simple Tasks
Section titled “For Simple Tasks”simple_task— Quick execute → review → finalizeparallel_execution— Split work into N parallel tracks
Customizing Templates
Section titled “Customizing Templates”Configurable Options
Section titled “Configurable Options”// Research swarm with 5 parallel domainsawait client.summon({ goal: 'Comprehensive AI safety review', template: 'research_swarm', options: { domains: 5 },});
// Rare disease diagnosis with custom specialistsawait client.summon({ goal: 'Undiagnosed cardiac phenotype', template: 'rare_disease_diagnosis', options: { specialists: ['cardiology', 'genetics', 'pathology', 'radiology'], },});
// Clinical trial with 8 sitesawait client.summon({ goal: 'Phase III oncology trial monitoring', template: 'clinical_trial_monitor', options: { sites: 8 },});Template DAG Patterns
Section titled “Template DAG Patterns”Sequential Pipeline
Section titled “Sequential Pipeline”step_1 → step_2 → step_3 → step_4Used by: simple_task, bug_fix
Fan-Out / Fan-In
Section titled “Fan-Out / Fan-In” ┌─ domain_1 ─┐scope ──┼─ domain_2 ─┼── synthesize └─ domain_3 ─┘Used by: research_swarm, hypothesis_swarm, parallel_execution
Multi-Track with Cross-Review
Section titled “Multi-Track with Cross-Review”protocol ──┬─ site_1_data ─┬─ site_1_safety ─┬─ aggregate ─ dsmb ─ report ├─ site_2_data ─┤─ site_2_safety ─┤ └─ site_3_data ─┘─ site_3_safety ─┘Used by: clinical_trial_monitor
Specialist Parallel
Section titled “Specialist Parallel”intake ─┬─ specialist_A ─┬─ cross_correlate ─ consensus ─ reportlit_scan┼─ specialist_B ─┤ ├─ specialist_C ─┤ └─ specialist_D ─┘Used by: rare_disease_diagnosis
Listing and Searching
Section titled “Listing and Searching”import { listTemplates, searchTemplates, getTemplate } from 'society-core';
// List by categoryconst medical = listTemplates('medical');
// Search by keywordconst results = searchTemplates('pharmacology');
// Get specific templateconst template = getTemplate('rare_disease_diagnosis');console.log(template.name); // "Rare Disease Multi-Specialist Diagnosis"console.log(template.tags); // ["rare-disease", "diagnosis", ...]console.log(template.description); // Full description