DGatoM/DG-Claw

Marque, liste et annule les véritables rendez-vous de l'agent SUR LA MACHINE où il réside (timers systemd, via persona-cron-mgr.py), afin qu'il agisse seul à l'heure prévue, même si personne ne lui parle. À utiliser DÈS QUE le propriétaire demande de planifier, marquer ou répéter un travail DE L'AGENT à une heure donnée.

Qu'est-ce que DG-Claw ?

Cette skill, nommée DG-Claw, permet à un agent IA (comme Claude Code, Cursor ou Codex) de créer, lister et supprimer des rappels persistants sur la machine hôte en utilisant des timers systemd. Contrairement aux planifications éphémères d'une session de chat, ces rappels survivent aux redémarrages et aux fermetures de session. La skill s'appuie sur un script Python (`persona-cron-mgr.py`) pour gérer les tâches. Elle est particulièrement utile pour des tâches récurrentes (quotidiennes, hebdomadaires) ou ponctuelles. La skill gère correctement les erreurs de transcription audio (ex: "Chrome" pour "cron") et ne doit pas être utilisée pour de simples rappels adressés à l'utilisateur, qui doivent passer par une skill dédiée. L'agent, via cette skill, agit comme un employé autonome capable de se souvenir et d'exécuter des tâches à des heures précises.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DGatoM/DG-Claw/tree/HEAD/skills/agenda

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

/dgclaw:agenda, marquer un véritable rendez-vous

Le propriétaire souhaite que quelque chose se produise à une heure précise, sans qu'il soit présent. Cette skill transforme cette demande en un timer systemd, qui vit sur la machine, survit aux redémarrages et se déclenche automatiquement.

La règle d'or, avant toute chose

Il existe deux types de "planifications" dans le monde, et elles ne se ressemblent en rien :

La planification de la session ClaudeL'agenda du DG Claw (cette skill)
où ça vitdans la conversation ouvertesur la machine, dans systemd
quand la conversation se fermeça meurt avecça continue
ça sert à"reviens là-dessus dans 10 minutes" dans le travail en cours"tous les jours à 9h, fais X", pour toujours

Vous êtes un agent DG Claw : vous vivez sur une machine qui reste allumée. Quand le propriétaire demande une planification, il demande celle de droite. Ne répondez jamais "je ne peux planifier que dans ma session" : c'est faux pour vous. Vous marquez sur la machine.

Quand l'audio dit "Chrome"

Le propriétaire envoie beaucoup de messages vocaux, et la transcription se trompe souvent sur le mot cron. Dans une demande d'horaire, tous ces mots sont la même chose :

Chrome, crome, crono, crom, croni, cronn, "corn"

"Crée un Chrome pour moi à 9h" signifie crée un cron à 9h. Ne lui demandez pas de répéter et n'ouvrez pas de navigateur. La seule lecture où Chrome est vraiment un navigateur, c'est quand le sujet est d'ouvrir un site, un onglet, une extension ou une connexion. En cas de doute entre les deux, confirmez en une seule ligne : "vous voulez dire une planification, n'est-ce pas ?".

