Course Structure Pipeline
The course structure pipeline transforms a topic and audience profile into a fully designed course outline with section-level blueprints ready for content generation. It runs after the Audience and Depository pipelines and consists of 6 steps.
Pipeline overview
flow_audience_analyze flow_depository_fill
↓ ↓
└──────────────────────────────┘
↓
flow_course_structure_concept ← Step 1: Course concept
↓
flow_course_structure_plan ← Step 2: Bloom's-aligned outline
↓
flow_course_structure_design ← Step 3: Content plan with types & formats
↙ ↘
flow_course_structure_ flow_course_structure_
feedback_learner feedback_expert ← Step 4: Parallel review
↘ ↙
flow_course_structure_refine ← Step 5: Improved final outline
↓
Section content generation
Step 1 — Concept (flow_course_structure_concept)
Inputs: audience_profile, pain, transformation, learning_objectives, depository, course_complexity, reasoning Output: Markdown — course concept document
Analyzes the target audience and topic to design the course concept. Defines:
- Three core frameworks or concepts anchored in the depository
- Bloom's complexity alignment (Beginner: ONE framework in depth; Intermediate: foundational + complementary)
- A narrative persona with a random European name (via
how_to_pick_random_nameinjection) whose story threads through the entire course
Key constraints:
- Always use established, research-backed frameworks from organizational psychology, management, or communication studies
- Never invent terms or pseudo-frameworks
- At Beginner level: cover origins, supporting research, misconceptions, and limits of the framework
Step 2 — Plan (flow_course_structure_plan)
Inputs: course_conception (Step 1 output), learning_objectives, audience_profile, depository, course_complexity Output: Markdown — structured course outline with module/topic blueprints
Structures the concept into a Bloom's-progressive outline. Each topic gets a Blueprint with 5 fields:
| Field | Description |
|---|---|
| Cognitive Level | Remembering / Understanding / Applying / Analyzing / Evaluating / Creating |
| Learning Objective | Action verb matching the Bloom's level |
| Reasoning | What the learner will be able to do |
| Scope | What this topic covers and what it does not |
| Narrative Cue | One line tying the topic to the persona's situation |
Also produces a Narrative Spine (3–5 sentences) before the outline: persona, context, central conflict, stakes, desired outcome.
Key constraints:
- Bloom's progression must be explicit and sequential across modules
- Introduce each framework at full scope before narrowing
- No end-to-end projects
- Module count and topic count are fixed from this step onward
Step 3 — Design (flow_course_structure_design)
Inputs: course_outline (Step 2 output), thinking (Step 2 reasoning), audience_profile, depository, types_list, formats_list + injections Output: Markdown — full content plan with sections per topic
Expands each topic into a list of sections. Each section gets:
- Title — unique, sentence case
- Type — from enabled
types_list - Format — from enabled
formats_list - Blueprint — a self-contained, extensively scoped prompt for an independent LLM author
- Reasoning — why this section matters for this topic
Critical design rule — blueprint independence: Different authors, each isolated from the others, will generate each section's content. The blueprint must be self-contained: it cannot assume the author has read adjacent sections. All factual anchors, concept definitions, and scope boundaries must be explicit inside the blueprint.
Injections used: structure_instructions, naming_instructions, assessments_instructions
Runtime variables: types_list, formats_list (generated from enabled rows in the source Excel — not static injections)
Key constraints:
- Prefer more small sections over fewer large ones
- Module and topic count from Step 2 must be preserved exactly — do not merge, omit, or add
Step 4a — Learner feedback (flow_course_structure_feedback_learner)
Inputs: course_outline (Step 3 output), target_persona, audience_profile, pain, transformation, learning_objectives Output: Markdown — learner perspective feedback Runs in parallel with: Step 4b
Simulates a real learner reviewing the course outline. The model adopts the target persona: tired, low motivation, but genuinely wanting to grow. Evaluates:
- Topic progression clarity and logical flow
- Concept linkage and coherent storyline
- Knowledge gaps and factual errors
- Realism of examples
- Distribution and variety of sections
- Presence of a culminating moment
- Scores: consistency (1–10), curiosity hooks (count), overall (0–100)
No injections. Pure roleplay — the model is the learner, not the designer.
Step 4b — Expert feedback (flow_course_structure_feedback_expert)
Inputs: course_outline (Step 3 output), types_list, formats_list + injections Output: Markdown — expert instructional design audit Runs in parallel with: Step 4a
Conducts a rigorous structural and pedagogical audit across five areas:
- Structural accuracy — subject matter logic, module sequence, transitions
- Concept lifecycle — introduction placement, depth balance, reinforcement
- Completeness — missing components, theoretical grounding, surface vs. deep
- Quality — terminology consistency, formatting, instructional design standards
- Advancement — what would make the course suitable for a more advanced audience
Delivers: score (0–100), detailed list of identified mistakes, concrete improvement recommendations.
Injections used: structure_instructions, naming_instructions, assessments_instructions
Step 5 — Refine (flow_course_structure_refine)
Inputs: feedback_learner (4a), feedback_expert (4b), course_outline (Step 3), types_list, formats_list + injections Output: Markdown — improved final course outline + list of changes
Synthesizes both feedback streams and produces the definitive course outline. Applies expert suggestions for depth and theoretical grounding. Key upgrade rules:
- New frameworks must be evidently connected to the core framework
- Core framework explained fully; supporting frameworks explained partly, in strong connection
- If an additional framework does not strengthen the course — refuse it
Blueprint hardening — all blueprints are upgraded to be unambiguous for independent authors:
| Requirement | Rule |
|---|---|
| Real-world facts | Specify exact stat + source (e.g., "HBR, 72% of leaders...") |
| Fictional scenarios | Define all fictional facts explicitly (e.g., "project is 3 days late, budget +15%") |
| Visual structures | Define exact block count, labels, spatial arrangement |
| Assessment criteria | Provide exact rubric or key phrases for AI evaluation |
Injections used: structure_instructions, naming_instructions, assessments_instructions
Shared variables
| Variable | Type | Set by |
|---|---|---|
types_list | Runtime | Generated from enabled Section_types (Steps 3, 4b, 5) |
formats_list | Runtime | Generated from enabled Formats (Steps 3, 4b, 5) |
depository | Flow input | flow_depository_fill |
audience_profile | Flow input | flow_audience_define_profile |
pain / transformation / learning_objectives | Flow input | flow_audience_analyze |
course_conception | Step 1 output | flow_course_structure_concept |
course_outline | Passed forward | Updated at each step |
additional_instructions | Optional | Per-course override, passed to Steps 3 and 5 |
Shared injections
| Injection | Used in |
|---|---|
structure_instructions | Steps 3, 4b, 5 |
naming_instructions | Steps 3, 4b, 5 |
assessments_instructions | Steps 3, 4b, 5 |
how_to_pick_random_name | Step 1 only |
See Course Structure Injections for full content and rules.