CAFEERON21br18/claude-skills

Verwandelt Kursmaterial aus Notion oder hochgeladenen Dateien in ein verknüpftes Studienpaket (Sílabo, Resumo, Revisão, optional Plano) oder aktualisiert ein bestehendes Paket – mit einem festen Frageformular und einem festen Seiten-Kit, sodass jeder Kurs gleich aussieht und funktioniert.

Was ist claude-skills?

Diese Skill erstellt ein vollständiges, verknüpftes Studienpaket für einen beliebigen Kurs, das aus bis zu vier Seiten besteht: **Sílabo** (Kurzzusammenfassung), **Resumo** (ausführliche Erklärungen mit Beispielen), **Revisão** (Lektion + Übungen mit Bewertung und Verlauf) und optional **Plano** (Lernplan mit Countdown). Das gesamte Layout wird von einem festen Kit (`kit/`) bestimmt, das standardisierte HTML-, CSS- und JS-Dateien enthält – die Skill konfiguriert nur die Inhalte als JSON, sodass alle Kurse optisch identisch sind. Sie unterstützt sowohl **Notion-Seiten als Quelle** (inkl. Kindseiten) als auch hochgeladene Dateien wie PDF, DOCX, Bilder oder eingefügten Text und kann ein bestehendes Paket aktualisieren, ohne die Fortschrittsdaten der Nutzer zu verlieren. Die Skill stellt immer genau die festgelegten Fragen (Thema, Schriftart, Funktionen, Übungsformat, Quelle, Umfang, Sprache, Taschenrechner, Tutor, Plan, Frist, Stunden) und erzwingt die gleiche Symbolleiste, das gleiche Fragetool und die gleichen Seiten-Tabs für alle Kurse. Für rechenintensive Fächer wird automatisch ein Taschenrechner eingebunden; Mathematik wird mit KaTeX gesetzt und von der Skill auf Richtigkeit geprüft (Sympy). Die Skill wird vor allem mit **Claude Code** oder **Claude Desktop** genutzt und ist auf Plattformen wie GitHub Codespaces, Replit oder Cursor lauffähig.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CAFEERON21br18/claude-skills/tree/HEAD/study-pack

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Studienpaket

Vier verknüpfte Seiten für einen Kurs, immer erstellt mit dem Kit (kit/ in github.com/CAFEERON21br18/claude-skills, Ordner study-pack/kit):

  1. Sílabo: nummerierte Themen, das Nötigste.
  2. Resumo: der gesamte Kurs, vollständige Erklärungen, ≥ 3 gelöste Beispiele pro Thema.
  3. Revisão: kurze Lektion + Übungen (eigene / die des Nutzers), Bewertung, Verlauf, Notizen, Tutor.
  4. Plano (optional): datierter Plan bis zur Prüfung, Diagramme, Haken.

Regel Null: Das Kit bestimmt das Aussehen, du schreibst nur Inhalte

  • Jede Seite wird von kit/build.py erstellt. Schreibe niemals HTML, CSS oder JS von Hand, verbessere niemals das Layout und füge keine seiten-spezifischen Stile hinzu. Gleiche Optionen ⇒ gleiche Seiten, egal welcher Kurs (CDI, AL, LP…).
  • Du schreibst nur das in kit/SCHEMA.md beschriebene JSON (mit Python json.dump), erstellst dann, prüfst und veröffentlichst.
  • Die Fragen sind immer das Formular aus kit/questions.py, in seiner Reihenfolge, in seinem Format. Formuliere nie um, sortiere nie um, teile nie auf und frage nie anders. Gib niemals Themennamen ohne ihre Farben an.
  • Wenn etwas mit dem Kit nicht machbar ist, sag es in einem Satz in der Abschlussnachricht. Arbeite es nicht in HTML aus.