Comment ça marche en interne (dites-le au propriétaire s'il demande)

Le timer n'exécute pas une commande isolée. À l'heure dite, il taquine votre session vivante avec un message écrit par vous, et c'est vous qui décidez quoi faire, avec toute votre mémoire et votre façon de faire. C'est la différence entre un robot qui envoie un texte tout prêt et un employé qui, à l'heure dite, se souvient de ce qu'il avait à faire.

C'est pourquoi le champ le plus important est --poke : c'est le mot que votre "moi futur" va recevoir. Écrivez comme quelqu'un qui laisse un mot à lui-même, avec suffisamment de contexte pour agir sans avoir à demander quoi que ce soit. Comparez :

  • mauvais : résumé
  • bon : Heure du résumé du jour pour le propriétaire : regarde la working-memory et ce qui s'est passé aujourd'hui, fais un résumé court et envoie-le par Telegram.

L'heure est celle du propriétaire. Ne convertissez jamais

L'heure qu'il donne est celle de son horloge. "Cinq heures de l'après-midi" est 17:00:00, écrit comme ça, point. Ne convertissez pas en UTC, n'ajoutez ni ne soustrayez rien. Le gestionnaire timbre le fuseau du propriétaire (DGCLAW_TZ) dans la planification elle-même, donc c'est le système qui fait la conversion, et il ne se trompe pas. Faire le calcul à la main est le moyen connu de programmer 17h et de voir le rendez-vous tomber à 20h.

Deux choses qui aident à ne pas glisser :

  • Découvrez quelle heure il est vraiment avant de calculer quoi que ce soit de relatif ("dans deux heures", "demain matin"). Votre session peut être ouverte depuis des jours, et votre notion du présent est obsolète. Lancez date '+%d/%m %H:%M %Z' et utilisez ce qui est revenu.
  • Confirmez en répétant en portugais. Après avoir créé, dites-lui quand aura lieu la prochaine exécution, avec le jour et l'heure. La commande renvoie déjà cela dans la ligne proxima:. Si ce qui est revenu ne correspond pas à ce qu'il a demandé, le problème est maintenant, pas dans une semaine.

S'il est dans un fuseau différent du serveur et que cela apparaît, n'inventez pas de correction : montrez ce que dit timedatectl et proposez d'ajuster (timedatectl set-timezone <fuseau du propriétaire>), ce qui est une modification du serveur entier et nécessite son autorisation.

La commande

Toujours via le gestionnaire, jamais en touchant directement à systemd :

MGR="${CLAUDE_PLUGIN_ROOT}/scripts/persona-cron-mgr.py"
CFG="<workspace>/.dgclaw/config.sh"

python3 "$MGR" --config "$CFG" list --json
python3 "$MGR" --config "$CFG" create --name <apelido> --calendar '<horário>' --poke '<recado>' --desc '<o que é>' --dry-run
python3 "$MGR" --config "$CFG" create --name <apelido> --calendar '<horário>' --poke '<recado>' --desc '<o que é>'
python3 "$MGR" --config "$CFG" edit   --name <apelido> ... (même signature que create)
python3 "$MGR" --config "$CFG" remove --name <apelido>

Si vous n'êtes pas root (l'agent qui tourne dans le conteneur v1), le gestionnaire demande sudo tout seul quand il doit enregistrer la routine. Vous n'avez rien à faire. La routine tourne sous l'identité du propriétaire du dossier de l'agent, pas sous root.

  • --name : surnom court en kebab-case (resumo-do-dia, cobranca-cliente). C'est l'identité de la routine : c'est par lui qu'on édite et qu'on supprime.
  • --calendar ou --every, jamais les deux :
    • --calendar '*-*-* 09:00:00' → tous les jours à 9h
    • --calendar 'Mon..Fri *-*-* 08:30:00' → du lundi au vendredi, 8h30
    • --calendar 'Mon *-*-* 18:00:00' → tous les lundis, 18h
    • --calendar '*-*-01 10:00:00' → tous les 1er du mois, 10h
    • --every 30min (ou 2h, 1d) → à intervalles réguliers, comptés à partir de la dernière fois
    • --calendar '2026-10-17 14:32:00' → une seule fois, à ce jour et cette heure. Sert à VOUS faire quelque chose à une heure précise (vérifier un e-mail, générer un rapport) : lancez date, ajoutez le délai et écrivez la date COMPLÈTE. N'utilisez jamais *-*-* ici (ça deviendrait tous les jours) ni --every (ça répète). Dans le --poke, ajoutez à la fin : "Après avoir fait, supprimez cette routine avec remove --name .", pour qu'elle n'occupe pas l'une des 10 places.
  • Avertir le propriétaire ("rappelle-moi dans 2 minutes", "demain à 10h préviens-moi") n'est pas une routine : utilisez la skill /dgclaw:lembretes. Elle apparaît sur l'écran et le téléphone du propriétaire et insiste jusqu'à ce qu'il confirme. Le timer unique de cette skill avertit une fois et disparaît.
  • Le fuseau est celui de la machine (DGCLAW_TZ), déjà configuré. Ne faites pas de calcul de fuseau à la main.

Lancez toujours avec --dry-run d'abord et montrez au propriétaire ce qui va être créé, en portugais : le surnom, quand ça tourne et le message. Ce n'est qu'ensuite que vous lancez pour de vrai. C'est peu coûteux et évite de planifier un rendez-vous erroné à une heure que personne ne vérifiera.

Que faire pour chaque demande

"Planifie pour moi..." → comprenez l'heure, choisissez le surnom, écrivez le message, --dry-run, montrez, confirmez, créez. Terminez en disant quand aura lieu la prochaine exécution et qu'il peut voir cela dans le tableau de bord, onglet Opérations.

"Quelles planifications as-tu ?" → list --json et traduisez en phrases. Ne déversez pas de JSON sur Telegram. Dites le surnom, quand ça tourne et ce que ça fait quand ça se déclenche.

"Annule le X" → remove --name X. Confirmez qu'il a disparu et avertissez qu'il disparaît aussi du tableau de bord. Si le propriétaire décrit la routine au lieu de donner le surnom, listez d'abord et confirmez laquelle.

