Communitygithub.com

Beads - Mémoire persistante des tâches pour agents IA

Suit un travail complexe multi-sessions à l'aide du tracker de tickets Beads et de graphes de dépendances, et fournit une mémoire persistante qui survit à la compaction des conversations. À utiliser lorsque le travail s'étend sur plusieurs sessions, a des dépendances complexes ou nécessite un contexte persistant à travers les cycles de compaction.

Qu'est-ce que Beads - Mémoire persistante des tâches pour agents IA ?

Beads (bd) est un tracker de tickets basé sur un graphe de dépendances, conçu pour remplacer les listes de tâches Markdown classiques dans les environnements d'agents IA comme Claude Code ou Cursor. Contrairement à TodoWrite qui est limité à une session, bd persiste après la compaction de la conversation et intègre un système de gestion de dépendances avancé (bloquant, parent-enfant, découvert, lié). Il stocke les tickets dans un fichier JSONL versionné via Git, garantissant ainsi la persistance et la traçabilité des décisions. Cette compétence permet de créer des tâches (y compris des épopées et sous-tâches), de visualiser le travail prêt ou bloqué, de mettre à jour le statut et les notes, et d'ajouter des dépendances. Idéal pour les projets complexes, les travaux exploratoires ou les collaborations multi-sessions, bd offre des commandes comme `bd ready`, `bd show`, `bd sync` et `bd dep add` pour une gestion fluide du cycle de vie des tickets.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/David-Li0406/meta-skill-evloving/tree/HEAD/AgentSkillOS/data/skill_seeds/beads

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 Beads - Mémoire persistante des tâches pour agents IA ?

Tracker de tickets basé sur un graphe de dépendances, qui survit à la compaction des conversations. Fournit une mémoire persistante pour un travail multi-sessions avec des dépendances complexes.

Aperçu

bd (beads) remplace les listes de tâches Markdown par un graphe de dépendances stocké dans Git. Contrairement à TodoWrite (limité à la session), bd persiste à travers les compactions et suit les dépendances complexes.

Distinction clé :

  • bd : Travail multi-sessions, dépendances, survit à la compaction, basé sur Git
  • TodoWrite : Tâches mono-session, exécution linéaire, limité à la conversation

Capacités principales :

  • 📊 Graphes de dépendances : Suivi de ce qui bloque quoi (bloque, parent-enfant, découvert, lié)
  • 💾 Survie à la compaction : Les tâches persistent lorsque l'historique de la conversation est compacté
  • 🐙 Intégration Git : Tickets versionnés dans .beads/issues.jsonl, synchronisation avec bd sync
  • 🔍 Découverte intelligente : Trouve automatiquement le travail prêt (bd ready) et bloqué (bd blocked)
  • 📝 Pistes d'audit : Historique complet des changements de statut, notes et décisions
  • 🏷️ Métadonnées riches : Priorité (P0-P4), types (bogue/fonctionnalité/tâche/épopée), étiquettes, assignés

Quand utiliser bd vs TodoWrite :

  • ❓ "Aurai-je besoin de ce contexte dans 2 semaines ?" → OUI = bd
  • ❓ "L'historique de la conversation pourrait-il être compacté ?" → OUI = bd
  • ❓ "Y a-t-il des bloqueurs/dépendances ?" → OUI = bd
  • ❓ "S'agit-il d'un travail flou/exploratoire ?" → OUI = bd
  • ❓ "Ce travail sera-t-il terminé dans cette session ?" → OUI = TodoWrite
  • ❓ "S'agit-il simplement d'une liste de tâches pour moi maintenant ?" → OUI = TodoWrite

Règle de décision : Si reprendre dans 2 semaines serait difficile sans bd, utilisez bd.

Prérequis

Requis :

  • CLI bd : Version 0.34.0 ou ultérieure installée et dans le PATH
  • Dépôt Git : Le répertoire courant doit être un dépôt Git
  • Initialisation : bd init doit être exécuté une fois (fait par les humains, pas les agents)

Vérifier l'installation :

bd --version  # Doit retourner 0.34.0 ou ultérieure

