MrNhoiBong/WhiteBoard

Crée et dessert le 'Bloc-notes Claude', un tableau blanc local (serveur Python avec bibliothèque standard, exécuté dans un venv) permettant aux utilisateurs de dessiner ou écrire du LaTeX, de sélectionner une zone et de poser des questions ; Claude dans le terminal lit cette zone et répond ou dessine sur le tableau.

Qu'est-ce que WhiteBoard ?

Cette compétence permet de créer un tableau blanc local servant de bloc-notes partagé entre l'utilisateur et Claude. L'utilisateur peut y dessiner des idées, écrire des formules LaTeX, sélectionner des zones, et Claude analyse le contenu localement, répond via la ligne de commande et met à jour le tableau en temps réel. Elle est conçue pour fonctionner dans un terminal avec Claude Code, en utilisant un serveur Python standard et un environnement virtuel (venv). La compétence gère les requêtes entrantes via une boucle d'attente, lit le contenu du tableau (texte, LaTeX, formes, images PNG), et permet des réponses enrichies (notes, formules, diagrammes SVG). Son architecture orientée API minimise la consommation de tokens en évitant de transmettre l'intégralité du tableau à chaque interaction.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add MrNhoiBong/WhiteBorad

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · 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

Bloc-notes Claude (tableau blanc)

Tableau blanc local servant de bloc-notes partagé : l'utilisateur dessine ses idées, Claude analyse sur la machine puis répond et dessine sur le tableau. Le code se trouve directement dans le dossier de cette compétence ; ci-dessous WB désigne le chemin vers le dossier contenant ce fichier.

Démarrage

export WB_DATA="$PWD/.whiteboard"   # optionnel : tableau dédié au projet courant (par défaut : WB/data)
WB/wb start [--port 8765]           # crée automatiquement .venv (python3 -m venv --without-pip), sans paquet externe
  • Donner l'URL à l'utilisateur (http://127.0.0.1:8765), puis exécuter WB/wb wait --timeout 3300 en arrière-plan (run_in_background).
  • Si WB_DATA est défini, il doit être identique pour toutes les commandes wb suivantes (à préciser directement dans la commande : WB_DATA=... WB/wb ...).
  • Si WB_DATA est utilisé dans un dépôt git, ajouter .whiteboard/ au .gitignore.

Boucle de service

  1. Quand wait se termine avec le code 0 : lire la sortie. La sortie contient la question, la zone sélectionnée, les éléments dans la zone (texte suffisant) et le chemin PNG s'il y en a un.
  2. N'ouvrir l'image PNG que si la sortie la mentionne (présente uniquement si la zone contient des traits, cadres, flèches ou formes). Ne pas lire l'intégralité du tableau ; pour plus de contexte, utiliser wb look X Y W H ou wb item ID.
  3. Effectuer le travail sur la machine si nécessaire : lire des fichiers, exécuter des scripts, effectuer des calculs.
  4. Répondre avec wb reply --file F --done, et dessiner sur le tableau si utile (voir ci-dessous).
  5. Relancer wait en arrière-plan. Le code 2 signifie que le temps est écoulé et qu'il n'y a pas de requête : il suffit de relancer wait, sans avertir l'utilisateur.

Quand l'utilisateur souhaite arrêter : WB/wb stop.

Règles de réponse

  • Toute formule mathématique doit être écrite en LaTeX ($…$ en ligne, $$…$$ en bloc), aussi bien dans le chat que sur le tableau. La page utilise MathJax pour le rendu, avec la macro prédéfinie : \Adv.
  • Pour un texte multiligne ou contenant $, écrire dans un fichier temporaire, puis passer via --file pour éviter les erreurs de quoting du shell.
  • Le contenu est en Markdown-lite : **gras**, *italique*, `code`, listes, tableaux |…|.
  • Les éléments créés par Claude sont par défaut en violet et placés à côté de la zone en cours de traitement ; utiliser --at x,y pour les placer ailleurs.

Commandes de dessin

CommandeUsage
`wb note [TEXT--file F] [--color C] [--at x,y] [--w W]`
`wb tex [TEXT--file F] [--size N]`
wb svg --file F --title T [--w W --h H]Schémas, graphiques, illustrations (SVG)
wb rect X Y W H, wb arrow X Y DX DYCadres, flèches natives du tableau
`wb patch ID [--text--file
wb show [RID] [--pending], wb done [RID]Révision ou clôture d'une demande

Couleurs des notes : yellow, pink, sky, mint, violet. Couleurs des traits (rect, arrow) : ink, red, blue, green, amber, violet.

Dessiner des SVG économes en tokens

  • Les images SVG sont affichées via <img> (sûr, sans exécution de script), donc le LaTeX à l'intérieur d'un SVG n'est pas rendu. Pour une formule, dessiner le cadre et la flèche en SVG, puis placer les éléments tex par-dessus.
  • Pour un graphique ou une forme avec de nombreux points : générer le SVG avec un court script Python, sans écrire les coordonnées à la main. Le coût est alors seulement la longueur du script, indépendante du nombre de points.
  • Utiliser <style>, <defs> et <marker>, arrondir les coordonnées. Pour quelques cadres et flèches, utiliser rect/arrow.
  • La lecture est quasiment gratuite : wait n'affiche qu'une ligne de description pour chaque image SVG, sans le code source.

Détails d'architecture et API : WB/docs/.

Skills associés