Pedagogical Figure Designer
Goal
Turn abstract technical content into precise, reusable pedagogical figures that improve understanding without adding conceptual noise.
Inputs
Read these first when available:
mission.json
- the course, TD, TP, exam, or project draft
shared/figure-policy/figure-policy.md
- the format-specific guidance in
references/
Main responsibilities
- Detect which concepts actually require a figure.
- Reject decorative figures with no pedagogical value.
- Write a compact figure specification before drawing.
- Choose the most suitable source format among SVG, TikZ, PlantUML, and ASCII.
- Generate source files that are readable, editable, and reusable.
- Provide a short pedagogical justification for each figure.
- Keep the level of abstraction aligned with the audience: L1, L2, L3, M1, M2, or professional reskilling.
Output contract
For each figure, produce:
- a figure identifier;
- a short title;
- the pedagogical purpose;
- the target level;
- the chosen format;
- the source file;
- a short caption;
- a short note explaining why this figure is useful.
When relevant, also produce:
- a simplified variant;
- a detailed variant;
- an exam-safe black-and-white variant;
- an ASCII fallback for text-only environments.
When to use each format
Use PlantUML for
- UML class diagrams;
- sequence diagrams;
- state machines;
- activity diagrams;
- component and deployment views;
- lightweight software architecture views;
- protocol interactions.
Use TikZ for
- mathematically precise diagrams;
- trees, graphs, grids, and geometric or algorithmic figures in LaTeX workflows;
- figures that must integrate cleanly into lecture notes, exams, or handouts compiled with LaTeX.
Use SVG for
- architecture diagrams;
- pipelines;
- process graphs;
- memory layouts;
- block diagrams;
- reusable figures intended for slides, web pages, or later editing in a vector editor.
Use ASCII for
- terminal-only materials;
- code comments or plain-text handouts;
- quick but faithful representations of trees, pipes, process hierarchies, directory layouts, and simple flows.
Mandatory figure specification step
Before generating code, write a compact specification containing:
figure_id
title
context_document
target_level
pedagogical_objective
concepts_covered
format_chosen
why_this_format
granularity
must_show
must_not_show
caption
accessibility_notes
If the specification is weak or ambiguous, stop and refine it before generating the figure source.
Design rules
- Prefer one pedagogical idea per figure.
- Avoid overloaded diagrams.
- Define labels and symbols explicitly.
- Avoid introducing concepts not already present in the material.
- Prefer monochrome-safe designs unless color carries essential meaning.
- Use consistent naming with the surrounding course material.
- Keep figures editable from source.
- Never produce bitmap-only figures when a source language is possible.
Quality checks
For every generated figure, verify:
- scientific correctness;
- consistency with the surrounding text;
- appropriate abstraction level;
- readability at normal print or slide scale;
- no hidden ambiguity in labels or arrows;
- no unnecessary decorative elements.
Typical use cases
- add a process/thread memory model figure to an OS lecture;
- generate a PlantUML sequence diagram for a client-server TP;
- produce a TikZ graph traversal figure for an algorithms exam;
- generate an ASCII pipeline diagram for a Unix shell exercise;
- create an SVG architecture view for a fil rouge project.
Deliverables
When asked to support an existing pedagogical artifact, generate:
figures/figure-index.md with the list of recommended or produced figures;
figures/specs/ containing one specification file per figure;
figures/src/ containing source files in .svg, .tex, .puml, or .txt;
- optional
figures/captions.md for reusable captions.
1---2name: pedagogical-figure-designer3description: Detects which pedagogical figures are needed in a course, TD, TP, exam, or project, then specifies and generates them in SVG, TikZ, PlantUML, or ASCII. Use when an instructor or orchestrator needs rigorous, reusable, source-based figures for computing, systems, networks, algorithms, AI, cybersecurity, or professional reskilling materials.4---56# Pedagogical Figure Designer78## Goal9Turn abstract technical content into precise, reusable pedagogical figures that improve understanding without adding conceptual noise.1011## Inputs12Read these first when available:13- `mission.json`14- the course, TD, TP, exam, or project draft15- `shared/figure-policy/figure-policy.md`16- the format-specific guidance in `references/`1718## Main responsibilities191. Detect which concepts actually require a figure.202. Reject decorative figures with no pedagogical value.213. Write a compact figure specification before drawing.224. Choose the most suitable source format among SVG, TikZ, PlantUML, and ASCII.235. Generate source files that are readable, editable, and reusable.246. Provide a short pedagogical justification for each figure.257. Keep the level of abstraction aligned with the audience: L1, L2, L3, M1, M2, or professional reskilling.2627## Output contract28For each figure, produce:29- a figure identifier;30- a short title;31- the pedagogical purpose;32- the target level;33- the chosen format;34- the source file;35- a short caption;36- a short note explaining why this figure is useful.3738When relevant, also produce:39- a simplified variant;40- a detailed variant;41- an exam-safe black-and-white variant;42- an ASCII fallback for text-only environments.4344## When to use each format45### Use PlantUML for46- UML class diagrams;47- sequence diagrams;48- state machines;49- activity diagrams;50- component and deployment views;51- lightweight software architecture views;52- protocol interactions.5354### Use TikZ for55- mathematically precise diagrams;56- trees, graphs, grids, and geometric or algorithmic figures in LaTeX workflows;57- figures that must integrate cleanly into lecture notes, exams, or handouts compiled with LaTeX.5859### Use SVG for60- architecture diagrams;61- pipelines;62- process graphs;63- memory layouts;64- block diagrams;65- reusable figures intended for slides, web pages, or later editing in a vector editor.6667### Use ASCII for68- terminal-only materials;69- code comments or plain-text handouts;70- quick but faithful representations of trees, pipes, process hierarchies, directory layouts, and simple flows.7172## Mandatory figure specification step73Before generating code, write a compact specification containing:74- `figure_id`75- `title`76- `context_document`77- `target_level`78- `pedagogical_objective`79- `concepts_covered`80- `format_chosen`81- `why_this_format`82- `granularity`83- `must_show`84- `must_not_show`85- `caption`86- `accessibility_notes`8788If the specification is weak or ambiguous, stop and refine it before generating the figure source.8990## Design rules91- Prefer one pedagogical idea per figure.92- Avoid overloaded diagrams.93- Define labels and symbols explicitly.94- Avoid introducing concepts not already present in the material.95- Prefer monochrome-safe designs unless color carries essential meaning.96- Use consistent naming with the surrounding course material.97- Keep figures editable from source.98- Never produce bitmap-only figures when a source language is possible.99100## Quality checks101For every generated figure, verify:102- scientific correctness;103- consistency with the surrounding text;104- appropriate abstraction level;105- readability at normal print or slide scale;106- no hidden ambiguity in labels or arrows;107- no unnecessary decorative elements.108109## Typical use cases110- add a process/thread memory model figure to an OS lecture;111- generate a PlantUML sequence diagram for a client-server TP;112- produce a TikZ graph traversal figure for an algorithms exam;113- generate an ASCII pipeline diagram for a Unix shell exercise;114- create an SVG architecture view for a fil rouge project.115116## Deliverables117When asked to support an existing pedagogical artifact, generate:1181. `figures/figure-index.md` with the list of recommended or produced figures;1192. `figures/specs/` containing one specification file per figure;1203. `figures/src/` containing source files in `.svg`, `.tex`, `.puml`, or `.txt`;1214. optional `figures/captions.md` for reusable captions.