AgentSkillsCN

Design Orchestrator

设计协调员

SKILL.md

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:
    1. Learning-architect → defines outcomes + progression
    2. Task-designer → designs scenarios using outcomes
    3. Chunk-curator → finds vocabulary for task
    4. 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

json
{
  "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

  1. Receive specifications from user
  2. Validate completeness:
    • ✅ Topic clearly defined
    • ✅ CEFR level specified
    • ✅ Success criteria defined
  3. Scope the design work
  4. Get user approval to proceed

Approval Gate 1: "Proceed with design for B2 workplace negotiation?"

Step 2: Agent Execution (Sequential)

  1. Learning-architect (5 min)

    • Input: topic, CEFR level, context
    • Output: learning_outcomes.json
    • Produces: Communicative outcomes + progression model
  2. Task-designer (10 min)

    • Input: learning_outcomes.json
    • Output: task_specification.json
    • Produces: Roleplay task + tension + pragmatic functions
  3. Chunk-curator (5 min)

    • Input: pragmatic_functions from task_specification.json
    • Output: core_repertoire.json
    • Produces: High-frequency vocabulary list
  4. 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:

json
{
  "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

  1. Compile all 4 JSON files
  2. Create master specification document
  3. Generate integration report (for extraction pipeline)
  4. Pass to orchestrator-qa for execution

Outputs

master_specification.json

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

markdown
# 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

  1. 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)
  2. All 4 outputs are valid JSON

    • ✅ Parseable, no syntax errors
    • ✅ All required fields present
    • ✅ Data types correct
  3. Integration checks all PASS

    • ✅ Outcomes↔Task aligned
    • ✅ Task↔Vocabulary aligned
    • ✅ Vocabulary↔Scaffolding aligned
    • ✅ Scaffolding↔Outcomes aligned
  4. All approval gates obtained

    • ✅ Intake approval
    • ✅ Learning design approval
    • ✅ Task & vocabulary approval
    • ✅ Scaffolding approval
  5. 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

typescript
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

typescript
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

typescript
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

typescript
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

typescript
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

code
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

code
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

code
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

json
{
  "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

  1. pdf-extractor: Extract dialogue (unchanged)
  2. blank-inserter: Use scaffolding_config + core_repertoire (MODIFIED)
  3. content-validator: Validate (unchanged)
  4. scenario-transformer: Add metadata from learning_outcomes (MODIFIED)
  5. orchestrator-qa: Execute pipeline (unchanged)

Timeline

PhaseTaskDuration
1Intake & planning5 min
2Learning-architect5 min
3Task-designer10 min
4Chunk-curator5 min
5System-builder10 min
6Integration validation5 min
7Approval gates 2-42 min
8Master specification5 min
TotalAll 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