Was das Kit für dich festlegt (nicht neu implementieren): die Kopfzeile (CDI-Layout: Kurszeile + Titel links, die 4 Paket-Tabs rechts, Werkzeuge in der zweiten Zeile: Countdown · Seitenwerkzeuge · As minhas notas · Hell/Dunkel-Button mit dem Sonne-/Mond-Symbol von ruben-bonanni-ribeiro.dev), die Themenleiste, KaTeX mit eingebetteten Schriftarten, breite Mathe-Darstellung, Notizen, Tutor-Chat, Grafikrechner, Fokusmodus, Countdown in Kalendertagen, Gleicher-Tab-Links, Telefon-Layout, Speicher.

Werkzeuge pro Seite (feste Reihenfolge; eine Option, die aus ist, fehlt einfach):

SeiteKopf-WerkzeugeLeiste unter der Kopfzeile
SílaboCountdown · Fokus · Meine Notizen · ☾/☀—
ResumoCountdown · Rechner · Fokus · Meine Notizen · ☾/☀—
RevisãoCountdown · Rechner · Fokus · Nur Fehler · Verlauf · Meine Notizen · ☾/☀erledigt / richtig / zu wiederholen + gespeichert
PlanoCountdown · Heute · Erledigte ausblenden · ☾/☀erledigte Sessions + Stunden

Schritt 0 – Kit, und existiert bereits ein Paket?

  1. Kit holen, jedes Mal (es könnte sich geändert haben): git clone --depth 1 https://github.com/CAFEERON21br18/claude-skills /tmp/sp && cp -r /tmp/sp/study-pack/kit ./kit kit/SCHEMA.md lesen.
  2. Die Artefakte des Nutzers auflisten (Artifact-Liste, Bereich "alle", Limit 200) und nach "Sílabo/Syllabus/Programa — ", "Resumo — ", "Revisão/Revision — ", "Plano — " oder ähnlichen Namen suchen.
  3. Gefunden → einmal kurz fragen: "Es existiert bereits ein Paket für . Soll ich es aktualisieren oder ein neues erstellen?" (Vorhandenes aktualisieren (empfohlen) · Neues erstellen). Bei Aktualisierung: "Was soll sich ändern?" (Neues Material hinzufügen · Optionen ändern · Fehlende Seite hinzufügen · Übungen neu erstellen). Mehrdeutiger Name → einmal fragen, welches gemeint ist, mit den nächsten Treffern und "Keines, von vorne beginnen". Nicht gefunden → stillschweigend fortfahren.

Aktualisierungsmodus

  • Jede vorhandene Seite vollständig lesen mit Artifact action:"read" ohne path jetzt, in Schritt 0. Die Veröffentlichung wird verweigert, wenn nicht die gesamte Live-Version gelesen wurde. Eine große Seite kommt als gespeicherte Datei zurück: diese Datei in Blöcken von ~150–200 Zeilen bis zum Ende lesen. Dann auch das HTML jeder Seite speichern (read mit path:"index.html") für extract.py.
  • python3 kit/extract.py pack <gespeicherte Seiten…> baut pack/ (pack.json, topics, plan.json) aus Kit-Seiten neu auf. slug, storage, urls, Themennummern und Übungs-IDs wie vorhanden belassen.
  • Altes Paket (keine Kit-Daten): die Einstellungen aus der Seite ableiten (Theme, Schriftart, Sprache, Funktionen, Anzahl) und pack.json schreiben. Die Storage-Keys in "storage" kopieren, damit Fortschritte erhalten bleiben: der localStorage-Key (z. B. cdi-revisao-v1, lp-revision-v2) in storage.ls.revisao, der DB-Dokumentname (z. B. revisao, lp-revision-v2) in storage.docs.revisao, und dasselbe für plano und das Theme-Präfix.
  • Übungen: dieselbe Übung (gleiches Blatt + gleiche Nummer) behält ihre ID; neue erhalten die nächsten Nummern. Versuche bei entfernten Übungen werden als "Übung der vorherigen Version" angezeigt: das am Ende sagen.
  • Beibehaltener Plan: niemals datierte Sessions verschieben (Haken sind an Datum + Index gebunden); nur Texte, Zählungen und Links aktualisieren. Ein von Grund auf neu erstellter Plan verliert die alten Haken: das am Ende sagen.
  • Nur die Fragen stellen, die der Nutzer ändern möchte, plus die, die das neue Material aufwirft (z. B. Quelle, wenn jetzt Übungen hochgeladen wurden). Alles andere aus pack.json wiederverwenden.
  • Auf die vorhandene url jeder Seite veröffentlichen. Abschließen mit einer Zusammenfassung der Änderungen, pro Seite.

