Already Told You : automatiser une tâche
Travaillez une tâche à la fois, en français clair, et confirmez chaque étape avec l'utilisateur. Rien en dehors de
~/already-told-you/ n'est créé ou modifié sans un oui.
- Choisir la tâche. Lisez le plus récent
~/already-told-you/<YYYY-MM-DD>/findings.json(Glob). Aucun → "Exécutez/already-told-you:rund'abord" et arrêtez. Affichez la section D sous forme de liste numérotée : titre, heures/semaine actuelles → minutes après,howsuggéré. Utilisez$ARGUMENTSs'il nomme une tâche ; sinon demandez laquelle. - Valider la forme. Reformulez la tâche comme : déclencheur (quand / qui commence) → ce que Claude fait → ce qui en sort → où l'humain approuve. Confirmez le type d'automatisation en utilisant les options ci-dessous ; changez-le si l'utilisateur préfère. Ne demandez que ce qui manque (quel dossier, quelle application, quelle heure, où doit aller le résultat).
- Créer la compétence. Toute automatisation passe par une compétence. Si la section C en a rédigé une pour cette tâche, partez de
<rapport>/skills/<nom>/SKILL.md; sinon rédigez une nouvelle ébauche là-bas avec les mêmes règles (frontmattername+descriptionreprenant les mots de l'utilisateur ; étapes numérotées ; dernière étape = approbation). Montrez-la, améliorez-la avec l'utilisateur, puis installez-la avec l'installateur fourni, jamais en écrivant vous-même dans un dossier de compétences : demandez où (~/.claude/skills= tous les projets,${CLAUDE_PROJECT_DIR}/.claude/skills= ce projet), exécutezpython3 ${CLAUDE_PLUGIN_ROOT}/scripts/install_skill.py --check --src <rapport>/skills/<nom> --dest <dest>, et après un ouipython3 ${CLAUDE_PLUGIN_ROOT}/scripts/install_skill.py --install --src <rapport>/skills/<nom> --dest <dest>(il demande la permission et ne remplace jamais une compétence existante sans que l'utilisateur n'accepte--force). L'étape d'approbation : si la tâche envoie, publie, poste, paie ou supprime, la compétence prépare le résultat et s'arrête. Les exécutions planifiées n'ont personne à qui demander, donc dans une exécution planifiée la compétence écrit seulement un brouillon dans un dossier (ou un brouillon dans l'application, par ex. un brouillon d'email) et l'utilisateur l'approuve plus tard. Ne laissez jamais une exécution planifiée envoyer. - Connecter / planifier – seulement ce dont le type choisi a besoin :
skill + MCP: nommez la connexion d'application dont la tâche a besoin. Si elle n'est pas connectée, dites à l'utilisateur comment (claude mcp add ...depuis la documentation de l'application,/mcppour vérifier, ou un connecteur claude.ai). Ne collez jamais de secrets dans des fichiers ou le chat ; les clés API appartiennent au propre coffre-fort de l'utilisateur ou à ses variables d'environnement.planification (desktop): donnez les clics étape par étape pour l'application Claude Code Desktop → Routines → nouvelle tâche locale, avec l'invite exacte à coller (/<nom-de-la-compétence>plus tout détail), la planification, le dossier du projet, et le choix des permissions. Rappel : cela fonctionne seulement tant que l'application est ouverte et l'ordinateur éveillé.planification (routine): donnez la ligne exacte à taper, ex./schedule every Monday at 9am, run /<nom-de-la-compétence> ..., et dites qu'elle s'exécute dans le cloud sur une copie fraîche d'un dépôt GitHub avec des connecteurs – pas de fichiers locaux.planification (cron)sur macOS : remplissez le modèle launchd ci-dessous. Trouvez le chemin de claude aveccommand -v claude(demandez avant d'exécuter). Écrivez le fichier plist rempli dans~/already-told-you/automation/<label>.plistd'abord et montrez-le. Après un oui, copiez-le dans~/Library/LaunchAgents/et chargez-le aveclaunchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/<label>.plist(chaque commande demande la permission).--allowedToolsdedans doit lister seulement ce dont la tâche a besoin – jamais--dangerously-skip-permissions. Sur Linux, montrez la ligne crontab équivalente pour que l'utilisateur l'ajoute aveccrontab -e.
- Essayer une fois si l'utilisateur accepte : exécutez la compétence maintenant manuellement et montrez le brouillon produit.
- Terminer. Résumez ce qui a été configuré, où se fait l'approbation, le temps gagné (heures/semaine actuelles → minutes après, d'après le rapport), et exactement comment désactiver le tout.
Options d'automatisation (vérifié sur code.claude.com/docs, octobre 2026 – utilisez uniquement celles-ci)
Choisissez l'option la plus légère qui fait entièrement le travail. Le champ how prend une de ces valeurs : skill, skill + MCP,
schedule (desktop), schedule (routine), schedule (cron).
skill– la tâche est la même recette à chaque fois, lancée par l'utilisateur. Une compétence dans~/.claude/skills/<nom>/(tous les projets) ou<projet>/.claude/skills/<nom>/(un projet) transforme 15 minutes d'explication et de guidage en une commande/<nom>. Généralement aussi rédigée dans la section C.skill + MCP– la recette a besoin d'une autre application (email, calendrier, Notion, Slack, une base de données...). La compétence appelle cette application via un serveur MCP. L'utilisateur la connecte avecclaude mcp add ...ou/mcp, ou utilise un connecteur claude.ai. Ne nommez une application spécifique que si l'historique montre qu'elle est utilisée.schedule (desktop)– cela doit se produire à un rythme régulier et a besoin de fichiers locaux. Les tâches planifiées de bureau dans l'application Claude Code Desktop (page Routines → nouvelle tâche locale) démarrent une nouvelle session à l'heure et fréquence choisies. S'exécute sur la machine de l'utilisateur, seulement si l'application est ouverte et l'ordinateur éveillé ; les permissions sont définies par tâche.schedule (routine)– cela doit se produire à un rythme régulier et n'a pas besoin de fichiers locaux (cela fonctionne sur un dépôt GitHub ou via des connecteurs). Les Routines s'exécutent sur le cloud d'Anthropic même lorsque l'ordinateur portable est fermé ; créez-en une avec/scheduledans Claude Code (ex./schedule every Monday at 9am, ...) ou sur claude.ai/code/routines. Aperçu de recherche, plans Pro/Max/Team/Enterprise, intervalle minimum d'une heure.schedule (cron)– solution de repli sans l'application de bureau : macOSlaunchd(oucron) exécuteclaude -p "/<nom-de-la-compétence>"en mode non interactif à une heure définie, avec--allowedToolslistant seulement ce dont la tâche a besoin.
Pas une option pour une tâche récurrente : /loop et les tâches cron de session ne fonctionnent que pendant qu'une session Claude Code est ouverte,
et expirent après sept jours.
Règle d'approbation pour toute automatisation : tout ce qui envoie, publie, paie ou supprime s'arrête pour une étape d'approbation humaine (l'exécution prépare un brouillon ou un aperçu ; l'utilisateur dit oui avant que cela ne parte).
Modèle launchd (planification (cron) sur macOS)
Remplissez chaque {{...}} et enregistrez-le sous <label>.plist :
{{label}}– ex.com.already-told-you.weekly-client-update{{claude}}– chemin absolu affiché parcommand -v claude{{skill}}– le nom de la compétence installée{{tools}}– seulement ce dont la tâche a besoin, ex.Read,Write(~/drafts/**),Bash(git log *){{project}}– dossier absolu du projet dans lequel la tâche travaille{{weekday}}/{{hour}}/{{minute}}– 0 = dimanche ; heure 0-23{{home}}– le dossier personnel de l'utilisateur écrit en entier (launchd n'expand pas~)
La première ligne du fichier doit être la déclaration XML, suivie de la ligne DOCTYPE plist Apple
(PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"), puis :
<plist version="1.0">
<dict>
<key>Label</key><string>{{label}}</string>
<key>WorkingDirectory</key><string>{{project}}</string>
<key>ProgramArguments</key>
<array>
<string>{{claude}}</string>
<string>-p</string>
<string>/{{skill}} (exécution planifiée : préparer brouillons uniquement, jamais envoyer, publier, payer ou supprimer)</string>
<string>--allowedTools</string>
<string>{{tools}}</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Weekday</key><integer>{{weekday}}</integer>
<key>Hour</key><integer>{{hour}}</integer>
<key>Minute</key><integer>{{minute}}</integer>
</dict>
<key>StandardOutPath</key><string>{{home}}/already-told-you/automation/{{label}}.log</string>
<key>StandardErrorPath</key><string>{{home}}/already-told-you/automation/{{label}}.log</string>
</dict>
</plist>
Vérifiez le fichier terminé avec plutil -lint <fichier> avant de le montrer à l'utilisateur.