homework
Generate per-lesson assignment files (Aufgabe.md) from recent class Git history and teaching material, and keep the canonical assignment list in the cohort…
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-homework
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/homework
What's inside
- Skill name
homework- Description
- Generate per-lesson assignment files (Aufgabe.md) from recent class Git history and teaching material, and keep the canonical assignment list in the cohort README current
- License
- MIT
- Compatibility
- opencode
- Metadata
- output: assignment-file · category: education
- Instructions
- 199 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Homework Skill (Aufgaben) ## Purpose This skill generates a per-lesson `Aufgabe.md` assignment file inside the current lesson directory of a class folder and keeps the **canonical assignment list** in the cohort README current (retrofit). The user invokes it from inside the class folder (e.g., `~/repos/2ahwii/`) at the end of a lesson. No arguments are needed. ## Terminology (CRITICAL) - The canonical term is **Aufgabe** (plural: Aufgaben). Files, sections, and user-visible text use "Aufgabe" — never "Hausübung", "HÜ", or "homework". - **Übung** is NOT an Aufgabe: Übungen (e.g. "Jetzt du!") are in-class Mitarbeits-Elemente and are never written as assignments. - `Hausübung.md` / `Hausübungen.md` are legacy artifacts from earlier school years. This skill never creates them; it recognizes and preserves them when encountered. ## Output Language: MANDATORY GERMAN The generated content inside `Aufgabe.md` MUST be written in natural German with proper UTF-8 umlauts (ä, ö, ü, ß). Never use English for the assignment descriptions. ## Invocation Context - The user sits inside a class folder that is part of a Git repository. - The class folder contains lesson directories named `<ISO-date>_<topic>` (e.g., `2026-03-21_promises`, `2026-04-01_async-await`). - The skill auto-detects the current lesson directory from recent Git activity. - No slash command is required. The user tells the agent to "generate homework" / "Aufgabe generieren" or similar, and the agent loads this skill directly. ## Protocol ### 0. Kohorten-Auflösung (Multi-Kohorten-Modus) Wird der Skill für mehrere Kohorten auf einmal gerufen, identifiziert der User die Kohorten meist per **WebUntis-Lesson-ID** (Tool `wu`, Repo `webuntis-cli`): `<KLASSE>/<FACH>` — z. B. `3AHWII/SWP1x`, `4AHWIT/PMMx`, `3AHWII/INFIx`, `3AAIF/WMC_1`, `5AHWIT/PMM`. Auflösung in Repo + Klassenordner (Stand 2026-10-12, vor Ausführung mit `wu klasse <ID> faecher` verifizieren — Fächerkürzel ändern sich mit dem Schuljahr): | WebUntis-ID | Fach-Repo (in `georgernstgraf/`) | Klassenordner | |---|---|---| | `3AHWII/SWP1x` | `GRG-SWP` | `3ahwii/` | | `3AHWII/INFIx` | `GRG-INFI` | `3ahwii/` | | `4AHWIT/PMMx` / `PMMy` | `GRG-PMM` | `4ahwit-x/` / `4ahwit-y/` | | `5AHWIT/PMM` | `GRG-PMM` | `5ahwit/` | | `3AAIF/WMC_1` / `3CAIF/WMC_1` | `GRG-WMC` | `3aaif/` / `3caif/` | Regeln für den Multi-Kohorten-Lauf: - Der Discovery-Zeitfenster-Check (24 h) gilt pro Kohorte **relativ**: liegen die letzten Stunden länger zurück, ist die **jüngste datierte Lesson** das Target; bei Mehrdeutigkeit den User fragen. - Die Aufgabe liegt nicht immer im Kohortenordner: Tages-READMEs (`## HÜ`, `## Aufgabe`), Kohorten-README-Verlauf und Prepared Lessons (`unterricht/<PREFIX>-<NN>-<slug>/hausaufgabe.md`) sind gleichwertige Evidenzquellen. Existiert zur Lesson kein Datumsordner, entweder einen anlegen (nur bei klarer Evidenz) oder den README-Eintrag direkt auf die Prepared Lesson zeigen lassen (Vorbild: `GRG-WMC/3aaif/README.md`). - Kein Duplizieren kanonischer Aufgabentexte: liegt die Aufgabe bereits kanonisch in `unterricht/`, genügt der Index-Eintrag mit Link. ### 1. Discover Current Lesson Directory - Run `git log --since="24 hours ago" --name-only --diff-filter=A` and `git diff --name-only` to find recently created or modified directories. - Look for directories matching the pattern `<YYYY-MM-DD>_<topic>`. - Select the most recently created or modified matching directory. - If no matching directory is found, check for uncommitted directories with the same pattern. - If multiple candidates exist or none is found, list the candidates and ask the user which lesson directory to target. ### 2. Discover Sources - Read all files inside the identified lesson directory: `README.md`, code examples, exercise sheets, and any other content files. - **Reference pattern**: if the lesson `README.md` contains an `## Aufgabe` section that is a REFERENCE to a prepared lesson (a lesson id matching `<PREFIX>-<NN>-<slug>` and/or a link into `unterricht/`), resolve it: read the prepared lesson folder `<repo-root>/unterricht/<PREFIX>-<NN>-<slug>/` (`aufgabe.md`, legacy `hausaufgabe.md`, Tages-README template, or the lesson's `## Aufgabe` section) and use that content as the task text. - Scan all source files for web URLs. Fetch and read each URL to extract relevant topic content. - Include uncommitted changes — the teacher may have just created or edited files during class. - Also check for files in the class folder root (e.g., a shared `README.md`) if they provide context for the lesson topic. - Look for typical file patterns: `README.md`, `*.md`, `*.js`, `*.java`, `*.html`, `*.css`, `*.sql`, and any files with "übung" or "aufgabe" in the name. ### 3. State Plan Before writing, display the following to the user: - **Lesson directory**: the path identified (e.g., `2026-03-21_promises/`) - **Sources found**: list of files read, commits analyzed, and URLs fetched. - **Topics deduced**: the teaching topics logically inferred from the sources, with a brief explanation of how each topic was derived. - **Target file**: the full path of the `Aufgabe.md` to be created or updated. Then proceed immediately without waiting for confirmation. ### 4. Generate or Update Assignment File - Create `<lesson-dir>/Aufgabe.md` if it does not exist. - If an existing `Aufgabe.md` (or legacy `Hausübung.md`) is present, read it and enrich rather than overwriting. Never rename or delete legacy files. - Write 2-4 focused, practical exercises that reinforce the key concepts covered in the lesson.
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
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
knowledge-exam
georgernstgraf
Generate German knowledge-check exams and solution files from the taught material (class Git history + WebUntis Lehrstoff)
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 - 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 (11 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
knowledge-exam
georgernstgraf
Generate German knowledge-check exams and solution files from the taught material (class Git history + WebUntis Lehrstoff)
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-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
homework skill. Agent Mart. https://agentmart.dev/skills/georgernstgraf-homework (last updated 2026-10-24)