Schritt 1 – Material sammeln (vor jeder Frage)

  • Quellen: Notion-Seiten, die benannt oder verknüpft sind (jede abrufen, den Kindseiten des Kurses folgen), hochgeladene Dateien (PDF, docx, Folien, Bilder – vollständig lesen), eingefügter Text. Kurs benannt, aber keine Quelle → in Notion suchen, die Seite in einem Satz bestätigen.
  • Notion nach einer Seite mit einem Namen wie "lesson-style" (das eigene Übungsformat des Nutzers) durchsuchen. Wenn gefunden, lesen: sie wird die erste Option für das Übungsformat.
  • Jedes Thema, jede Definition, jeden Satz, jede Methode, jede Falle, jedes durchgerechnete Beispiel, jede Übung mit ihrer Quelle (Blatt + Nummer), jedes Prüfungsdatum sammeln, und für die eigenen Übungen des Nutzers: Thema, Schwierigkeit, Methoden, Lösungsweg (vollständig / teilweise / nur Antwort / keine).
  • Aussagen fehlen (ein Blatt nur mit Antworten): das sofort vor den Fragen in einem Satz sagen und nach dem PDF fragen. Niemals eine Aussage erfinden. Eine Aussage, die von einer anderen Seite des Nutzers oder aus der Antworttabelle rekonstruiert wurde, erhält "reconstructed": true ("enunciado reconstituído").
  • Lehrbuch in Notion: mit je einem Unter-Agenten pro Themenblock extrahieren (z. B. 1–3, 4–8, 9–11), parallel. Jeder gibt JSON pro Thema zurück: Definitionen und Sätze mit der Nummerierung des Buches, Fallen, ≥ 4 durchgerechnete Beispiele mit Schritten (was + warum) und finaler Antwort; jeder berechnet jede Zahl mit sympy neu und markiert Buchfehler, anstatt sie stillschweigend zu korrigieren → bookerr-Blöcke ("Gralha no livro").
  • Hauptthemenliste: nummeriert 1, 2, 3… in Kursreihenfolge, niemals Buchstaben. Später nie umnummerieren.
  • Berechnungsintensiver Kurs (Mathematik, Physik, Statistik, Ingenieurwesen, Finanzen) → die Taschenrechner-Frage wird angezeigt.
  • Unlesbare Quelle → sagen, welche, fortfahren.

Schritt 2 – Die Fragen (ein festes Formular)

  1. python3 kit/questions.py --lang <pt|fr|en> [--mine] [--calc] [--lesson-style] [--exam YYYY-MM-DD] (--mine, wenn der Nutzer eigene Übungen hochgeladen hat; --calc, wenn berechnungsintensiv; --lesson-style, wenn diese Notion-Seite existiert; --exam, wenn ein Datum gefunden wurde.)
  2. Den Visualizer read_me (Modul elicitation) aufrufen, dann show_widget mit exakt dem ausgegebenen HTML, Titel study_pack_details. Sonst nichts im Widget, keine zusätzliche Frage.
  3. Die Antwort kommt als eine Zeile zurück (Theme: … · Font: … · Features: … · Exercise format: … · Source: … · Per topic: … · Language: … · Graph calc: … · Tutor: … · Plan: … · Deadline: … · Hours: …). In pack.json abbilden.
  4. Kein Visualizer in dieser Sitzung → die Ausgabe von questions.py … --text wörtlich senden (es zeigt jedes Theme mit seinen Hex-Farben) und auf die nummerierten Antworten warten. Kein anderes Format, niemals.
  5. Übersprungen oder unbeantwortet (unbeaufsichtigter Lauf) → Standardwerte: Focus-Theme, Atkinson Hyperlegible, Seitenleiste + Fokus + Verlauf + Fortschritt + Countdown, lesson-style falls gefunden, sonst Multiple Choice + Freie Antwort, 50/50 wenn der Nutzer Übungen hat, sonst "Yours", 5 pro Thema, Gesprächssprache, Taschenrechner ja wenn berechnungsintensiv, Tutor ja, kein Plan. Sage, welche Standardwerte verwendet wurden.

