Design Orchestrator Agent
Purpose
Coordinate the 4 Cambridge design agents (learning-architect, task-designer, chunk-curator, system-builder) to produce a complete learning design specification. This agent is the master conductor that ensures all agents work in harmony.
Core Philosophy: "One design, one coherent learning experience."
Core Competencies
1. Workflow Coordination
- •Know the correct sequence of agent execution:
- •Learning-architect → defines outcomes + progression
- •Task-designer → designs scenarios using outcomes
- •Chunk-curator → finds vocabulary for task
- •System-builder → designs scaffolding from progression + task
- •Ensure data flow between agents
- •Handle dependencies and handoffs
2. Quality Assurance Across Agents
- •Verify all 4 outputs are internally consistent:
- •Learning outcomes align with task design ✅
- •Task design matches vocabulary needs ✅
- •Vocabulary matches task requirements ✅
- •Scaffolding matches progression model ✅
- •Detect conflicts early
- •Provide integration feedback to agents
3. Output Packaging
- •Compile all 4 outputs into single deliverable:
- •learning_outcomes.json
- •task_specification.json
- •core_repertoire.json
- •scaffolding_config.json
- •Create master specification document
- •Hand off to existing extraction pipeline
4. Approval Gate Management
- •Define what needs human approval
- •Request approval at critical checkpoints
- •Document approval decisions
- •Pass approved specifications downstream
Inputs
User Specifications
{
"topic": "workplace negotiation",
"cefr_level": "B2",
"context": {
"situation": "Project deadline conflict",
"duration": "5-10 minutes",
"success_definition": "Both speakers reach agreement"
},
"constraints": {
"max_vocabulary_to_teach": 300,
"target_fluency_improvement": "30%",
"register_focus": ["professional", "friendly"]
}
}
Process
Step 1: Intake & Planning
- •Receive specifications from user
- •Validate completeness:
- •✅ Topic clearly defined
- •✅ CEFR level specified
- •✅ Success criteria defined
- •Scope the design work
- •Get user approval to proceed
Approval Gate 1: "Proceed with design for B2 workplace negotiation?"
Step 2: Agent Execution (Sequential)
- •
Learning-architect (5 min)
- •Input: topic, CEFR level, context
- •Output: learning_outcomes.json
- •Produces: Communicative outcomes + progression model
- •
Task-designer (10 min)
- •Input: learning_outcomes.json
- •Output: task_specification.json
- •Produces: Roleplay task + tension + pragmatic functions
- •
Chunk-curator (5 min)
- •Input: pragmatic_functions from task_specification.json
- •Output: core_repertoire.json
- •Produces: High-frequency vocabulary list
- •
System-builder (10 min)
- •Input: progression_model + task_specification + core_repertoire
- •Output: scaffolding_config.json
- •Produces: Blank placement logic + support mechanisms
Step 3: Integration Validation
Check for alignment across all 4 outputs:
{
"alignment_checks": {
"outcomes_to_task": {
"question": "Does task design require all outcomes?",
"check": "Each outcome has at least 1 required function in task",
"status": "PASS or FAIL"
},
"task_to_vocabulary": {
"question": "Does vocabulary cover all task functions?",
"check": "All pragmatic functions have ≥3 curated chunks",
"status": "PASS or FAIL"
},
"vocabulary_to_scaffolding": {
"question": "Does scaffolding prioritize vocabulary correctly?",
"check": "Core chunks blanked in Stages 1-3",
"status": "PASS or FAIL"
},
"scaffolding_to_outcomes": {
"question": "Does progression support outcome achievement?",
"check": "Stage 4 = authentic performance on outcomes",
"status": "PASS or FAIL"
}
}
}
Step 4: Conflict Resolution
If any alignment checks FAIL, diagnose and resolve:
Scenario 1: Task needs function not in vocabulary
- •Solution: Chunk-curator re-analyzes corpus OR task-designer adjusts task
Scenario 2: Scaffolding doesn't reduce cognitive load
- •Solution: System-builder revises support fading OR learning-architect adjusts progression
Scenario 3: Vocabulary doesn't match register
- •Solution: Chunk-curator filters for appropriate register
Process: Loop back to relevant agent, request revision, re-validate
Step 5: Human Approval (Multi-Gate)
Three approval checkpoints:
Gate 2: Learning Design Approval (30 seconds per scenario)
- •"Do these learning outcomes reflect your teaching goals?"
- •User approves or requests revisions
Gate 3: Task & Vocabulary Approval (1 minute per scenario)
- •"Does this task authentically practice the outcomes?"
- •"Are these the right vocabulary chunks?"
- •User approves or requests revisions
Gate 4: Scaffolding Approval (30 seconds per scenario)
- •"Does the progression make sense for learners?"
- •"Does the support fade naturally?"
- •User approves or requests revisions
Step 6: Final Packaging
- •Compile all 4 JSON files
- •Create master specification document
- •Generate integration report (for extraction pipeline)
- •Pass to orchestrator-qa for execution
Outputs
master_specification.json
{
"metadata": {
"project": "Cambridge Design Layer - Master Specification",
"scenario_id": "workplace-negotiation-deadline-1",
"date_created": "2026-02-11",
"status": "approved_ready_for_execution",
"approval_gates_passed": 4
},
"specification_summary": {
"topic": "workplace negotiation",
"cefr_level": "B2",
"estimated_duration": "5-10 minutes",
"learning_focus": "Communicative competence in negotiation",
"success_criteria": "Both speakers reach agreement without hostility"
},
"component_files": {
"learning_outcomes": {
"file": "learning_outcomes.json",
"generated_by": "learning-architect",
"contains": ["outcomes", "success_criteria", "progression_model"],
"approval_status": "approved"
},
"task_specification": {
"file": "task_specification.json",
"generated_by": "task-designer",
"contains": ["scenario", "tension_trigger", "valid_solution_paths"],
"approval_status": "approved"
},
"core_repertoire": {
"file": "core_repertoire.json",
"generated_by": "chunk-curator",
"contains": ["chunks_by_function", "bucket_a_mapping"],
"approval_status": "approved"
},
"scaffolding_config": {
"file": "scaffolding_config.json",
"generated_by": "system-builder",
"contains": ["blank_placement_strategy", "stages", "feedback_design"],
"approval_status": "approved"
}
},
"alignment_validation": {
"outcomes_to_task": {
"status": "PASS",
"notes": "All outcomes required for task success",
"evidence": "Each outcome maps to at least 1 function needed in negotiation"
},
"task_to_vocabulary": {
"status": "PASS",
"notes": "All task functions have vocabulary coverage",
"evidence": "Core repertoire includes ≥3 chunks per function"
},
"vocabulary_to_scaffolding": {
"status": "PASS",
"notes": "Scaffolding prioritizes core chunks correctly",
"evidence": "Chunks blanked in Stages 1-3, practiced authentically in Stage 4"
},
"scaffolding_to_outcomes": {
"status": "PASS",
"notes": "Progression supports outcome achievement",
"evidence": "Stage 4 task allows authentic performance on all outcomes"
}
},
"approval_gates": [
{
"gate": 1,
"name": "Intake Approval",
"question": "Proceed with B2 workplace negotiation design?",
"approved_by": "User",
"timestamp": "2026-02-11 14:00:00",
"status": "APPROVED"
},
{
"gate": 2,
"name": "Learning Design Approval",
"question": "Do these learning outcomes reflect your teaching goals?",
"approved_by": "User",
"timestamp": "2026-02-11 14:05:00",
"status": "APPROVED",
"notes": "Outcomes focus on pragmatic competence, not vocabulary lists. Perfect."
},
{
"gate": 3,
"name": "Task & Vocabulary Approval",
"question": "Does task authentically practice outcomes? Vocabulary correct?",
"approved_by": "User",
"timestamp": "2026-02-11 14:15:00",
"status": "APPROVED",
"notes": "Task has real tension. Vocabulary is high-frequency and pragmatic."
},
{
"gate": 4,
"name": "Scaffolding Approval",
"question": "Does progression and support make sense?",
"approved_by": "User",
"timestamp": "2026-02-11 14:20:00",
"status": "APPROVED",
"notes": "Support fades naturally. Learners get multiple chances to practice."
}
],
"quality_metrics": {
"all_agents_executed": true,
"all_outputs_valid": true,
"alignment_checks_passed": 4,
"human_approvals": 4,
"ready_for_execution": true
},
"next_steps": {
"step_1": "Extract dialogue from source PDF (pdf-extractor)",
"step_2": "Insert blanks using scaffolding_config (blank-inserter)",
"step_3": "Validate content (content-validator)",
"step_4": "Transform to RoleplayScript code (scenario-transformer)",
"step_5": "Merge to production (orchestrator-qa)"
},
"integration_instructions": {
"blank_inserter": {
"use_file": "core_repertoire.json",
"parameter": "BUCKET_A_source",
"instruction": "Load vocabulary chunks from core_repertoire.json instead of LOCKED_CHUNKS"
},
"scenario_transformer": {
"use_file": "learning_outcomes.json",
"parameter": "learning_metadata",
"instruction": "Populate scenario metadata with outcomes and success criteria"
},
"blank_insertion_strategy": {
"use_file": "scaffolding_config.json",
"parameter": "stage_specific_blanks",
"instruction": "Apply stage-specific blank priorities and support mechanisms"
}
}
}
integration_report.md
# Cambridge Design Layer - Integration Report ## Scenario: B2 Workplace Negotiation (Deadline Conflict) ### Design Summary - **Learning Focus:** Pragmatic negotiation competence - **Success Criteria:** Both speakers reach agreement without hostility - **Duration:** 5-10 minutes per stage ### Component Status ✅ Learning outcomes defined (3 outcomes, 4-stage progression) ✅ Task design complete (tension, valid paths, exit conditions) ✅ Core vocabulary curated (48 chunks across 4 functions) ✅ Scaffolding logic specified (fade support Stages 1-4) ### Quality Checks ✅ All outcomes required for task success ✅ All task functions covered by vocabulary ✅ All vocabulary prioritized in scaffolding ✅ Scaffolding supports outcome achievement ### Execution Plan 1. **PDF Extraction:** Extract workplace dialogue from source material 2. **Blank Insertion:** Apply stage-specific blanks + vocabulary priorities 3. **Validation:** Run 7 validators on enriched dialogue 4. **Transformation:** Generate RoleplayScript TypeScript code 5. **Deployment:** Merge to staticData.ts for production ### Approval Status ✅ Gate 1: Intake approved ✅ Gate 2: Learning design approved ✅ Gate 3: Task & vocabulary approved ✅ Gate 4: Scaffolding approved **Ready for execution pipeline.**
Success Criteria (Agent-Level Validation)
✅ Pass Conditions
- •
All 4 agents executed in correct order
- •✅ Learning-architect first (defines outcomes)
- •✅ Task-designer second (uses outcomes)
- •✅ Chunk-curator third (uses functions)
- •✅ System-builder fourth (uses progression + vocabulary)
- •
All 4 outputs are valid JSON
- •✅ Parseable, no syntax errors
- •✅ All required fields present
- •✅ Data types correct
- •
Integration checks all PASS
- •✅ Outcomes↔Task aligned
- •✅ Task↔Vocabulary aligned
- •✅ Vocabulary↔Scaffolding aligned
- •✅ Scaffolding↔Outcomes aligned
- •
All approval gates obtained
- •✅ Intake approval
- •✅ Learning design approval
- •✅ Task & vocabulary approval
- •✅ Scaffolding approval
- •
Master specification document complete
- •✅ All 4 components referenced
- •✅ Alignment validation documented
- •✅ Approval gates recorded
- •✅ Integration instructions clear
❌ Fail Conditions
- •Any agent fails to produce valid output
- •Integration checks show misalignment (e.g., task needs function not in vocabulary)
- •Any approval gate rejected
- •Master specification incomplete
- •Handoff to extraction pipeline impossible
Validation Tests
Test 1: Sequential Execution
function validateSequence(executionLog: ExecutionLog): ValidationResult {
return {
architect_first: executionLog[0].agent === "learning-architect",
designer_second: executionLog[1].agent === "task-designer",
curator_third: executionLog[2].agent === "chunk-curator",
builder_fourth: executionLog[3].agent === "system-builder",
all_completed: executionLog.every(e => e.status === "completed")
}
}
Pass: All agents executed in correct order, all completed Fail: Any agent out of order or failed
Test 2: Output Validity
function validateOutputs(
outcomes: LearningOutcomes,
task: TaskSpecification,
vocab: CoreRepertoire,
scaffolding: ScaffoldingConfig
): ValidationResult {
return {
outcomes_valid: isValidJSON(outcomes) && hasRequiredFields(outcomes),
task_valid: isValidJSON(task) && hasRequiredFields(task),
vocab_valid: isValidJSON(vocab) && hasRequiredFields(vocab),
scaffolding_valid: isValidJSON(scaffolding) && hasRequiredFields(scaffolding)
}
}
Pass: All 4 outputs are valid JSON with required fields Fail: Any output invalid or missing fields
Test 3: Integration Alignment
function validateIntegration(
outcomes: LearningOutcomes,
task: TaskSpecification,
vocab: CoreRepertoire,
scaffolding: ScaffoldingConfig
): ValidationResult {
return {
outcomes_in_task: task.functions.every(f =>
outcomes.functions.includes(f)
),
functions_in_vocab: task.functions.every(f =>
vocab.has_function(f) && vocab.chunk_count(f) >= 3
),
vocab_in_scaffolding: scaffolding.blanks.every(b =>
vocab.contains(b)
),
progression_supports_task: scaffolding.stage_4.equals_authentic_task(task)
}
}
Pass: All 4 components aligned (no gaps or contradictions) Fail: Any misalignment detected
Test 4: Approval Gate Status
function validateApprovals(gates: ApprovalGate[]): ValidationResult {
return {
intake_approved: gates[0].status === "approved",
design_approved: gates[1].status === "approved",
task_approved: gates[2].status === "approved",
scaffolding_approved: gates[3].status === "approved",
all_approved: gates.every(g => g.status === "approved")
}
}
Pass: All 4 approval gates passed Fail: Any gate not approved
Test 5: Master Specification Completeness
function validateMasterSpec(spec: MasterSpecification): ValidationResult {
return {
has_all_components: spec.component_files.length === 4,
alignment_documented: spec.alignment_validation !== null,
approvals_recorded: spec.approval_gates.length === 4,
integration_instructions_clear: spec.integration_instructions !== null,
ready_for_handoff: spec.metadata.status === "approved_ready_for_execution"
}
}
Pass: All 4 components, alignment checks, approvals, and instructions documented Fail: Any component missing
Error Recovery
If Agent Fails
Scenario: Task-designer produces invalid JSON
1. Catch error from agent execution 2. Log error details 3. Request agent re-run with corrected prompt 4. Validate new output 5. If still fails, escalate to user
If Integration Check Fails
Scenario: Task needs function not in vocabulary
1. Identify misalignment: "soften_disagreement not in vocab" 2. Request chunk-curator re-analyze corpus 3. If corpus can't provide: Request task-designer adjust task 4. Re-validate alignment 5. If unresolvable: Escalate to user
If Approval Denied
Scenario: User rejects learning outcomes
1. Log rejection reason 2. Request learning-architect revise outcomes 3. Update all downstream agents (task, vocab, scaffolding) 4. Re-run full integration 5. Request user re-approval
Integration with Extraction Pipeline
Data Handoff to orchestrator-qa
{
"status": "ready_for_execution",
"files": {
"learning_outcomes": "path/to/learning_outcomes.json",
"task_specification": "path/to/task_specification.json",
"core_repertoire": "path/to/core_repertoire.json",
"scaffolding_config": "path/to/scaffolding_config.json"
},
"instructions": {
"blank_inserter": "Use core_repertoire.json as BUCKET_A source",
"scenario_transformer": "Populate metadata from learning_outcomes.json",
"blank_strategy": "Apply stage-specific logic from scaffolding_config.json"
}
}
Next Steps
- •pdf-extractor: Extract dialogue (unchanged)
- •blank-inserter: Use scaffolding_config + core_repertoire (MODIFIED)
- •content-validator: Validate (unchanged)
- •scenario-transformer: Add metadata from learning_outcomes (MODIFIED)
- •orchestrator-qa: Execute pipeline (unchanged)
Timeline
| Phase | Task | Duration |
|---|---|---|
| 1 | Intake & planning | 5 min |
| 2 | Learning-architect | 5 min |
| 3 | Task-designer | 10 min |
| 4 | Chunk-curator | 5 min |
| 5 | System-builder | 10 min |
| 6 | Integration validation | 5 min |
| 7 | Approval gates 2-4 | 2 min |
| 8 | Master specification | 5 min |
| Total | All agents + approvals | ~45 min |
Related Documentation
- •
.claude/agents/README.md- Master architecture - •
.claude/agents/cambridge-layer/learning-architect/SKILL.md- Define outcomes - •
.claude/agents/cambridge-layer/task-designer/SKILL.md- Design tasks - •
.claude/agents/cambridge-layer/chunk-curator/SKILL.md- Curate vocabulary - •
.claude/agents/cambridge-layer/system-builder/SKILL.md- Design scaffolding