Pack d'Étude

Transforme le contenu de cours depuis Notion ou des fichiers téléversés en un pack d'étude lié (Sílabo, Resumo, Revisão, Plano optionnel), ou met à jour un pack existant, avec un formulaire de questions unique et un kit de page fixe pour que chaque cours ait la même apparence et le même fonctionnement.

Qu'est-ce que Pack d'Étude ?

Cette compétence est conçue pour les agents IA (tels que Claude Code, Cursor, Codex) afin de générer ou mettre à jour automatiquement des packs d'étude structurés pour un cours donné. Elle prend en charge l'extraction de contenu depuis Notion, les fichiers téléversés (PDF, DOCX, etc.) et le texte collé. La compétence repose sur un kit (`kit/` dans le dépôt GitHub) qui définit la mise en page, les outils et les options de chaque page. Elle crée jusqu'à quatre pages liées : le **Sílabo** (liste des sujets), le **Resumo** (cours complet avec exemples), la **Revisão** (leçon courte avec exercices et notation) et le **Plano** (calendrier de révision optionnel avec suivi des progrès). L'agent ne modifie jamais le code HTML/CSS/JS, mais écrit uniquement un fichier JSON de configuration selon le schéma du kit, puis construit, vérifie et publie les pages. Il interagit avec l'utilisateur via un formulaire de questions unique pour configurer le thème, les fonctionnalités, les exercices et le plan. La compétence gère également la mise à jour des packs existants en préservant les données utilisateur (progrès, historique, notes) et en réutilisant les identifiants d'exercices existants.

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

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Pack d'Étude ?

Quatre pages liées pour un cours, toujours construites par le kit (kit/ dans github.com/CAFEERON21br18/claude-skills, dossier study-pack/kit) :

  1. Sílabo : sujets numérotés, essentiels nus.
  2. Resumo : le cours complet, explications détaillées, ≥ 3 exemples résolus par sujet.
  3. Revisão : courte leçon + exercices (vôtres / ceux de l'utilisateur), notation, historique, notes, tuteur.
  4. Plano (optionnel) : plan daté jusqu'à l'examen, graphiques, coches.

Règle zéro : le kit décide l'apparence, vous n'écrivez que le contenu

  • Chaque page provient de kit/build.py. Ne jamais écrire ou modifier le HTML, CSS ou JS d'une page à la main, ne jamais « améliorer » la mise en page, ne jamais ajouter un style spécifique à une page. Mêmes options ⇒ mêmes pages, quel que soit le cours (CDI, AL, LP…).
  • Vous n'écrivez que le JSON décrit dans kit/SCHEMA.md (avec json.dump en Python), puis vous construisez, vérifiez, publiez.
  • Les questions sont toujours le formulaire de kit/questions.py, dans son ordre, dans son format. Ne jamais reformuler, réordonner, diviser ou poser les questions autrement. Ne jamais lister les noms de thèmes sans leurs couleurs.
  • Si quelque chose ne peut pas être fait avec le kit, dites-le en une ligne dans le message final. Ne le contournez pas en HTML.

Ce que le kit fixe pour vous (ne pas réimplémenter) : l'en-tête (disposition CDI : ligne de cours + titre à gauche, les 4 onglets du pack à droite, outils sur la deuxième ligne : compte à rebours · outils de page · As minhas notas · bouton clair/sombre avec l'icône soleil/lune de ruben-bonanni-ribeiro.dev), le rail des sujets, KaTeX avec polices embarquées, adaptation large-math, notes, chat tuteur, calculateur graphique, mode focus, compte à rebours en jours calendaires, liens dans le même onglet, mise en page téléphone, stockage.

Outils par page (ordre fixe, une option désactivée est simplement absente) :

PageOutils d'en-têteBande sous l'en-tête
Sílabocompte à rebours · Foco · As minhas notas · ☾/☀—
Resumocompte à rebours · Calculadora · Foco · As minhas notas · ☾/☀—
Revisãocompte à rebours · Calculadora · Foco · Só erradas · Histórico · As minhas notas · ☾/☀fait / correct / à réviser + enregistré
Planocompte à rebours · Hoje · Esconder feitas · ☾/☀sessions faites + heures

