{
  "spec": "quick-html/v0",
  "id": "training-deck",
  "version": "0.1.0",
  "name": "Training Deck",
  "description": "A warm 4:3 workshop deck for trainers and facilitators: cover, timed agenda, learning objectives, repeatable content slides with a timing chip and a takeaway, inverted exercise slides, debrief prompts, recap and close. Pick it when a session is run in a room rather than presented to a board.",
  "useWhen": [
    "workshop deck",
    "training slides",
    "facilitator deck",
    "course slides",
    "slides to run a workshop from",
    "training session with exercises",
    "workshop agenda with timings",
    "facilitation deck",
    "teach a half-day session",
    "onboarding training slides",
    "trainingsdeck",
    "workshop presentatie",
    "trainingspresentatie",
    "Workshop-Präsentation",
    "Schulungsunterlagen",
    "support de formation"
  ],
  "format": "deck",
  "theme": "education",
  "audience": [
    "teacher",
    "hr",
    "consultant"
  ],
  "tags": [
    "workshop",
    "training",
    "slides",
    "facilitation",
    "exercise"
  ],
  "language": "en",
  "modules": [
    "deck-runtime",
    "edit-overlay",
    "print-helper"
  ],
  "slots": [
    {
      "name": "doc-title",
      "type": "text",
      "required": true,
      "example": "Feedback that lands · Vonk Training",
      "notes": "Browser tab title; also the filename the Edit module downloads. Session title, then the training organisation."
    },
    {
      "name": "cover-org",
      "type": "text",
      "required": true,
      "example": "Vonk Training",
      "notes": "The training organisation, school or department. The deck runtime copies this into the footer of every slide, so it is written once here — keep it short, it is set in uppercase."
    },
    {
      "name": "course-name",
      "type": "text",
      "required": true,
      "example": "Leading conversations · module 2 of 4",
      "notes": "The programme this session belongs to, and where it sits in it. Under ~45 chars."
    },
    {
      "name": "session-title",
      "type": "text",
      "required": true,
      "example": "Feedback that lands",
      "notes": "The session as the room will remember it, set very large. Under ~34 chars keeps it on one line; a promise beats a topic ('Feedback that lands', not 'Feedback training')."
    },
    {
      "name": "session-strapline",
      "type": "text",
      "required": true,
      "example": "A half-day workshop for team leads and first-time managers",
      "notes": "Format and audience in one italic line: how long it is and who it is for."
    },
    {
      "name": "facilitator-line",
      "type": "text",
      "required": true,
      "example": "Facilitated by Sanne Hoekstra and Joris Bakker · Amsterdam",
      "notes": "Who runs the session. Use [FACILITATOR NAME] if it is not settled yet."
    },
    {
      "name": "session-date",
      "type": "text",
      "required": true,
      "example": "Thursday 24 September 2026 · 09:00–12:30",
      "notes": "Day, date and the start and end time. THIS is the session length the agenda durations must add up to; write the clock times with an en dash."
    },
    {
      "name": "agenda-tab",
      "type": "text",
      "required": true,
      "example": "Today",
      "notes": "Section label of the agenda slide; translate with the deck ('Vandaag', 'Programm')."
    },
    {
      "name": "agenda-title",
      "type": "text",
      "required": true,
      "example": "Three and a half hours, two exercises, one conversation you take home",
      "notes": "Say what the shape of the day is, not 'Agenda'. Under ~70 chars."
    },
    {
      "name": "agenda-total",
      "type": "text",
      "required": true,
      "example": "210 min · 09:00–12:30",
      "notes": "The chip that proves the arithmetic: total minutes and the clock window. It must equal the sum of every agenda-duration and match session-date."
    },
    {
      "name": "objectives-tab",
      "type": "text",
      "required": true,
      "example": "Why we are here"
    },
    {
      "name": "objectives-chip",
      "type": "text",
      "required": true,
      "example": "Observable, all four",
      "notes": "Short chip, under ~24 chars. Either a count of the objectives or how they will be checked."
    },
    {
      "name": "objectives-title",
      "type": "text",
      "required": true,
      "example": "What you will be able to do at half past twelve",
      "notes": "Name the end of the session, not the word 'objectives'."
    },
    {
      "name": "objectives-lead",
      "type": "text",
      "required": true,
      "example": "Four things, each of them something we can watch you do. If one of them has not happened by 12:30, say so before you leave the room.",
      "notes": "One or two sentences that set the contract with the room. Under ~150 chars."
    },
    {
      "name": "rules-tab",
      "type": "text",
      "required": true,
      "example": "How we work today",
      "notes": "Lives on the optional ground-rules slide."
    },
    {
      "name": "rules-chip",
      "type": "text",
      "required": true,
      "example": "Part of the check-in",
      "notes": "Timing chip of the ground-rules slide. Give it minutes ('5 min') if it has its own agenda line, otherwise say which block it belongs to."
    },
    {
      "name": "rules-title",
      "type": "text",
      "required": true,
      "example": "Four agreements that make practising safe enough"
    },
    {
      "name": "rules-body",
      "type": "html",
      "required": true,
      "example": "<ul class=\"b\"><li><strong>What is said here stays here.</strong> What you learn here goes everywhere with you.</li><li><strong>Bring real situations.</strong> Invented cases are comfortable and they teach nothing.</li></ul>",
      "notes": "Keep the <ul class=\"b\"> wrapper. Three to five agreements, each a bold instruction plus one sentence of why. Write them as things the room does, not things it must not do."
    },
    {
      "name": "rules-note",
      "type": "text",
      "required": true,
      "example": "Anything you want to add? Say it now — this list belongs to the room, not to the trainer.",
      "notes": "The strip under the list: hand the rules to the participants."
    },
    {
      "name": "discussion-tab",
      "type": "text",
      "required": true,
      "example": "Debrief",
      "notes": "Lives on the optional discussion slide."
    },
    {
      "name": "discussion-timing",
      "type": "text",
      "required": true,
      "example": "20 min",
      "notes": "Must match the agenda line that covers the debrief."
    },
    {
      "name": "discussion-title",
      "type": "text",
      "required": true,
      "example": "What was different the second time you said it?",
      "notes": "A question, not a heading — this slide is the one the room answers."
    },
    {
      "name": "discussion-prompts",
      "type": "html",
      "required": true,
      "example": "<ul class=\"q\"><li>Which sentence was hardest to say out loud, and what happened in the room after you said it?</li><li>Observers: name one thing the giver did that you are going to steal.</li></ul>",
      "notes": "Keep the <ul class=\"q\"> wrapper: each <li> becomes one prompt card. Two or three prompts, each an open question under ~110 chars. Four cards start to crowd the slide."
    },
    {
      "name": "discussion-note",
      "type": "text",
      "required": true,
      "example": "Ask, then wait. Ten seconds of silence in a room of twelve is normal, and it is doing the work for you.",
      "notes": "Facilitator cue in small italics, for the person presenting rather than the room."
    },
    {
      "name": "recap-tab",
      "type": "text",
      "required": true,
      "example": "Recap"
    },
    {
      "name": "recap-timing",
      "type": "text",
      "required": true,
      "example": "15 min",
      "notes": "Must match the agenda line that covers the recap."
    },
    {
      "name": "recap-title",
      "type": "text",
      "required": true,
      "example": "Four things to take out of this room",
      "notes": "Count the points and say they are for afterwards."
    },
    {
      "name": "recap-commitment",
      "type": "text",
      "required": true,
      "example": "Before you leave: one name, one sentence, one date in your calendar. We will ask about it in module 3.",
      "notes": "The strip that turns the recap into an action. Ask for something specific and say when it will be followed up."
    },
    {
      "name": "close-kicker",
      "type": "text",
      "required": true,
      "example": "Thank you",
      "notes": "Two or three words in large italics above the closing title ('Thank you', 'Dank je wel')."
    },
    {
      "name": "close-title",
      "type": "text",
      "required": true,
      "example": "One conversation, this week, with a name on it",
      "notes": "The one thing you want them to do tomorrow. Under ~55 chars."
    },
    {
      "name": "close-line",
      "type": "text",
      "required": true,
      "example": "You already know which one it is — you wrote it on a card at ten past ten. Have it before Friday, while the sentences are still yours.",
      "notes": "One or two warm sentences that refer back to something that happened in the room. Under ~180 chars."
    },
    {
      "name": "next-steps-title",
      "type": "text",
      "required": true,
      "example": "What happens next",
      "notes": "Uppercase column header, under ~26 chars."
    },
    {
      "name": "next-steps-content",
      "type": "html",
      "required": true,
      "example": "<ul class=\"b\"><li>A one-page summary and the three-sentence card reach your inbox on <strong>Friday 25 September</strong>.</li><li>In two weeks you get one email with one question: did you have the conversation?</li></ul>",
      "notes": "Keep the <ul class=\"b\"> wrapper. Two or three bullets, each with a date or a named moment. Use [DATE] where the follow-up is not scheduled yet."
    },
    {
      "name": "resources-title",
      "type": "text",
      "required": true,
      "example": "To take with you",
      "notes": "Header of the optional resources column, under ~26 chars."
    },
    {
      "name": "resources-body",
      "type": "html",
      "required": true,
      "example": "<ul class=\"b\"><li>The three-sentence card, printed, in your workshop folder.</li><li>A two-page reading list — chapters, not whole books.</li></ul>",
      "notes": "Keep the <ul class=\"b\"> wrapper. Two or three handouts, links or references. Name what it is and where it is, not just a title."
    },
    {
      "name": "closing-contact",
      "type": "text",
      "required": true,
      "example": "Sanne Hoekstra · sanne@vonktraining.nl · +31 20 214 88 30 · Da Costakade 158, Amsterdam",
      "notes": "The facilitator's contact details on one line, separated by middots. Use [EMAIL] and [PHONE] where they are unknown and let the user fill them in with the Edit button."
    }
  ],
  "repeats": [
    {
      "name": "agenda-item",
      "description": "One block of the day: clock time, what happens, how long it takes. Give breaks a row of their own — they cost minutes but get no slide.",
      "min": 3,
      "max": 8,
      "slots": [
        {
          "name": "agenda-time",
          "type": "text",
          "required": true,
          "example": "09:00",
          "notes": "24-hour clock. Each time equals the previous time plus the previous duration; the first equals the start time on the cover."
        },
        {
          "name": "agenda-item-text",
          "type": "text",
          "required": true,
          "example": "Welcome, check-in and what we will not do today",
          "notes": "One line, under ~55 chars, no trailing full stop. Use the same wording as the section label of the slide it covers."
        },
        {
          "name": "agenda-duration",
          "type": "text",
          "required": true,
          "example": "15 min",
          "notes": "Minutes, in the format 'NN min'. All durations together must equal agenda-total and the clock window on the cover."
        }
      ]
    },
    {
      "name": "objective",
      "description": "One learning objective: something a participant can be observed doing by the end of the session.",
      "min": 2,
      "max": 5,
      "slots": [
        {
          "name": "objective-text",
          "type": "text",
          "required": true,
          "example": "Name the three parts of a feedback message and spot the one that is missing from a real example.",
          "notes": "Start with an observable verb — name, deliver, ask, write down, calculate, demonstrate. Never 'understand', 'know' or 'be aware of'. Under ~110 chars."
        }
      ]
    },
    {
      "name": "content-slide",
      "description": "The teaching slide: section label, timing chip, one idea, up to five bullets, a takeaway strip and a facilitator cue. Duplicate it once per topic; the order of the copies is the order of the session.",
      "min": 1,
      "max": 12,
      "slots": [
        {
          "name": "content-tab",
          "type": "text",
          "required": true,
          "example": "Why feedback misses",
          "notes": "The block of the day this slide belongs to, under ~28 chars. Repeat the same label on consecutive slides of one block and keep it equal to the matching agenda line."
        },
        {
          "name": "content-timing",
          "type": "text",
          "required": true,
          "example": "20 min",
          "notes": "The timing chip the room can see. Format 'NN min', and it must match the agenda line for this block."
        },
        {
          "name": "content-title",
          "type": "text",
          "required": true,
          "example": "Most feedback fails before it is given, not while it is given",
          "notes": "One idea, stated as a claim rather than a label. Under ~70 chars: three lines of title collide with the body at 4:3."
        },
        {
          "name": "content-body",
          "type": "html",
          "required": true,
          "example": "<ul class=\"b\"><li>We wait. The usual gap between noticing the behaviour and mentioning it is <strong>six weeks</strong>.</li><li>We generalise. \"You are always late\" cannot be checked, so it gets argued instead of answered.</li></ul>",
          "notes": "Keep the <ul class=\"b\"> wrapper. At most five bullets of up to ~26 words; the type is deliberately large so the back of the room can read it. Bold the term being taught, not whole sentences."
        },
        {
          "name": "content-takeaway",
          "type": "text",
          "required": false,
          "example": "The conversation is decided by what you prepare, not by how brave you feel in the room.",
          "notes": "The one sentence that survives the coffee break — the consequence, not a summary. Two lines maximum. Clear the text on slides that carry no single takeaway."
        },
        {
          "name": "content-cue",
          "type": "text",
          "required": false,
          "example": "Ask for a show of hands on the six-week gap before you move on. Most rooms admit to longer.",
          "notes": "A note to the person facilitating, in small italics: what to ask, demonstrate or watch for. Clear the text if the slide needs no cue."
        }
      ]
    },
    {
      "name": "exercise-slide",
      "description": "The signature slide: the palette inverts to the accent colour so the room instantly sees that the mode has changed from listening to doing. Duplicate it once per exercise.",
      "min": 1,
      "max": 6,
      "slots": [
        {
          "name": "exercise-kicker",
          "type": "text",
          "required": true,
          "example": "Exercise 1",
          "notes": "Label in the top-left corner. Number the exercises yourself if there are several — the deck runtime numbers pages, not exercises."
        },
        {
          "name": "exercise-timing",
          "type": "text",
          "required": true,
          "example": "30 min",
          "notes": "The clock the room works against, format 'NN min'. It must match the agenda line for this exercise, and the steps in the brief must fit inside it."
        },
        {
          "name": "exercise-title",
          "type": "text",
          "required": true,
          "example": "Rewrite a message you never sent",
          "notes": "Name the task in under ~45 chars; this title is set larger than the others."
        },
        {
          "name": "exercise-brief",
          "type": "html",
          "required": true,
          "example": "<ol class=\"s\"><li>Think of one piece of feedback you have been carrying for weeks and have not given.</li><li>Write it as three sentences — situation, behaviour, impact. Ten minutes, alone, in silence.</li></ol>",
          "notes": "Keep the <ol class=\"s\"> wrapper: every <li> becomes one numbered step, so write them in the order they happen. Three to five steps, each starting with a verb, and put a time on any step that has one. The steps must add up to exercise-timing."
        },
        {
          "name": "exercise-grouping",
          "type": "text",
          "required": true,
          "example": "In pairs — swap after ten minutes so both versions get read out",
          "notes": "How the room splits up, phrased so it needs no label: 'In pairs', 'In trios — one gives, one receives, one observes', 'Groups of four'. Under ~70 chars."
        },
        {
          "name": "exercise-output",
          "type": "text",
          "required": true,
          "example": "Bring back one rewritten opening sentence per person, on a card, in your own handwriting",
          "notes": "What comes back into the room afterwards, and in what form. Also the place to say what stays inside the group."
        }
      ]
    },
    {
      "name": "recap-point",
      "description": "One numbered recap point: a short instruction and the sentence that explains it.",
      "min": 2,
      "max": 6,
      "slots": [
        {
          "name": "recap-lead",
          "type": "text",
          "required": true,
          "example": "Prepare the three sentences.",
          "notes": "An imperative of four to six words, with a full stop. It should read as an instruction they can repeat from memory."
        },
        {
          "name": "recap-text",
          "type": "text",
          "required": true,
          "example": "Situation, behaviour, impact — written down before you walk in, not improvised in the doorway.",
          "notes": "One sentence of up to ~22 words that says why, or what goes wrong without it."
        }
      ]
    }
  ],
  "optionals": [
    {
      "name": "ground-rules-slide",
      "description": "Ground rules / how we work today. Keep it for a session where people practise on real situations; drop it for a short briefing or a group that already works this way."
    },
    {
      "name": "discussion-slide",
      "description": "Debrief slide with two or three open prompt cards. Drop it when the exercises are debriefed on the spot and the recap follows straight after."
    },
    {
      "name": "resources-block",
      "description": "The second column of the closing slide, listing handouts and further reading. Remove it when there is nothing to hand out; the 'what happens next' column then spans the full width."
    }
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "date": "2026-08-19",
      "notes": "Initial release: 4:3 facilitator deck with timed agenda, learning objectives, optional ground rules, repeatable content slides with timing chip, takeaway and facilitator cue, inverted exercise slides, optional debrief prompts, numbered recap and a closing slide with next steps, resources and contact. Print target 254 x 190,5 mm, one slide per page."
    }
  ],
  "agentInstructions": "SHAPE THE SESSION, THEN FILL IT. Duplicate content-slide once per topic and exercise-slide once per exercise; copy order is session order. Delete every data-example element (extra agenda rows, objectives, recap points, two content slides, one exercise slide) and drop unused optionals. CHECK THE ARITHMETIC: agenda durations must add up to the session length on the cover — placeholder: 15+20+25+30+15+25+45+35 = 210 min = 09:00–12:30. Each agenda-time is the previous time plus its duration; every timing chip matches its agenda line; breaks get a row but no slide. ONE IDEA PER SLIDE: content-body at most five bullets; keep titles under ~70 chars or they wrap to three lines and collide with the body. Objectives start with an observable verb (name, deliver, ask), never \"understand\". Each exercise brief states the task, the grouping and the time; its numbered steps must fit exercise-timing. NEVER NUMBER SLIDES BY HAND: deck-runtime fills page numbers, the total and the footer brand from cover-org. Mirror the placeholder formats (\"24 September 2026\", \"09:00–12:30\", \"15 min\"). Where a facilitator, venue or date is unknown, leave [FACILITATOR NAME] or [DATE] and tell the user to fill it in with the built-in Edit button. Do not change the slide size, the em-based sizing or the @page rule.",
  "license": "MIT",
  "authors": [
    {
      "github": "bvrln"
    }
  ]
}