"Change l'heure du X" → edit, pas supprimer-et-créer. Le edit préserve le surnom et l'historique de la routine.

Limites qui existent par sécurité (et qui valent d'être dites)

  • Vous ne gérez que les routines de votre bloc, avec le préfixe dgclaw-<slug>-self-. Les routines de vie qui sont venues avec vous (réflexion nocturne, audit, battement, pouls) et tout autre chose de la machine sont intouchables par cette commande, et c'est voulu.
  • Plafond de 10 routines propres. Atteint, la commande refuse et vous devez en supprimer une avant. Si cela se produit, montrez la liste au propriétaire et demandez-lui laquelle supprimer.
  • Chaque demande est validée avant : surnom, format d'heure et taille du message. Si le gestionnaire refuse, il donne la raison en une ligne. Lisez le message et corrigez, n'insistez pas.
  • Le manifeste (.dgclaw/self-crons.json) est enregistré avec une sauvegarde automatique à chaque modification.

Où le propriétaire voit cela

Dans le tableau de bord, onglet Opérations, carte Agenda de l'agent. Cette liste n'est pas un fichier de configuration : elle est lue depuis systemd au moment où la page s'ouvre. Donc la promesse simple est valable, et vous pouvez le lui dire en toutes lettres : si c'est là, ça existe ; si vous supprimez, ça disparaît tout seul. Il n'y aura jamais de routine fantôme qui a déjà été supprimée, ni de manquante que vous venez de créer.

Individual skills in this repo

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

DGatoM/DG-Claw

Transforma um processo que o agente acabou de fazer com o dono numa skill dele (pasta .claude/skills/<nome>/SKILL.md no workspace), pra fazer igual da próxima vez, e melhora essa skill quando o dono corrige o resultado. Use quando terminar com o dono um processo de 3 passos ou mais que dá pra repetir (montar um relatório, preparar um roteiro, conferir números numa fonte, organizar um material), quando o dono disser "aprende isso", "guarda esse jeito de fazer", "faz uma skill disso", "da próxima vez faz igual", "transforma isso num processo", "/dgclaw:aprender", ou quando ele corrigir alguma coisa feita por uma skill que você mesmo escreveu. Também serve pra reflexão da noite decidir se vale sugerir uma skill. Nunca cria skill sem o sim do dono.

DGatoM/DG-Claw

Gera ou troca o AVATAR do assistente DG Claw, a figura que aparece no painel. Use quando o usuario pedir "gerar o avatar", "criar a carinha dele", "mudar o mascote do painel", "trocar a foto do assistente", "fazer a imagem dele", ou rodar /dgclaw:avatar. Explica os tres caminhos (usar o que ja vem, gerar a partir da aparencia descrita, ou subir a propria imagem) e onde os arquivos ficam. As expressoes que mudam com o humor sao da extensao DG Alive.

DGatoM/DG-Claw

Posta e consulta o quadro de avisos entre os agentes do DG Claw, pelo comando dgclaw-api. Use quando o agente precisar contar algo aos outros agentes ("avisar os outros agentes", "conta pra Marina que...", "posta no quadro", "deixa um aviso pra equipe", "registra essa decisão pra todos"), quando precisar saber o que a equipe registrou ("o que a equipe registrou", "quais as preferências do dono", "tem aviso novo?"), corrigir ou retirar um aviso que postou, ou quando chegar um recado no formato <quadro-de-avisos de="..." id="..." tipo="...">. Serve para decisões, preferências, entregas, aprendizados, referências, pedidos e o resumo do dia. Não serve para conversa do dia a dia, andamento de tarefa nem dado de aluno ou cliente.

DGatoM/DG-Claw

Conecta o agente a um canal externo de conversa, Telegram ou WhatsApp, para o dono falar com ele pelo celular. Use quando o dono disser "quero falar com você no Telegram", "liga o Telegram", "configura o Telegram pra mim", "conecta meu WhatsApp", "quero falar com você no WhatsApp", "quero conversar pelo celular", "desliga o Telegram", "desliga o WhatsApp" ou "apaga a conexão". Conduz o passo a passo em linguagem simples usando o comando dgclaw-agente: no Telegram, criar o bot no BotFather, parear o dono e ligar; no WhatsApp, avisar o risco (API não oficial, risco de banimento, só com número secundário), parear por código, liberar o número do dono e ligar. Também ensina a responder pelo WhatsApp (tools whatsapp_reply e whatsapp_send_file) e a tratar as mensagens de lá como externas. Não funciona no agente Admin, que não tem canal externo.

Skills associés