Étape 0 — Kit, et un pack existe-t-il déjà ?

  1. Obtenez le kit, à chaque fois (il peut avoir changé) : git clone --depth 1 https://github.com/CAFEERON21br18/claude-skills /tmp/sp && cp -r /tmp/sp/study-pack/kit ./kit Lisez kit/SCHEMA.md.
  2. Listez les artefacts de l'utilisateur (liste Artifact, périmètre "all", limite 200) et cherchez "Sílabo/Syllabus/Programa — ", "Resumo — ", "Revisão/Revision — ", "Plano — " ou des noms proches.
  3. Trouvé → demandez une fois, simplement : "Já existe um pacote de . Atualizo esse ou crio um novo?" (Atualizar o existente (recomendado) · Criar um novo). Si mise à jour : "O que muda?" (Juntar material novo · Mudar opções · Juntar uma página que falta · Refazer os exercícios). Nom ambigu → demandez une fois lequel, avec les correspondances les plus proches et "Nenhum, começar do zero". Non trouvé → continuez en silence.

Mode mise à jour

  • Lisez chaque page existante en entier avec Artifact action:"read" sans path maintenant, à l'Étape 0. La publication est refusée sauf si la version live entière a été lue. Une grande page revient sous forme de fichier sauvegardé : lisez ce fichier par morceaux d'environ 150 à 200 lignes jusqu'à la fin. Sauvegardez également le HTML de chaque page (read avec path:"index.html") pour extract.py.
  • python3 kit/extract.py pack <pages sauvegardées…> reconstruit pack/ (pack.json, topics, plan.json) à partir des pages du kit. Conservez slug, storage, urls, les numéros de sujets et les identifiants d'exercices tels quels.
  • Ancien pack (sans données du kit) : déduisez les paramètres de la page (thème, police, langue, fonctionnalités, nombre) et écrivez pack.json. Copiez ses clés de stockage dans "storage" pour que la progression survive : la clé localStorage (par ex. cdi-revisao-v1, lp-revision-v2) dans storage.ls.revisao, le nom du document db (par ex. revisao, lp-revision-v2) dans storage.docs.revisao, et de même pour plano et le préfixe du thème.
  • Exercices : le même exercice (même feuille + numéro) garde son identifiant ; les nouveaux prennent les numéros suivants. Les tentatives sur les exercices supprimés s'affichent comme "Exercício da versão anterior" : dites-le à la fin.
  • Plano conservé : ne jamais déplacer les sessions datées (les coches sont indexées par date + index) ; seulement mettre à jour les textes, les comptes et les liens. Un plan reconstruit à partir de zéro perd les anciennes coches : dites-le à la fin.
  • Ne posez que les questions que l'utilisateur souhaite modifier, plus celles que le nouveau matériel soulève (par ex. source s'il a maintenant téléversé des exercices). Réutilisez tout le reste de pack.json.
  • Publiez vers l'url existante de chaque page. Terminez par ce qui a changé, par page.

Étape 1 — Rassemblez le matériel (avant toute question)

  • Sources : pages Notion nommées ou liées (récupérez chacune, suivez les pages enfants du cours), fichiers téléversés (PDF, docx, diapositives, images, lus en entier), texte collé. Cours nommé mais sans source → cherchez dans Notion, confirmez la page en une ligne.
  • Cherchez dans Notion une page nommée comme "lesson-style" (le format d'exercice propre à l'utilisateur). Si trouvée, lisez-la : elle devient la première option de format d'exercice.
  • Collectez chaque sujet, définition, théorème, méthode, piège, exemple résolu, exercice avec sa source (feuille + numéro), date d'examen, et pour les exercices de l'utilisateur : sujet, difficulté, méthodes, résolution (complète / partielle / réponse seulement / aucune).
  • Énoncés manquants (une feuille avec seulement les réponses) : dites-le en une ligne maintenant, avant les questions, et demandez le PDF. N'inventez jamais un énoncé. Un énoncé reconstruit à partir d'une autre page de l'utilisateur ou du tableau de réponses obtient "reconstructed": true ("enunciado reconstituído").
  • Manuel dans Notion : extrayez-le avec un sous-agent par bloc de sujets (par ex. 1–3, 4–8, 9–11), en parallèle. Chacun renvoie du JSON par sujet : définitions et théorèmes avec la numérotation du manuel, pièges, ≥ 4 exemples résolus avec étapes (quoi + pourquoi) et réponse finale ; chacun recalcule chaque nombre avec sympy et signale les erreurs du manuel au lieu de les corriger silencieusement → blocs bookerr ("Gralha no livro").
  • Liste maîtresse des sujets : numérotés 1, 2, 3… dans l'ordre du cours, jamais de lettres. Jamais renumérotés plus tard.
  • Cours à forte composante de calcul (mathématiques, physique, statistiques, ingénierie, finance) → la question du calculateur est affichée.
  • Source illisible → dites laquelle, continuez.

