knowledge-exam
Generate German knowledge-check exams and solution files from the taught material (class Git history + WebUntis Lehrstoff)
Skill by georgernstgraf
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/georgernstgraf-knowledge-exam
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/knowledge-exam
What's inside
- Skill name
knowledge-exam- Description
- Generate German knowledge-check exams and solution files from the taught material (class Git history + WebUntis Lehrstoff)
- License
- MIT
- Compatibility
- opencode
- Metadata
- output: exam · category: education
- Instructions
- 198 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Knowledge Exam Skill ## Purpose This skill creates a German knowledge-check exam for a specific class folder based on the taught material (class Git history, cohort directories and the WebUntis Lehrstoff record). Use it when asked to generate a mini-exam from the material covered in class. ## Output Language: MANDATORY GERMAN The generated exam and solution files MUST be written in natural German with proper UTF-8 umlauts (ä, ö, ü, ß). Never use English for the exam questions or solutions. ## Target Repository: the private `-T` exam repo (MANDATORY) Knowledge-check exam and solution files must be written into the teacher's **private test/exam repository** — the sibling repo named `<subject>-T` (e.g. `GRG-PMM-T` for `GRG-PMM`), and **only there**. **Never write them into the public teaching repo.** After the Quality Gate they are committed and pushed in that private repo (protocol step 7). Before generating files: 1. Locate the `-T` repo on disk (typically `~/repos/<owner>/<subject>-T`); if it does not exist, stop and ask the user. 2. Verify it is up to date (`git fetch && git status -sb`). 3. Read the target repo's `AGENTS.md` — it defines repo-specific conventions: file naming (`knowledge_<klasse>_<date>.md` + `_solutions.md`), class folder layout (flat vs. dated subfolder, cohort suffixes like `4ahwit-x`), and the formelle Anrede rule (Du vs. Sie per class). Additional rules (discovered in practice): - **Prüfungs-Angaben gehören IMMER ins `-T`-Repo** — Knowledge-Checks, PLFs und sonstige Prüfungsangaben, niemals ins öffentliche Teaching-Repo. HÜ-/Aufgaben-Dateien (`Aufgabe.md` im Klassenordner) sind *keine* Prüfungs-Angaben: sie bleiben im Teaching-Repo, damit Schüler:innen sie per Clone erreichen (homework-Workflow). - **Fehlender Kohorten-Ordner im `-T`-Repo ist normal** bei Semesterstart (neues SJ: alte `4aaif/`-artige Ordner liegen noch flach im Root, die neuen `3aaif/` etc. existieren noch nicht). In diesem Fall den Ordner nach den `-T`-AGENTS.md-Konventionen anlegen — nicht abbrechen. - **Der Zug ist im Klassennamen kodiert** (`3aaif` vs. `3caif`, bzw. `3ahwii`-artige Kürzel) — keine künstlichen Zusatz-Suffixe erfinden (`-x`, `-a` o. ä.), außer das `-T`-AGENTS.md verlangt sie explizit (z. B. bei mehreren parallelen Gruppen derselben Klasse). ## Inputs - `class`: target class folder name. - `fach`: (optional) WebUntis-Fachkürzel für den Lehrstoff-Abgleich, z. B. `WMC_1`. Wird es weggelassen, über `wu klasse <KLASSE> --details` auflösen (Suche nach dem eigenen Fach); schlägt das fehl, ohne WebUntis weiterarbeiten. - `weeks`: (optional) Begrenzung der Git-Historie des Kohorten-Ordners als Zeitanker (Schritt 3); der Prüf-Umfang kommt primär aus WebUntis-Lehrstoff und Kohorten-READMEs. - `exam-date`: (mandatory) the planned exam date, must be either: - An ISO date (YYYY-MM-DD format). - The literal `today`. - The literal `tomorrow`. - `mc-count`: (optional) number of multiple-choice questions, default 10. - `free-count`: (optional) number of free-text questions, default 3. ## Protocol ### 1. Validate Inputs - **Mandatory exam-date parameter**: If `exam-date` is not provided, abort immediately with an error message explaining that this parameter is required. - Confirm that a folder matching `class` exists in the **target `-T` repository** (see "Target Repository" section above), not in the teaching repo. If the folder does not exist, it may need to be created there — check the repo's AGENTS.md conventions first. - If the `-T` repo cannot be located, stop and ask the user. If only the **class folder** is missing, that is normal at semester start — create it (see "Target Repository" above), do not abort. - **Resolve exam-date to ISO format**: - If `exam-date` is an ISO date (YYYY-MM-DD), use it as-is. - If `exam-date` is `today`, compute today's ISO date. - If `exam-date` is `tomorrow`, compute tomorrow's ISO date. - Store this resolved date as `<isodate>` for output filenames. ### 2. Resolve Question Counts - Default values: 10 multiple-choice questions, 3 free-text questions. - If `mc-count` is not provided, set `mc-count = 10`. - If `free-count` is not provided, set `free-count = 3`. - If neither `mc-count` nor `free-count` was provided by the user: - Before generating, ask the user: "Sollen 10 MC-Fragen und 3 Freitext-Fragen generiert werden? (j/n)" - If the user confirms, proceed with defaults. - If the user declines, ask for specific counts before continuing. - Do NOT ask for confirmation when at least one count was explicitly provided. ### 3. Stoffbasis: Kohorten-Dir, Lessons & WebUntis-Abgleich Der Prüf-Umfang ist definiert durch **was tatsächlich unterrichtet wurde** — nicht durch den Semesterplan. Drei Quellen, in dieser Reihenfolge gewichtet: 1. **WebUntis (Authoritäts-Quelle):** `wu lesson <KLASSE>/<FACH> termine --mit-lehrstoff` (z. B. `wu lesson 3AAIF/WMC_1 termine --mit-lehrstoff`) liefert alle Termine mit eingetragenem Lehrstoff. Achtung: bei langen Listen großzügigen Timeout setzen. Der Lehrstoff **fence**t den Prüf-Umfang: Fragen dürfen nichts abdecken, was dort nie aufgetaucht ist (z. B. Formulare in 3caif ja, in 3aaif nein — Stoffstand strikt kohorenscharf). 2. **Kohorten-Dir im Teaching-Repo:** datierte Tagesordner (`YYYY-MM-DD[_]thema/`) mit READMEs, Lesson-Dateien, Demos und Aufgabe-Dateien. Die READMEs spiegeln den realen Stoffstand inkl. Abgaben und Ausnahmen. 3. **Referenzierte Materialien:** Prepared Lessons (`unterricht/<PREFIX>-NN-*`), Beispielprojekte und Unterlagen, soweit sie von den Kohorten-READMEs verlinkt sind — dort steht die Stofftiefe für Detailfragen. Ergänzend: Git-Historie des Kohorten-Ordners als Zeitanker (`git log --since=<start> -- <kohorte>`), um den unterrichteten Zeitraum abzugrenzen. Minimal-Commits sind Stunden-Anker, keine vollständige Abdeckung. - Taucht bei erledigten Terminen **kein Lehrstoff** auf (Status „offen"),
From georgernstgraf/opencode-helpers, MIT.
More from georgernstgraf/opencode-helpers
- 0.592score
full-sync
georgernstgraf
Full sync routine: pull all working repositories, let the agent decide what uncommitted work to commit and what to push, then bring the host up to date — apt…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
homework
georgernstgraf
Generate per-lesson assignment files (Aufgabe.md) from recent class Git history and teaching material, and keep the canonical assignment list in the cohort…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
issue-workflow
georgernstgraf
Continuous issue awareness with proactive issue-linked commit and push; natural-language modes (start, commit, finish) remain as manual overrides
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
knowledge-persistence
georgernstgraf
Persist session context into the structured docs/ai knowledge files
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
knowledge-assessment
georgernstgraf
Assess German knowledge-check submissions and prepare reports and email payloads
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
create-lesson
georgernstgraf
Richtet zu einem Kompetenzmodul (KM) oder einem Thema daraus eine kohortenagnostische Lesson her (self-contained HTML: Lektion und Präsentation in einem —…
SkillAFreshness: A★ 1Claude Code +9 - 0.578score
lehrplan
georgernstgraf
Richtet österreichische HTL-Unterrichts-Repositorien ein und pflegt sie — drei Kernaufgaben: das gesetzliche Lehrplan-Material eines Ausbildungszweigs (z.
SkillAFreshness: A★ 1Claude Code +9 - 0.578score
model-params
georgernstgraf
Maintain scripts/model-params.json, the curated parameter-count table behind `oc-models-report`'s PARAM column and `--sort params`.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
projectgrade
georgernstgraf
Grade student project repositories based on Git commits, GitHub Issues, and Pull Requests
SkillAFreshness: A★ 1Claude Code +9 - 0.568score
grading-shared
georgernstgraf
Shared configuration and protocols for all grading workflows
SkillAFreshness: A★ 1Claude Code +9 - 0.522score
code-review
georgernstgraf
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding…
SkillBFreshness: B★ 1Claude Code +9 - 0.522score
domain-modeling
georgernstgraf
Build and sharpen a project's domain model.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 4
- Last commit (this folder)
- Oct 19, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from georgernstgraf
- 0.592score
full-sync
georgernstgraf
Full sync routine: pull all working repositories, let the agent decide what uncommitted work to commit and what to push, then bring the host up to date — apt…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
issue-workflow
georgernstgraf
Continuous issue awareness with proactive issue-linked commit and push; natural-language modes (start, commit, finish) remain as manual overrides
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
homework
georgernstgraf
Generate per-lesson assignment files (Aufgabe.md) from recent class Git history and teaching material, and keep the canonical assignment list in the cohort…
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
knowledge-assessment
georgernstgraf
Assess German knowledge-check submissions and prepare reports and email payloads
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
knowledge-persistence
georgernstgraf
Persist session context into the structured docs/ai knowledge files
SkillAFreshness: A★ 1Claude Code +9 - 0.579score
create-lesson
georgernstgraf
Richtet zu einem Kompetenzmodul (KM) oder einem Thema daraus eine kohortenagnostische Lesson her (self-contained HTML: Lektion und Präsentation in einem —…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
knowledge-exam skill. Agent Mart. https://agentmart.dev/skills/georgernstgraf-knowledge-exam (last updated 2026-10-24)