| name | classroom-slides | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| version | 2.1.0 | |||||||||||||
| description | Design system for building distinctive, projection-ready classroom decks. Produces a designed HTML deck first (where all iteration happens), then exports to .pptx at the end. Use whenever the user asks for slides, a deck, a lesson presentation, or a .pptx for class — any subject, any level. Supersedes v1 and v2.0.0 entirely. | |||||||||||||
| audience |
|
This skill defines a visual and editorial system for classroom decks. Output is a
PowerPoint file for projection. The build happens in HTML because that is how this
environment works — HTML is fast to iterate, supports live preview and toggleable
variants, and exports cleanly to .pptx. Treat the HTML as the editing surface and the
.pptx as the deliverable.
- Single direction only — the
Editorialdirection is now the house style. Gallery and Bold are removed. The Tweaks panel no longer offers a direction toggle. - Running heads and slide numbers are off by default. Do not add them unless the user asks. This was noise chrome; decks read better without it.
- Em-dash absolute clarified and moved into the content rules so it's visible while writing, not only in the absolutes list.
- Parallelism exception to the "no two consecutive layouts" rule: repeated structural slides (section headers, parallel dividers) are allowed and encouraged.
- Type floors aligned to the validator — everything on a slide is at least 24px.
- Annotated-text anti-patterns added.
- Worked examples of full title sequences appended for two lessons.
The slide is not the lesson. The teacher is the lesson. The slide anchors what the teacher is saying — it does not replicate it.
Every rule below follows from this. If a rule seems to be pulling the other way in a specific case, follow the idea, not the rule.
The commonest failure mode of classroom decks — including those produced by earlier versions of this skill — is slides that try to contain the teaching. Commentary paragraphs, "why this matters" sub-text, explanatory footers. All of it should be said aloud. The slide's only job is to sit on the wall and hold the anchor in place.
Where does teacher-script material live, then? In speaker notes (when the user asks for them) or in the teacher's head. Never on the slide.
If the user's prompt doesn't give you all four, ask for the missing ones in a single question. Do not build without them.
- Subject — English, RE, CSPE, Literacy (or other if they say so).
- Level — Junior Cycle / Leaving Cert HL / Leaving Cert OL / Literacy group.
- Topic — as specific as possible ("Bishop's use of imagery", not "poetry").
- Duration — minutes, or number of class periods.
Do not ask about:
- Whether the user wants activities (use judgement; default to one if it fits).
- Colour palette preference (you choose — see palette rules below).
- Layout preferences (the skill decides).
- Direction / style variants (there is only one direction in v2.1).
If the user explicitly names something — "end with a choice board", "use navy and gold", "no activity", "add running heads" — do what they said and do not second-guess it.
The build happens in HTML; the deliverable is a .pptx. Never skip the HTML step and
go straight to PPTX — you lose live preview and the ability for the user to iterate on
wording before export.
- Confirm the four inputs (subject, level, topic, duration).
- Plan the slide sequence on paper before writing any code: how many slides, which are dark, which layout each uses, what anchors each slide.
- Build the HTML deck using the layout library, type scale, and palette rules
below. Put the slides in a
slides.jsfile (or inline as sections), styles instyles.css, and the shell in a single root HTML file. Include the standard Tweaks panel (see Tweaks section). - Show the HTML to the user. Let them read it and ask for changes. Edits happen in
slides.js/styles.css— fast, localised. - Run visual QA (see QA section). This is a gate, not optional.
- Export to
.pptxusing the environment's PPTX export. Include speaker notes if the user has asked for them. - Deliver both the HTML file and the
.pptxso the user can re-edit without starting from scratch.
Revisions after delivery: edit the HTML, re-export. Always keep the HTML as the source of truth.
These are hard constraints. No topic, level, or request justifies breaking them.
- No bullet points. Content is prose, cards, quotes, numbered steps, or tables. Dashes pretending to be bullets are still bullets.
- No em dashes in slide content. Use commas, colons, full stops, or restructure. Fraunces and similar editorial serifs want em dashes — resist. You may use them in speaker notes and prose about the deck, just not in the slide text.
- No pure white backgrounds. Also no pure black — ink tones read warmer on a projector.
- No two consecutive slides share the same layout — with one exception. Parallel structural slides (section dividers, repeated template slides) are allowed and encouraged when the content is genuinely parallel. The rule is really: no two consecutive content slides share a layout. Don't accidentally make two adjacent concept cards look identical.
- Text floors are absolute and uniform: 24px minimum for anything on a slide. See Type section. Auto-shrink below floor is not an option — cut content instead.
- Nothing the teacher will say aloud goes on the slide. If a sentence on a slide explains, contextualises, justifies, or walks through a point, it belongs in the teacher's mouth, not on the wall. Anchor phrases and evidence only.
- No running heads or slide numbers by default. The chrome adds noise. Only add if the user asks.
Principles describe the effect the deck should have. The heuristics under each are ways to achieve the effect; if a heuristic works against its principle in a specific case, follow the principle.
Like a page in a well-made book. Each slide should look chosen. If a slide could be swapped into a corporate marketing deck unchanged, it has failed this test.
Heuristics: generous negative space; one dominant element per slide; typography that does the heavy lifting before colour does; imagery used sparingly and only when it genuinely clarifies.
Dark slides punctuate moments of emphasis; light slides carry content. The alternation is felt when clicked through, not calculated slide-by-slide.
Heuristics: title and closing slides are almost always dark. Section dividers are dark. Key quote slides are often dark. Everything else is a judgement call. A 6-slide deck might have two dark slides; a 16-slide deck might have four or five.
If the colours would still work if swapped into a completely unrelated deck, they're not specific enough. A deck on nature poetry should not look like a deck on the Irish Constitution.
Heuristics: start from the mood the room should have when the first slide goes up. Then pick one dark tone, one warm accent, and one light base. Complete the six-role palette below from there.
Because these decks are typographically driven — no stock imagery, no icon mazes — the type choices are what the students notice first. Pick a serif with personality for headings and a clean humanist sans for everything else.
These are HTML-first decks, so you are not restricted to Georgia/Calibri. Pick from the recommended pairings below. Don't invent new ones.
Recommended pairings (heading / body — choose one pair per deck, no mixing):
| Mood | Heading (serif) | Body / UI (sans) |
|---|---|---|
| Editorial, warm, literary | Fraunces / EB Garamond / Cormorant Garamond / Source Serif 4 | Inter / Source Sans 3 |
| Sharp, modern, structured | Instrument Serif / Playfair Display / Spectral | Inter / Manrope |
| Classroom-friendly, approachable | Lora / Literata | Open Sans / Work Sans |
| Bold, graphic, confident | DM Serif Display / Bricolage Grotesque (serif) | DM Sans / Bricolage Grotesque |
Avoid over-used pairings (Times / Arial, Georgia / Calibri unless the user asks, anything with Roboto).
Size scale — designed for 1920×1080 projection, read from the back of a room. All floors are aligned to the validator (which rejects anything under 24px):
| Element | Size | Floor | Weight | Family |
|---|---|---|---|---|
| Title slide H1 | 180–240px | 160px | 500–700 | serif |
| Slide title (H2) | 120–160px | 96px | 500 | serif |
| Section divider roman | 96–140px | 72px | 500 | serif |
| Lead line / subtitle | 40–56px | 36px | italic 400 | serif |
| Card heading | 56–80px | 48px | 500 | serif |
| Body prose | 32–44px | 28px | 400 | serif or sans |
| Annotated quote text | 56–80px | 48px | italic 500 | serif |
| Small UI label (kickers, attributions) | 24–28px | 24px | 500, tracked | sans, uppercase |
| Slide number / footer chrome | only if requested | 24px | 400 | sans |
Floors are absolute. If content won't fit at the floor size, cut content. Never shrink below floor. The universal floor for anything on a slide is 24px — below that, the validator rejects it and back-of-room readability drops.
Choose a palette appropriate to the topic. The six-role structure is the default because it scales predictably across layouts.
| Role | Purpose | Typical values |
|---|---|---|
| Primary dark | Dark-slide backgrounds | Deep navy, charcoal, forest, oxblood |
| Secondary dark | Cards on dark slides, slightly lifted | 6–10% lighter than primary dark |
| Accent warm | The signature colour; rules, marks, highlights | Coral, amber, gold, terracotta, rust |
| Accent secondary | Used sparingly for second marks, variants | Teal, sage, deep plum |
| Light base | Light-slide backgrounds (never pure white) | Warm cream, bone, parchment |
| Light variant | Cards on light slides | A tinted variant of light base |
Example palettes (for reference, don't re-use mechanically):
| Topic | Primary dark | Accent warm | Accent secondary | Light base |
|---|---|---|---|---|
| Leaving Cert poetry (Bishop/Yeats) | #1E1A17 ink |
#B74A3A terracotta |
#3C5A4A moss |
#F2EBDE cream |
| Othello / Iago | #0F1B2D navy |
#D4A843 gold |
#2A7B88 teal |
#FAF6F0 cream |
| Inclusivity / CSPE | #1E2D4A navy |
#E8734A coral |
#1A6B5C sage |
#FFF8F0 cream |
When generating a new palette, think about the mood first, then use OKLCH to derive harmonious variants rather than eyeballing hex. Keep contrast ratios WCAG-AA at minimum.
Use a different layout for each content slide. Never repeat consecutively except for parallel structural slides (see Absolute 4). Mix liberally.
- Title — one enormous phrase, one thin accent rule, an italic subtitle. Nothing else.
- Editorial hero — a large H2 statement, a single pullquote with a decorative " mark.
- Map / overview — a small grid (2–3 cells) listing what's to come. Roman numerals for camps, one-line glosses, no paragraphs.
- Section divider — dark slide with a roman numeral, a one-word title, one anchor quote. Used to separate parts of the lesson. Parallel dividers may appear adjacent if the structure genuinely warrants it.
- Concept card (single) — one idea per slide: title, one-line definition, one example (quote / image / diagram). No commentary.
- Concept card (compare two) — two evidence blocks side-by-side for the same concept. No explanation text.
- Annotated evidence — a quote, passage, equation, or source with spans inside it marked by colour to draw the eye to the technique/feature being taught. See Annotated Text below — this is the signature device for content teaching.
- Numbered steps — 3–5 cells with large numerals; one short label each, no body text.
- Before / after (table) — two columns, "instead of" / "try". Short phrases only.
- Task — one concrete, pen-and-paper activity connected to the slides before it. Two to three numbered steps, each a single sentence.
- Closing — one sentence or one quote. Big. Nothing else.
Not every deck uses every layout. Pick the ones that serve the content.
Long passages are where classroom decks usually fail. The trick is to present the whole quote at projection size and colour-mark the fragment being taught. The rest of the quote is ink; the marked fragment is accent-coloured (and usually weight-shifted).
<div class="eg__quote">
"faint <span class="a-f">f</span>orked
<span class="a-l">l</span>ightnings, catching
<span class="a-l">l</span>ight."
</div>CSS:
.a-f, .a-l, .a-s, .a-h, .a-b, .a-u, .a-accent {
color: var(--accent);
font-weight: 700;
text-decoration: underline wavy var(--accent);
text-underline-offset: 0.15em;
}Apply the same pattern to other subjects:
- English — mark sounds, syllables, figurative pivots, volta turns.
- RE — highlight key verbs, names, covenant language in scripture passages.
- CSPE — highlight rights-bearing language in articles; mark duty/right pairs.
- Literacy — mark morphemes, digraphs, rhymes, syllable boundaries.
This is the most powerful single technique the system has. Use it whenever evidence is on the slide.
The device works because the eye catches a sparse mark inside ordinary text. When used poorly it becomes noise.
- Over-marking. More than two or three spans in a single quote collapses the effect. The marks stop pointing at anything because everything is a mark.
- Marking whole sentences. If you find yourself marking four or more words in a row, you are using bold, not annotation. Restructure — put the sentence in a pullquote, or split the point into two slides.
- Inconsistent semantics. If
.a-underlinemeans "this sound" on slide 3 and "this theme" on slide 7, students lose the thread. Pick one meaning per deck; introduce more only with a legend slide. - Decoration marking. Never mark a span just because the line would look bare. The mark must earn its presence by pointing at something you'll talk about.
The old rules were right in spirit but still produced dense slides because the mental model was wrong. New rules:
Every slide should answer one of these questions, and only one:
- What is this thing called?
- What does it look like on the page? (evidence)
- What do we do next? (task)
If a slide is answering two of them, split it. If it's answering none of them, cut it.
- No em dashes on slides. Even though the serifs you are using (Fraunces, Cormorant, Spectral) were designed around them, the em dash is the single most common giveaway that a deck was AI-generated. Use commas, colons, full stops, or restructure. This rule applies to every visible word on every slide, including sub-labels.
- Smart quotes only.
’for apostrophes,“/”for quotes. Straight quotes are a typography smell. - No exclamation marks. They almost always sit where a colon or full stop would do more.
Budgets are per slide for all non-chrome text combined (title + subtitle + body + card text).
| Slide type | Hard maximum | Aim for |
|---|---|---|
| Title | 12 words | 4–8 |
| Section divider | 16 words | 8–12 |
| Concept card (single) | 30 words | 15–22 |
| Concept card (compare two) | 40 words | 24–32 |
| Annotated evidence | Evidence wordcount + 12 words chrome | — |
| Numbered steps | 4 words × n steps | — |
| Before/after table | 10 words per cell | 5–7 |
| Task | 30 words | 18–22 |
| Closing | 20 words | 8–14 |
If you're over, cut. Don't shrink type.
If a line on the slide explains, contextualises, justifies, or walks through a point, delete it. That line is teacher dialogue. The teacher has a mouth.
Tests that a line is teacher-scripting:
- It begins with a transition word ("Now,", "So,", "Here we see").
- It says why something is interesting or important.
- It rephrases something already on the slide in other words.
- It ends with "which means…".
Script material belongs in speaker notes, never on the slide.
Every quote has an attribution (speaker, source, act/scene/line if literary). Quotes are never truncated into soundbites — if the passage needs the full shape to land, give it the full shape. If it doesn't, cut to the phrase that matters.
Every deck ships with a small floating panel in the bottom-right corner, activated by the toolbar toggle in the environment. The panel lives on all decks for consistency even when it only has one or two controls.
Standard control (always include):
- Dark mode toggle — for decks projected in bright vs dim rooms. Swaps the primary dark and light base roles while keeping accent colours.
Optional controls — include only if the lesson genuinely benefits:
- A content toggle specific to the lesson (e.g. "Show / hide example answers"), when the teacher might want to reveal content live.
Do not add a direction picker. There is one direction in v2.1 — the house style
described above. Earlier versions shipped Editorial / Gallery / Bold variants; this
is removed. Decks should be opinionated about their own look.
Implementation: use the standard Tweaks protocol (register __activate_edit_mode /
__deactivate_edit_mode listener, post __edit_mode_available, persist with
__edit_mode_set_keys inside /*EDITMODE-BEGIN*/ ... /*EDITMODE-END*/ markers in the
root HTML).
Visual spec. Panel sits bottom-right, ~260px wide, white card on cream decks (or cream card on dark decks), 10px radius, subtle shadow. Controls are labelled in small caps at 11–13px (the panel is chrome, not slide content, so the 24px floor does not apply). Keep it visually quiet so it doesn't compete with the deck behind it.
If the deck runs more than 15 minutes of content, it almost always benefits from an activity. Default to including one unless the user said otherwise.
Single task slide — one concrete, clearly-described task, pen-and-paper unless the user says devices are available. Must connect to the slides immediately before it — generic "reflect on the themes" tasks fail. A good test: if the task could be pasted into a different deck and still make sense, it's too generic.
Choice board — only if the user asks. Four to six options in a grid, each offering a different kind of thinking (empathetic / analytical / creative / persuasive), not the same task in different lengths.
Do not export to PPTX or deliver until visual QA has passed.
Run through each slide in the HTML preview and check, in priority order:
- Text overflow or clipping in any container.
- Any text below 24px (the universal floor). If so, cut content or restructure.
- Two consecutive slides with the same layout that are not parallel structural slides.
- Bullet points, including disguised dashes.
- Em dashes in slide content. Search the source for
—,—, and--before declaring the deck done. - Teacher-scripting sentences still on slides (delete them).
- Low-contrast text (light grey on cream, dark on dark).
- Running heads or slide numbers present when the user did not ask for them.
- Annotated spans not landing visibly — the mark has to register from the back of a classroom. And: not more than two or three marks per quote.
Skip sub-pixel nitpicks a student wouldn't notice. QA is about real user-visible defects.
If a first pass surfaces defects, fork a verifier subagent to sweep once more with fresh eyes before export.
| Level | Tone | Density | Accent application |
|---|---|---|---|
| Junior Cycle (12–15) | Warmer, more inviting | A bit more visual space, slightly larger card headings | More colour, more accent marks |
| Leaving Cert HL (16–18) | Restrained, analytical, literary | Denser allowed, more annotated evidence | Discreet — colour does less heavy lifting |
| Leaving Cert OL | Clearer scaffolds, shorter sentences | As HL but with tighter word budgets | As HL |
| Literacy (small group, ~12) | Warmest, most playful | Fewer words per slide, more breathing room | Heavy use of annotated spans (morphemes, digraphs, syllables) |
| Slot | Target range |
|---|---|
| 10-minute starter / plenary | 6–10 slides |
| 60-minute class | 12–18 slides |
| Revision resource (student-facing) | Up to 22 slides, denser content acceptable |
Don't pad to hit these numbers. Under is fine; over is a smell.
These are the titles only, in order. Read them top to bottom; the shape of the lesson should be visible from titles alone. One grammatical style per deck.
Short topic noun-phrases with occasional declarative phrases. Twelve slides.
- Show Your Working
- Today at a glance
- Same question. Two answers.
- Two answers on the board
- What made B stronger
- A simple habit (section divider, dark)
- Point. Evidence. Explain.
- One answer, modelled together
- Your turn on the page
- As you write, check in
- Reading each other's work
- Point to the page (closing, dark)
Notes on this sequence:
- The rhythm alternates: light content, light content, dark divider, light teaching, light task, light peer work, dark close. One dark divider is enough for a twelve-slide deck; two darks total (divider + closing) gives it shape.
- The titles "Same question. Two answers." and "Point. Evidence. Explain." both use parallelism with full stops — repeat the shape once per deck, not more.
- No title is a verdict. No title ends in "…" or begins with "The magic of".
Sixteen slides. Section-heading nouns for dividers, topic noun-phrases for content.
- The Craft of the Poem
- What the question is really asking
- The map of today
- Sound (section divider, dark)
- Alliteration
- Sibilance
- Assonance
- Figurative language (section divider, dark)
- Simile
- Metaphor
- Imagery across the senses
- Writing it up (section divider, dark)
- Point, Evidence, Explain, Link
- From device to effect
- Ten minutes on the page
- The question is always craft (closing, dark)
Notes on this sequence:
- Three section dividers give the deck clear three-act structure. The dividers are one-word nouns ("Sound", "Figurative language", "Writing it up") — this is a valid case where consecutive structural slides (3→4, 7→8, 11→12) share a layout, because they are genuinely parallel.
- Titles 5, 6, 7 are single-word technique names; 9, 10 follow the same pattern. Parallel naming across a section is a feature, not a bug.
- The closing title is a phrase from the teacher's framing in slide 2 — closing loops are good when they're not laboured.
- Worksheet / handout design (different format, different rules).
- Interactive prototypes (different skill).
- Non-classroom decks (corporate, conference, etc.) — this skill is classroom-specific.
If the user asks for something outside the scope, say so and ask what they'd like instead.