Files
creator/templates/Prompt/Blocks-Gruppierung.md
2026-07-08 23:46:35 +02:00

3.0 KiB
Raw Blame History

Topic "{topic}". A previous step produced a flat list of learning items that is TOO FINE-GRAINED for a table of contents — single environment variables, single CLI flags, single config fields, near-synonyms. Your job is card sorting: group the items into a small set of theme blocks, so that EVERY item lands in exactly one theme. Nothing is discarded — grouping never loses an item; it only organises them.

Think of the result as chapters: ~{theme_lo}{theme_hi} themes for a whole topic of this size ({n_items} items), each a coherent learning block that a learner meets as one unit. A theme with only one fitting item is fine (a genuinely standalone concept), but prefer pulling related items together over leaving many singletons.

CANDIDATES you may group (your starting point — a pre-clustered neighbourhood): {candidates}

FULL ITEM LIST (you may pull in ANY numbers below that share the theme): {list}

How to form a theme

  • One coherent subject. The members belong together because a learner would study them as one block — the parts/facets/instances of one model, system, setup, tool family, or category. Examples of the kind of grouping (not domain rules): many individual settings/variables/flags of one configuration → one „…-Konfiguration" theme; the parts of one setup → one „…-Setup" theme; a base concept plus its variants/instances → one theme.
  • Most specific home wins. An item tied to ONE concrete object (an algorithm/theorem/counterexample FOR object X, a setting OF component X) belongs in X's theme — not in a technique/property family that also fits. A learner meets „the algorithm for X" while studying X, not in a generic „algorithms" chapter.
  • The title must be true of EVERY member. Never assert a property or class in the theme title (a complexity claim, „deprecated …", „…-vollständige …") unless every single member has that property — otherwise pick a neutral title for the shared subject.
  • Lexical dissimilarity is NORMAL. Facets of one theme often read very differently — that is not a reason to split them.
  • Title: name the theme after the shared subject. A real self-contained heading; must NOT contain „ — " (reserved separator) — use „(…)" or „:".
  • Description: name EVERY member explicitly (the next step recovers them as sub-points). E.g. „Environment-Konfiguration: APP_ENV, APP_SECRET, DATABASE_URL, MAILER_DSN, …".
  • Members: the item NUMBERS from the full list. Each number goes into exactly ONE theme; do not repeat a number across themes.

Assign as many items as you confidently can. Items you are unsure about you may leave out — a later completion step and a singleton fallback catch them; never force a bad fit.

Write ONLY the JSON file to: {out_path}

Format (umbrellas = the themes; may be empty if nothing fits together): {{"umbrellas": [{{"title": "Environment-Konfiguration", "description": "Konfiguration über Umgebungsvariablen: APP_ENV, APP_SECRET, DATABASE_URL, MAILER_DSN, .env-Dateien.", "members": [1, 2, 5, 12, 34]}}]}}