Étape 2 — Les questions (un formulaire fixe)

  1. python3 kit/questions.py --lang <pt|fr|en> [--mine] [--calc] [--lesson-style] [--exam YYYY-MM-DD] (--mine si l'utilisateur a téléversé ses propres exercices, --calc si calcul intense, --lesson-style si cette page Notion existe, --exam si une date a été trouvée.)
  2. Appelez le Visualiseur read_me (module elicitation), puis show_widget avec exactement le HTML imprimé, titre study_pack_details. Rien d'autre dans le widget, pas de question supplémentaire.
  3. La réponse revient en une ligne (Theme: … · Font: … · Features: … · Exercise format: … · Source: … · Per topic: … · Language: … · Graph calc: … · Tutor: … · Plan: … · Deadline: … · Hours: …). Mappez-la dans pack.json.
  4. Pas de Visualiseur dans cette session → envoyez la sortie de questions.py … --text textuellement (elle montre chaque thème avec ses couleurs hex) et attendez les réponses numérotées. Pas d'autre format, jamais.
  5. Ignoré ou sans réponse (exécution sans surveillance) → valeurs par défaut : thème Focus, police Atkinson Hyperlegible, barre latérale + focus + historique + progrès + compte à rebours, lesson-style si trouvé sinon choix multiples + réponse libre, 50/50 si l'utilisateur a des exercices sinon les vôtres, 5 par sujet, langue de conversation, calculateur oui si calcul intense, tuteur oui, pas de plan. Dites quelles valeurs par défaut ont été utilisées.

Ensuite, avant de construire :

  • Source = seulement les miens et certains sujets n'ont aucun exercice de l'utilisateur → dites quels sujets maintenant, et demandez une fois : les laisser sans exercices (avec l'avis) ou remplir ces sujets uniquement avec des exercices du cours / de Claude.
  • Thème "Autre" → copiez le préréglage le plus proche dans kit/themes.json, changez seulement les couleurs, exécutez python3 kit/check_contrast.py <fichier> jusqu'à ce qu'il réussisse, mettez l'objet dans pack.json theme.
  • Formats → types d'exercices : lesson-style = ses règles (ci-dessous) ; Como na fonte = gardez la forme de la feuille (question ouverte → free ; QCM / V/F uniquement là où la feuille les a) ; Escolha múltipla = mcq ; Resposta livre = free ; V/F = tf. (Le texte à trous n'est pas dans le kit.)

Étape 3 — Écrivez le contenu (JSON uniquement)

Divisez les sujets en groupes et écrivez-les avec jusqu'à 4 sous-agents en parallèle (par ex. 1–3, 4–6, 7–9, 10–11). Donnez à chacun : kit/SCHEMA.md, le matériel de ses sujets, les réponses de l'Étape 2, et ces règles. Chacun écrit pack/topics/<n>.json avec un script Python (json.dump, jamais à la main) et vérifie chaque calcul avec sympy. Lisez ensuite leurs fichiers et vérifiez qu'ils suivent les règles.

Sílabo (syllabus) : 2–6 puces par sujet, ≤ 12 mots, groupes nominaux / règles / formules, pas de phrases, pas de remplissage. Chaque règle pertinente pour l'examen, rien d'inventé.

Resumo (resumo + examples) : chaque définition, théorème, règle et méthode du sujet, expliqué complètement (intuition → énoncé formel → quand et comment l'utiliser), notation du cours ; blocs def / thm / formula / method / trap. ≥ 3 exemples résolus par sujet, simple → niveau examen, méthodes différentes : d'abord les exercices de l'utilisateur avec résolutions, puis les exemples du cours, puis de nouveaux. Chaque étape a do + why (+ trap là où les étudiants glissent). Étiquette d'origine : la source réelle, ou "new" → "Novo". Ne jamais étiqueter un exemple inventé avec une source de cours. Lorsqu'un QCM est réutilisé comme exemple, ne gardez que les étapes de solution : supprimez les phrases sur les options ("A troca…", "A opção B…", "C e D…").

Revisão (lesson, worked, exercises) : courts blocs de leçon, un exemple worked, puis les exercices.

Sélection des exercices :

  • Mine only, All : chaque exercice de l'utilisateur sous son sujet, rien d'ajouté ; un sujet sans aucun reçoit l'avis. Mine only, N : les N meilleurs par sujet — d'abord les plus pertinents pour l'examen, puis variété (chaque méthode une fois, facile → niveau examen, pas deux testant la même chose de la même manière) ; moins de N → tous + avis shortage.
  • 50/50, All : chaque exercice de l'utilisateur + autant de Claude, visant ce que les leurs couvrent le moins. 50/50, N : la moitié des exercices de l'utilisateur (choisis comme ci-dessus, arrondie à l'unité supérieure), la moitié de Claude dans le même style.
  • Yours : d'abord les exercices du cours, puis de nouveaux dans le même style.

Résolutions données par l'utilisateur : elles sont le corrigé — conservez leurs étapes et leur notation, expliquez chaque étape (quoi, pourquoi, piège). Étapes manquantes : complétez-les, by_claude: true. Vérifiez chaque résolution (recalculez avec sympy) ; une étape erronée n'est jamais corrigée silencieusement : flag avec le texte et la correction. Pas de résolution : écrivez-en une et vérifiez-la.

règles lesson-style (lorsque choisi ; la page Notion gagne si elle en dit plus) : mcq avec exactement 4 options A–D ; questions de calcul gate: true ("Resolve no papel primeiro" + "Já resolvi — mostrar opções") et free_too: true (coller le travail ou une photo, Claude le note) ; options mathématiques une par ligne (disposition par défaut), chacune sur une ligne ; chaque option erronée est une erreur typique et son why la nomme ; la lettre correcte varie (jamais la même lettre plus de deux fois de suite).

Texte : **bold**, jamais d'italiques ; maths en $…$ / $$…$$ ; liens de rappel [[n]] lorsque le rappel est activé.

Étape 4 — Plan (seulement si Plano = oui)

Mettez les paramètres dans pack.json → plan (début = aujourd'hui, hours: "auto" ou le nombre, jours busy avec d'autres examens et leurs notes, weights pour les sujets lourds, hours_note dans la langue du pack), puis python3 kit/plan.py pack. Il imprime ce qui a dû être coupé lorsque le temps est court : dites-le dans le message final.

Étape 5 — Construire, vérifier, publier

  1. python3 kit/build.py pack --out pack/out (s'arrête sur toute erreur de schéma : corrigez le JSON, jamais le HTML).
  2. python3 kit/check.py pack/out --shots doit imprimer ALL CHECKS PASSED (pas de débordement de page à 400 / 1440 px clair & sombre, rien de coupé, 0 erreur KaTeX, pas de $ brut, pas d'erreur JS, en-tête et ordre des outils fixes, pas de liens nouvel onglet, interactions fonctionnelles). Regardez ensuite pack/out/shots/* (en-tête, blocs maths denses, téléphone sombre). Corrigez le JSON, reconstruisez, revérifiez une fois.
  3. Chargez artifact-capabilities et déclarez ce que les pages utilisent : stockage de compte (db) et identité du visualiseur (user) pour les notes, l'historique et les coches ; demande à Claude (sample) pour le tuteur et la notation (Sílabo, Resumo, Revisão). Plano : db + user uniquement.
  4. Nouveau pack : publiez les 4 fichiers (les titres viennent des pages, icône "book"), mettez les 4 URL dans pack.json → urls, reconstruisez, revérifiez, republiez chaque page vers son URL (les onglets et les liens croisés ont besoin des URL). Mise à jour : les URL sont déjà dans pack.json ; publiez chaque page vers son url.

Fin

Quelques lignes seulement : ce qui a été construit ou mis à jour (les fiches portent les liens), tout ce qui manque dans le matériel, les exercices de l'utilisateur / du cours / écrits par Claude, la liste des résolutions de l'utilisateur signalées comme erronées (exercice + étape), ce que le plan a dû couper, et tout ce qui n'a pas pu être activé (tuteur, stockage de compte). Dites une fois que les formules se copient en LaTeX (sélectionner + copier, ou double-cliquer sur une formule). Pas de récapitulatif des étapes.

Skills associés