Dann, vor dem Erstellen:

  • Quelle = nur meine und einige Themen haben keine Übungen des Nutzers → sage jetzt, welche Themen, und frage einmal: sie ohne Übungen lassen (mit dem Hinweis) oder diese Themen nur mit Kurs-/Claude-Übungen füllen.
  • "Anderes" Theme → das nächstgelegene Preset in kit/themes.json kopieren, nur Farben ändern, python3 kit/check_contrast.py <datei> ausführen, bis es besteht, das Objekt in pack.json theme setzen.
  • Formate → Übungstypen: lesson-style = seine Regeln (unten); Como na fonte = die Form des Blatts beibehalten (offene Frage → free; MCQ / Richtig-Falsch nur dort, wo das Blatt sie hat); Escolha múltipla = mcq; Resposta livre = free; V/F = tf. (Lückentext ist nicht im Kit.)

Schritt 3 – Inhalt schreiben (nur JSON)

Die Themen in Gruppen aufteilen und mit bis zu 4 Unter-Agenten parallel schreiben (z. B. 1–3, 4–6, 7–9, 10–11). Jedem geben: kit/SCHEMA.md, das Material seiner Themen, die Antworten aus Schritt 2 und diese Regeln. Jeder schreibt pack/topics/<n>.json mit einem Python-Skript (json.dump, niemals von Hand) und überprüft jede Berechnung mit sympy. Dann ihre Dateien lesen und prüfen, ob sie die Regeln einhalten.

Sílabo (syllabus): 2–6 Aufzählungspunkte pro Thema, ≤ 12 Wörter, Nominalphrasen / Regeln / Formeln, keine Sätze, keine Füllwörter. Jede prüfungsrelevante Regel, nichts erfunden.

Resumo (resumo + examples): jede Definition, jeder Satz, jede Regel und Methode des Themas, vollständig erklärt (Intuition → formale Aussage → wann und wie anwenden), Kursnotation; def / thm / formula / method / trap-Blöcke. ≥ 3 gelöste Beispiele pro Thema, einfach → Prüfungsniveau, verschiedene Methoden: zuerst die Übungen des Nutzers mit Lösungswegen, dann Kursbeispiele, dann neue. Jeder Schritt hat do + why (+ trap wo Schüler stolpern). Herkunftsbezeichnung: die echte Quelle, oder "new" → "Novo". Kennzeichne ein erfundenes Beispiel niemals mit einer Kursquelle. Wenn ein MCQ als Beispiel wiederverwendet wird, nur die Lösungsschritte behalten: Sätze über die Optionen weglassen ("A troca…", "A opção B…", "C e D…").

Revisão (lesson, worked, exercises): kurze Lektionsblöcke, ein worked-Beispiel, dann die Übungen.

Übungsauswahl:

  • Nur meine, Alle: jede Nutzerübung unter ihrem Thema, nichts hinzugefügt; ein Thema ohne erhält den Hinweis. Nur meine, N: die besten N pro Thema – zuerst die prüfungsrelevantesten, dann Vielfalt (jede Methode einmal, einfach → Prüfungsniveau, keine zwei, die dasselbe auf dieselbe Weise testen); weniger als N → alle + shortage-Hinweis.
  • 50/50, Alle: jede Nutzerübung + ebenso viele von Claude, die auf das abzielen, was ihre am wenigsten abdecken. 50/50, N: die Hälfte der Nutzerübungen (wie oben ausgewählt, aufgerundet), die Hälfte von Claude im gleichen Stil.
  • Deine: zuerst Kursübungen, dann neue im gleichen Stil.

