Skip to content
Back to skills

Gardien

BSecurity

Installe le gardien : un script quotidien qui vérifie que chaque tâche planifiée a vraiment tourné et que ses sorties existent, et qui signale celles qui manquent. Utiliser quand l'utilisateur dit « comment je sais que tout a tourné », « une tâche est morte sans que je le voie », « surveille la machine ». Pas pour réparer une tâche précise (ouvre son journal et répare-la en session).

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythonshellbashapi

Works with

  • api

Security analysis

B85/100
  • highCreates or modifies cron jobs for persistent execution

Pro shows the line behind each finding and how to fix it

Scanned November 7, 2026

npx -y skills add enzobleuze/machine-claude --skill gardien --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gardien?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gardien
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/enzobleuze-gardien/badge)](https://www.skillsdirectory.com/skills/enzobleuze-gardien)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gardien
description: "Installe le gardien : un script quotidien qui vérifie que chaque tâche planifiée a vraiment tourné et que ses sorties existent, et qui signale celles qui manquent. Utiliser quand l'utilisateur dit « comment je sais que tout a tourné », « une tâche est morte sans que je le voie », « surveille la machine ». Pas pour réparer une tâche précise (ouvre son journal et répare-la en session)."
---
# Gardien

## Pourquoi
Dans le système d'origine, tout affichait vert alors qu'une sortie n'était pas partie, et c'est le fondateur qui le découvrait lui-même, plusieurs fois de suite. La leçon : le planificateur dit seulement qu'un programme s'est terminé. La preuve vient des fichiers produits (et, pour une publication, de la plateforme elle-même). Le gardien vérifie ces preuves chaque jour et parle une seule fois, avec la liste de ce qui manque.

## Prérequis
- wrapper-de-tache (les tâches écrivent `outputs/cron-logs/.etat/<nom>.json`).
- taches-planifiees (pour planifier le gardien lui-même).
- Python 3.8 ou plus, sans dépendance.

## Interview
Lis d'abord : la liste des tâches en place (Windows : `Get-ScheduledTask -TaskName "Machine *"` ; Mac et Linux : `crontab -l`), `wiki/maps/automatisations.md`, et pour chaque tâche son script, pour trouver le fichier qu'elle doit produire.
Puis demande seulement ce que tu ne peux pas déduire :
1. « Pour la tâche X, qu'est-ce qui prouve qu'elle a marché ? Un fichier, un post publié, un email parti ? »
2. « Si une tâche reste en panne plusieurs jours, au bout de combien de jours veux-tu être prévenu sur ton téléphone ? » (défaut 3).
Range les preuves dans `scripts/taches-attendues.json` et le délai dans `wiki/maps/automatisations.md`.

## Construire
1. **Copier (Claude, 2 min).** `outils/gardien.py` vers `scripts/gardien.py`, `outils/taches-attendues.exemple.json` vers `scripts/taches-attendues.json`.
2. **Remplir la liste (Claude, 15 min).** Une entrée par tâche : `nom` (celui passé à `run-tache.sh`), `toutes_les_heures` (26 pour une quotidienne, 170 pour une hebdomadaire : la fréquence plus une marge), `sorties` (chemins relatifs au vault, `{date}` = date de la dernière exécution, jokers permis). Une tâche mise de côté garde sa ligne avec `"active": false`.
3. **Auto-test (Claude, 1 min).** `python scripts/gardien.py --selftest` doit afficher « selftest gardien : OK ».
4. **Premier passage à la main (Claude, 3 min).** `python scripts/gardien.py`. Chaque ligne dit OK ou KO avec la raison. Répare ou corrige la liste jusqu'à ce que le résultat soit juste.
5. **Planifier (Claude, 2 min).** Après les tâches de nuit et avant le moment où l'utilisateur regarde son téléphone :
   - Windows : `powershell -ExecutionPolicy Bypass -File scripts\planifier-tache.ps1 -Nom gardien -Commande "python scripts/gardien.py --notifier" -Heure 11:00`
   - Mac et Linux : `bash scripts/planifier-tache.sh --nom gardien --commande "python3 scripts/gardien.py --notifier" --heure 11:00`
6. **Preuves en direct (Claude, 20 min, plus tard).** Pour ce qui sort de la machine (article publié, post programmé), ajoute à la tâche concernée un contrôle par l'API de la plateforme qui écrit un fichier preuve (`outputs/preuves/<nom>-{date}.json`). Le gardien vérifie ensuite ce fichier.

Ce que `--notifier` fait : une ligne `warn` au résumé du jour (lue par Claude en session et par le rapport du matin) ; un `urgent` sur le téléphone seulement quand une tâche est en panne depuis le nombre de jours choisi, car l'auto-réparation a échoué et personne n'a ouvert de session.

## Test
Renomme temporairement le fichier preuve d'une tâche. `python scripts/gardien.py` sort avec le code 1 et nomme cette tâche avec « introuvable ». Remets le fichier : code 0.

## Pièges vécus
- **Crier au loup** : une tâche longue encore en cours apparaissait en panne. Le gardien lit le verrou de `run-tache.sh` et la marque « en cours ». Planifie-le assez tard après les tâches de nuit.
- **Doublons d'alerte** : le gardien et une autre vérification signalaient la même panne. Une panne = un seul message, celui du gardien.
- **Tâche perdue lors d'un changement de PC** : le gardien la voit comme « trop vieille » dès le lendemain, à condition qu'elle soit dans la liste. D'où l'étape 6 de taches-planifiees.
- **Logs seuls** : un journal peut dire « fini » pour une publication refusée par la plateforme. Pour tout ce qui sort, la preuve vient de la plateforme.

## Entretien dans le temps
Chaque nouvelle tâche ajoute sa ligne dans `taches-attendues.json` le jour même. Le rapport du matin affiche le verdict du gardien. Une fois par mois, relis les tâches `"active": false` et supprime celles qui ne reviendront pas.

## Après
Mets à jour `wiki/maps/parcours.md` et `log.md`. Note en mémoire le délai d'escalade choisi. Propose ensuite notifications-telegram si ce n'est pas fait, sinon rapport-du-matin.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.