Configuration initiale (les humains l'exécutent une fois) :

cd /chemin/vers/votre/depot
bd init  # Crée le répertoire .beads/ avec la base de données

Optionnel :

  • Variable d'environnement BEADS_DIR pour un emplacement alternatif de la base de données
  • Démon pour la synchronisation en arrière-plan : bd daemon --start

Instructions

Protocole de début de session

Chaque session, commencez ici :

Étape 1 : Vérifier le travail prêt

bd ready

Affiche les tâches sans bloqueurs ouverts, triées par priorité (P0 → P4).

Ce que cela montre :

  • ID de la tâche (ex : monprojet-abc)
  • Titre
  • Niveau de priorité
  • Type de ticket (bogue, fonctionnalité, tâche, épopée)

Exemple de sortie :

claude-code-plugins-abc [P1] [tâche] ouvert
  Implémenter l'authentification utilisateur

claude-code-plugins-xyz [P0] [épopée] en_cours
  Refactoriser la couche base de données

Étape 2 : Choisir la tâche de plus haute priorité

Choisissez la tâche prête de plus haute priorité (P0 > P1 > P2 > P3 > P4).

Étape 3 : Obtenir le contexte complet

bd show <id-tâche>

Affiche :

  • Description complète de la tâche
  • Graphe de dépendances (ce qui bloque cette tâche, ce que cette tâche bloque)
  • Piste d'audit (tous les changements de statut, notes)
  • Métadonnées (création, mise à jour, assigné, étiquettes)

Étape 4 : Commencer à travailler

bd update <id-tâche> --status en_cours

Marque la tâche comme étant activement travaillée.

Étape 5 : Ajouter des notes en travaillant

bd update <id-tâche> --notes "Terminé : X. En cours : Y. Bloqué par : Z"

Critique pour la survie à la compaction : Écrivez les notes comme si vous expliquiez à un futur agent sans aucun contexte de conversation.

Format des notes (meilleure pratique) :

TERMINÉ : Livrables spécifiques (ex : "implémenté endpoint de rafraîchissement JWT + limitation de débit")
EN COURS : État actuel + prochaine étape immédiate
BLOQUEURS : Ce qui empêche la progression
DÉCISIONS CLÉS : Contexte important ou orientation de l'utilisateur

Flux de création de tâches

Quand créer des tâches

Créez des tâches bd quand :

  • L'utilisateur mentionne le suivi d'un travail sur plusieurs sessions
  • L'utilisateur dit "nous devrions corriger/construire/ajouter X"
  • Le travail a des dépendances ou des bloqueurs
  • Travail exploratoire/de recherche avec des limites floues

Création de tâche de base

bd create "Titre de la tâche" -p 1 --type tâche

Arguments :

  • Titre : Brève description (obligatoire)
  • Priorité : 0-4 où 0=critique, 1=haute, 2=moyenne, 3=basse, 4=backlog (défaut : 2)
  • Type : bogue, fonctionnalité, tâche, épopée, chore (défaut : tâche)

Exemple :

bd create "Corriger le bogue d'authentification" -p 0 --type bogue

Créer avec description

bd create "Implémenter OAuth" -p 1 --description "Ajouter le support OAuth2 pour Google, GitHub, Microsoft. Utiliser la bibliothèque passport.js."

Épopée avec enfants

# Créer l'épopée parent
bd create "Épopée : Implémentation OAuth" -p 0 --type épopée
# Retourne : monprojet-abc

# Créer les tâches enfants
bd create "Rechercher les fournisseurs OAuth" -p 1 --parent monprojet-abc
bd create "Implémenter les endpoints d'authentification" -p 1 --parent monprojet-abc
bd create "Ajouter l'interface utilisateur de connexion frontale" -p 2 --parent monprojet-abc

Flux de mise à jour et progression

Changer le statut

bd update <id-tâche> --status <nouveau-statut>

Valeurs de statut :

  • ouvert - Non commencé
  • en_cours - Activement travaillé
  • bloqué - Bloqué, en attente de quelque chose
  • fermé - Terminé

Exemple :

bd update monprojet-abc --status bloqué

Ajouter des notes de progression

bd update <id-tâche> --notes "Mise à jour de la progression ici"

Ajoute au champ de notes existant (ne remplace pas).

Changer la priorité

bd update <id-tâche> -p 0  # Escalader à critique

Ajouter des étiquettes

bd label add <id-tâche> backend
bd label add <id-tâche> sécurité

Les étiquettes offrent une catégorisation transversale au-delà du statut/type.


Gestion des dépendances

Ajouter des dépendances

bd dep add <id-enfant> <id-parent>

Signification : <id-parent> bloque <id-enfant> (le parent doit être terminé en premier).

Types de dépendances :

  • bloque : Le parent doit se fermer avant que l'enfant devienne prêt
  • parent-enfant : Relation hiérarchique (épopées et sous-tâches)
  • découvert-de : La tâche A a conduit à la découverte de la tâche B
  • lié : Les tâches sont liées mais ne se bloquent pas

Exemple :

# Déploiement bloqué par la réussite des tests
bd dep add tâche-déploiement tâche-test  # tâche-test bloque tâche-déploiement

Voir les dépendances

bd dep list <id-tâche>

Affiche :

  • Ce que cette tâche bloque (dépendants)
  • Ce qui bloque cette tâche (bloqueurs)

Prévention des dépendances circulaires

bd empêche automatiquement les dépendances circulaires. Si vous essayez de créer un cycle, la commande échoue.


Flux de terminaison

Fermer une tâche

bd close <id-tâche> --reason "Résumé de la terminaison"

Meilleure pratique : Incluez toujours une raison décrivant ce qui a été accompli.

Exemple :

bd close monprojet-abc --reason "Terminé : Endpoints OAuth implémentés avec les fournisseurs Google, GitHub. Tests réussis."

Vérifier le travail nouvellement débloqué

Après avoir fermé une tâche, exécutez :

bd ready

La fermeture d'une tâche peut débloquer des tâches dépendantes, les rendant nouvellement prêtes.

Fermer les épopées lorsque les enfants sont terminés

bd epic close-eligible

Ferme automatiquement les épopées dont toutes les tâches enfants sont fermées.


Flux de synchronisation Git

Synchronisation tout-en-un

bd sync

Effectue :

  1. Exportation de la base de données vers .beads/issues.jsonl
  2. Validation des changements dans Git
  3. Tirage depuis le dépôt distant (fusion si nécessaire)
  4. Importation du JSONL mis à jour dans la base de données
  5. Push des validations locales vers le dépôt distant

À utiliser quand : Fin de session, avant de passer le relais à un collègue, après un progrès majeur.

Exporter uniquement

bd export -o sauvegarde.jsonl

Crée une sauvegarde JSONL sans opérations Git.

Importer uniquement

bd import -i sauvegarde.jsonl

Importe un fichier JSONL dans la base de données.

Démon en arrière-plan

bd daemon --start  # Synchronisation automatique en arrière-plan
bd daemon --status # Vérifier l'état du démon
bd daemon --stop   # Arrêter la synchronisation automatique

Le démon surveille les changements de la base de données et exporte automatiquement vers JSONL.


Commandes de recherche et de découverte

Trouver le travail prêt

bd ready

Affiche les tâches sans bloqueurs ouverts.

Lister toutes les tâches

bd list --status ouvert           # Uniquement les tâches ouvertes
bd list --priority 0              # Uniquement P0 (critique)
bd list --type bogue              # Uniquement les bogues
bd list --label backend           # Uniquement étiquetées "backend"
bd list --assignee alice          # Uniquement assignées à alice

Afficher les détails d'une tâche

bd show <id-tâche>

Détails complets : description, dépendances, piste d'audit, métadonnées.

Recherche par texte

bd search "authentification"      # Recherche dans les titres et descriptions
bd search connexion --status ouvert   # Combiner avec des filtres

Trouver le travail bloqué

bd blocked

Affiche toutes les tâches qui ont des bloqueurs ouverts les empêchant d'être travaillées.

Statistiques du projet

bd stats

Affiche :

  • Total des tickets par statut (ouvert, en_cours, bloqué, fermé)
  • Tickets par priorité (P0-P4)
  • Tickets par type (bogue, fonctionnalité, tâche, épopée, chore)
  • Taux d'achèvement

Référence complète des commandes

CommandeQuand l'utiliserExemple
COMMANDES DE RECHERCHE
bd readyTrouver les tâches non bloquéesL'utilisateur demande "sur quoi devrais-je travailler ?"
bd listVoir toutes les tâches (avec filtres)"Montre-moi tous les bogues ouverts"
bd show <id>Obtenir les détails d'une tâche"Montre-moi la tâche bd-42"
bd search <requête>Recherche textuelle dans les tâches"Trouver les tâches sur l'auth"
bd blockedTrouver le travail bloqué"Qu'est-ce qui nous bloque ?"
bd statsMétriques du projet"Combien de tâches sont ouvertes ?"
COMMANDES DE CRÉATION
bd createSuivre un nouveau travail"Créer une tâche pour ce bogue"
bd template createUtiliser un modèle de ticket"Créer une tâche à partir du modèle de bogue"
bd initInitialiser beads"Configurer beads dans ce dépôt" (humains uniquement)
COMMANDES DE MISE À JOUR
bd update <id>Changer le statut/priorité/notes"Marquer comme en cours"
bd dep addLier des dépendances"Ceci bloque cela"
bd label addÉtiqueter avec des labels"Étiqueter ceci comme backend"
bd comments addAjouter un commentaire"Ajouter un commentaire à la tâche"
bd reopen <id>Rouvrir une tâche fermée"Rouvrir bd-42, régression trouvée"
bd rename-prefixRenommer le préfixe du ticket"Changer le préfixe de bd- à proj-"
bd epic statusVérifier la progression d'une épopée"Afficher le % d'achèvement de l'épopée"
COMMANDES DE TERMINAISON
bd close <id>Marquer une tâche comme terminée"Fermer cette tâche, c'est fini"
bd epic close-eligibleFermer automatiquement les épopées complètes"Fermer les épopées dont tous les enfants sont terminés"
COMMANDES DE SYNCHRONISATION
bd syncSynchronisation Git (tout-en-un)"Synchroniser les tâches vers Git"
bd exportExporter vers JSONL"Sauvegarder toutes les tâches"
bd importImporter depuis JSONL"Restaurer depuis la sauvegarde"
bd daemonGestionnaire de synchronisation en arrière-plan"Démarrer le démon de synchronisation automatique"
COMMANDES DE NETTOYAGE
bd delete <id>Supprimer des tickets"Supprimer la tâche de test" (nécessite --force)
bd compactArchiver les anciennes tâches fermées"Compresser la base de données"
COMMANDES DE RAPPORT
bd statsMétriques du projet"Afficher la santé du projet"
bd audit recordEnregistrer les interactions"Enregistrer cet appel LLM"
bd workflowAfficher le guide de flux de travail"Comment utiliser beads ?"
COMMANDES AVANCÉES
bd primeRafraîchir le contexte IA"Charger les règles de flux de travail bd"
bd quickstartTutoriel interactif"Apprendre les bases de beads"
bd daemonsGestion multi-dépôts du démon"Gérer tous les démons beads"
bd versionVérification de version"Vérifier la version de bd"
bd restore <id>Restaurer un ticket compacté"Obtenir l'historique complet depuis Git"

Sortie

Cette compétence produit :

IDs de tâches : Format <préfixe>-<hash> (ex : claude-code-plugins-abc, monprojet-xyz)

Résumés de statut :

5 ouverts, 2 en_cours, 1 bloqué, 47 fermés

Graphes de dépendances (arbre visuel) :

monprojet-abc : Déployer en production [P0] [bloqué]
  Bloqué par :
    ↳ monprojet-def : Exécuter les tests d'intégration [P1] [en_cours]
    ↳ monprojet-ghi : Corriger les tests échoués [P1] [ouvert]

Pistes d'audit (historique complet) :

2025-12-22 10:00 - Créé par alice (P2, tâche)
2025-12-22 10:15 - Priorité changée : P2 → P0
2025-12-22 10:30 - Statut changé : ouvert → en_cours
2025-12-22 11:00 - Notes ajoutées : "Implémenté JWT auth..."
2025-12-22 14:00 - Statut changé : en_cours → bloqué
2025-12-22 14:01 - Notes ajoutées : "Bloqué : Endpoint API retourne 503"

Gestion des erreurs

Échecs courants

1. bd : commande introuvable

Cause : CLI bd non installée ou pas dans le PATH Solution : Installer depuis https://github.com/steveyegge/beads

# macOS/Linux
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash

# Ou via npm
npm install -g @beads/bd

# Ou via Homebrew
brew install steveyegge/beads/bd

2. Aucune base de données .beads trouvée

Cause : beads non initialisé dans ce dépôt Solution : Exécuter bd init (les humains le font une fois, pas les agents)

bd init  # Crée le répertoire .beads/

3. Tâche non trouvée : <id>

Cause : ID de tâche invalide ou tâche inexistante Solution : Utiliser bd list pour voir toutes les tâches et vérifier le format de l'ID

bd list                    # Voir toutes les tâches
bd search <titre-partiel>  # Trouver une tâche par titre

4. Dépendance circulaire détectée

Cause : Tentative de créer un cycle de dépendances (A bloque B, B bloque A) Solution : bd empêche automatiquement les dépendances circulaires. Restructurer le graphe de dépendances.

bd dep list <id>  # Voir les dépendances actuelles

5. Conflits de fusion Git dans .beads/issues.jsonl

Cause : Plusieurs utilisateurs ont modifié le même ticket Solution : bd sync gère automatiquement les conflits JSONL. Si une intervention manuelle est nécessaire :

# Voir le conflit
git status

# bd fournit des outils de résolution de conflits
bd sync --merge  # Tenter la résolution automatique

6. Base de données verrouillée

Cause : Le démon ou un autre processus a un verrou exclusif Solution : Redémarrer le démon ou attendre la libération du verrou

bd daemon --stop
bd daemon --start

7. Échecs de synchronisation

Cause : Problèmes réseau, échecs d'authentification ou configuration Git Solution : Vérifier l'accès au dépôt distant et les informations d'identification

git fetch  # Tester la connectivité
git status # Vérifier l'état du dépôt

Exemples

…

[tronqué pour la traduction]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

David-Li0406/meta-skill-evloving

Create technical diagrams using Mermaid syntax for architecture, sequences, ERDs, flowcharts, and state machines. Use for visualizing system design, data flows, and processes. Triggers: diagram, mermaid, architecture diagram, sequence diagram, flowchart, ERD, entity relationship, state diagram, C4 model, component diagram, visualize, draw.

David-Li0406/meta-skill-evloving

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

David-Li0406/meta-skill-evloving

Complete color manipulation and green screen effects system. PROACTIVELY activate for: (1) Green screen/chromakey removal, (2) Color grading with LUTs, (3) Color correction (levels, curves, white balance), (4) Colorkey/color removal effects, (5) Hue/saturation manipulation, (6) Color space conversions (BT.709, BT.2020, HDR), (7) Color isolation effects, (8) Teal and orange look, (9) Vintage/film looks, (10) Color keying for transparency. Provides: chromakey and colorkey filters, LUT application (lut3d), curves and levels adjustment, color balance, selective color manipulation, color space handling, HDR tone mapping, professional color grading chains.

David-Li0406/meta-skill-evloving

Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.

David-Li0406/meta-skill-evloving

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

David-Li0406/meta-skill-evloving

Build with OpenAI's stateless APIs - Chat Completions (GPT-5, GPT-4o), Embeddings, Images (DALL-E 3), Audio (Whisper + TTS), and Moderation. Includes Node.js SDK and fetch-based approaches for Cloudflare Workers. Use when: implementing chat completions with GPT-5/GPT-4o, streaming responses with SSE, using function calling/tools, creating structured outputs with JSON schemas, generating embeddings for RAG (text-embedding-3-small/large), generating images with DALL-E 3, editing images with GPT-Image-1, transcribing audio with Whisper, synthesizing speech with TTS (11 voices), moderating content (11 safety categories), or troubleshooting rate limits (429), invalid API keys (401), function calling failures, streaming parse errors, embeddings dimension mismatches, or token limit exceeded.

David-Li0406/meta-skill-evloving

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

David-Li0406/meta-skill-evloving

Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks

David-Li0406/meta-skill-evloving

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

David-Li0406/meta-skill-evloving

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

David-Li0406/meta-skill-evloving

Best practices for Remotion - Video creation in React

David-Li0406/meta-skill-evloving

Provides bidirectional translation (Chinese/English), grammar checking, and sentence polishing. Supports specific tense constraints, context-aware tone adjustment, and natural expression optimization. Outputs direct text without formatting.

David-Li0406/meta-skill-evloving

指导如何通过自定义注解(如@Unicom)标识Dubbo接口,利用BeanDefinitionRegistryPostProcessor在启动时扫描并动态注册ReferenceBean,实现RPC调用的封装。

David-Li0406/meta-skill-evloving

生成Python脚本,利用FFmpeg将图片序列按3x3布局合并,或将合并图拆分。要求使用subprocess模块执行命令,并支持用户交互式输入路径。

David-Li0406/meta-skill-evloving

SOP for extracting and analyzing promotional activity details, handling time formatting, location mapping, payment logic, and step-by-step process validation.

David-Li0406/meta-skill-evloving

Specializes in creating TikTok short video scripts using an anthropomorphic 'Chef' perspective to explain wildlife food chains and survival environments, utilizing real field footage.

David-Li0406/meta-skill-evloving

针对TikTok平台,以拟人化视角(如动物作为厨师)创作系列短视频脚本。重点介绍野生动物、食物链及生态环境,要求使用野外实拍素材,风格幽默且具有教育意义。

David-Li0406/meta-skill-evloving

Generates KWL (Know, Want to know, Learned) charts for educational videos, specifically BrainPOP, using simple 7th-grade language and short, concise bullet points.

David-Li0406/meta-skill-evloving

Develops DAX measures to calculate promo and regular volumes and generates a calculated table of dates excluding continuous promo date ranges, handling multiple periods and nulls.

David-Li0406/meta-skill-evloving

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

Skills associés