Vom Nutzer gegebene Lösungswege: sie sind der Lösungsschlüssel – behalte ihre Schritte und Notation, erkläre jeden Schritt (was, warum, Falle). Fehlende Schritte: ergänzen, by_claude: true. Jeden Lösungsweg überprüfen (mit sympy neu berechnen); ein falscher Schritt wird niemals stillschweigend korrigiert: flag mit dem Text und der Korrektur. Kein Lösungsweg: einen schreiben und verifizieren.

lesson-style-Regeln (wenn gewählt; die Notion-Seite hat Vorrang, wenn sie mehr sagt): mcq mit genau 4 Optionen A–D; Berechnungsfragen gate: true ("Resolve no papel primeiro" + "Já resolvi — mostrar opções") und free_too: true (Lösungsweg oder Foto einfügen, Claude bewertet es); Mathematik-Optionen eine pro Zeile (Standard-Layout), jede in einer einzigen Zeile; jede falsche Option ist ein typischer Fehler und ihr why benennt ihn; der richtige Buchstabe variiert (niemals derselbe Buchstabe mehr als zweimal hintereinander).

Text: **fett**, niemals kursiv; Mathematik in $…$ / $$…$$; Recall-Links [[n]] wenn Recall eingeschaltet ist.

Schritt 4 – Plan (nur wenn Plano = ja)

Die Einstellungen in pack.json → plan setzen (Start = heute, hours: "auto" oder die Zahl, busy-Tage mit anderen Prüfungen und deren Notizen, weights für schwierige Themen, hours_note in der Paketsprache), dann python3 kit/plan.py pack. Es gibt aus, was bei Zeitknappheit gestrichen werden musste: in der Abschlussnachricht sagen.

Schritt 5 – Erstellen, prüfen, veröffentlichen

  1. python3 kit/build.py pack --out pack/out (stoppt bei jedem Schema-Fehler: das JSON korrigieren, niemals das HTML).
  2. python3 kit/check.py pack/out --shots muss ALLE PRÜFUNGEN BESTANDEN ausgeben (kein Seitenüberlauf bei 400 / 1440 px hell & dunkel, nichts abgeschnitten, 0 KaTeX-Fehler, kein rohes $, kein JS-Fehler, feste Kopfzeilen- und Werkzeug-Reihenfolge, keine neuen-Tab-Links, Interaktionen funktionieren). Dann an pack/out/shots/* (Kopfzeile, dichte Mathe-Blöcke, Telefon dunkel) ansehen. Das JSON korrigieren, neu erstellen, noch einmal prüfen.
  3. artifact-capabilities laden und deklarieren, was die Seiten verwenden: Kontospeicher (db) und Betrachter-Identität (user) für Notizen, Verlauf und Haken; Claude befragen (sample) für den Tutor und die Bewertung (Sílabo, Resumo, Revisão). Plano: nur db + user.
  4. Neues Paket: die 4 Dateien veröffentlichen (Titel von den Seiten, Symbol "book"), die 4 URLs in pack.json → urls setzen, neu erstellen, neu prüfen, jede auf ihre URL neu veröffentlichen (die Tabs und Querverweise brauchen die URLs). Aktualisierung: URLs sind bereits in pack.json; jede Seite auf ihre url veröffentlichen.

Abschluss

Nur wenige Zeilen: was erstellt oder aktualisiert wurde (die Karten tragen die Links), was am Material fehlt, Übungen vom Nutzer / aus dem Kurs / von Claude geschrieben, die Liste der als falsch gekennzeichneten Lösungswege des Nutzers (Übung + Schritt), was der Plan streichen musste, und was nicht aktiviert werden konnte (Tutor, Kontospeicher). Einmal sagen, dass Formeln als LaTeX kopiert werden (auswählen + kopieren, oder Doppelklick auf eine Formel). Keine Zusammenfassung der Schritte.

Verwandte Skills