Tech & Performance

Skill Claude Code : automatiser son reporting hebdo

Skill Claude Code pour le reporting hebdomadaire : fichier SKILL.md, champs de configuration, arguments, lancement avec claude -p et options de planification.

Publié le 16/10/2026Par Maxence Vanderswalmen

Le rapport hebdomadaire d'un compte publicitaire suit toujours la même procédure : mêmes requêtes, même mise en forme, mêmes règles de prudence. Coller ces consignes dans chaque conversation use du temps et laisse passer des oublis. Claude Code propose un mécanisme prévu pour cela, le skill : un fichier SKILL.md qui contient la procédure et que l'on lance avec une commande courte. Ce guide montre comment en écrire un pour un rapport Google Ads, quels champs de l'en-tête régler, comment le lancer à la main ou sans interface, et quelles options de planification la documentation décrit.

Les faits cités viennent de la documentation de Claude Code (skills, mode non interactif, planification, permissions) et de celle de Google Ads (langage de requête), consultées le 11 octobre 2026. Le skill d'exemple est notre assemblage de ces pages et de la configuration du serveur Google Ads décrite dans notre guide Claude Code pour Google Ads. Il ne vient pas d'un exemple publié par Anthropic ou par Google.

Un skill, pour quoi faire

D'après la documentation des skills, on crée un skill quand on colle sans cesse les mêmes instructions, la même liste de contrôles ou la même procédure en plusieurs étapes dans la conversation, ou quand une section de CLAUDE.md est devenue une procédure plutôt qu'un fait. Le corps d'un skill ne se charge que lorsqu'il est utilisé : un long mode d'emploi coûte presque rien tant qu'on ne l'appelle pas. Une fois chargé, son contenu reste dans la conversation pour les tours suivants.

La répartition qui en découle pour une agence : le CLAUDE.md du client porte les faits (identifiant du compte, objectif de ROAS, saisonnalité), le skill porte la procédure du rapport. Un même skill sert alors à tous les clients, et un argument désigne le client concerné.

Où ranger le fichier

EmplacementCheminOù il se charge
Personnel~/.claude/skills/<nom>/SKILL.mdTous vos projets sur cette machine
Projet.claude/skills/<nom>/SKILL.mdLes sessions de ce dépôt, partagé avec l'équipe quand le dossier est versionné
Plugin<plugin>/skills/<nom>/SKILL.mdPartout où le plugin est activé, sous la forme /plugin:nom

Le nom du dossier devient la commande, sauf si le champ name en fixe un autre. Un skill personnel convient à un poste d'analyste ; un skill de projet convient à un dépôt d'agence que toute l'équipe clone.

Les champs d'en-tête utiles pour un rapport

L'en-tête est un bloc YAML entre deux lignes ---, placé à la première ligne du fichier. Tous les champs sont facultatifs et seule la description est recommandée. La documentation avertit qu'un nom de champ doit correspondre exactement au tableau de référence : Claude Code ignore un champ qu'il ne reconnaît pas, sans message d'erreur. Une faute de frappe dans allowed-tools ne produit donc aucune alerte.

ChampCe que dit la documentation
nameNom de la commande dans le menu ; par défaut, le nom du dossier
descriptionCe que fait le skill et quand l'utiliser ; la description et when_to_use sont tronquées ensemble à 1 536 caractères dans la liste des skills
argument-hintIndication affichée à l'autocomplétion, par exemple [client]
argumentsArguments positionnels nommés, utilisables dans le texte sous la forme $nom
disable-model-invocationÀ true, Claude ne lance pas le skill de lui-même ; pour les workflows dont vous voulez choisir le moment
allowed-toolsOutils utilisables sans demande d'autorisation pendant le tour qui lance le skill ; la liste n'en retire aucun et l'autorisation s'efface au message suivant
context et agentcontext: fork exécute le skill dans un sous-agent isolé, du type désigné par agent
model, effortModèle et niveau d'effort appliqués pendant le tour du skill

Un skill de rapport hebdomadaire complet

Le fichier ci-dessous suppose le serveur Google Ads en lecture seule branché sous le nom google-ads, comme dans notre guide Claude Code. Les règles de permission des outils MCP se nomment mcp__<serveur>__<outil>, d'après la documentation des permissions.

---
name: rapport-hebdo
description: Produit le rapport hebdomadaire Google Ads d'un client depuis le serveur MCP en lecture seule. À lancer avec /rapport-hebdo suivi du nom du client.
argument-hint: [client]
arguments: [client]
disable-model-invocation: true
allowed-tools: mcp__google-ads__search Edit(rapports/**) Bash(date *)
---

Date du jour : !`date +%F`

Rédige le rapport hebdomadaire du client $client dans rapports/AAAA-MM-JJ-hebdo.md,
avec la date du jour ci-dessus.

1. Lis l'identifiant du compte et l'objectif de ROAS dans le CLAUDE.md du dossier.
2. Interroge les campagnes avec le serveur Google Ads : d'abord LAST_7_DAYS, puis les
   7 jours précédents avec BETWEEN et des dates explicites. Champs : campaign.name,
   metrics.cost_micros, metrics.clicks, metrics.conversions, metrics.conversions_value.
3. Convertis cost_micros en euros (divise par 1 000 000).
4. Écris, dans cet ordre : une phrase de synthèse, le tableau des 10 campagnes les plus
   dépensières avec l'écart sur 7 jours, les campagnes dont la valeur de conversion baisse
   alors que le coût monte, les actions à valider.
5. Si une donnée manque ou si une requête échoue, écris NA à sa place. N'estime rien.
6. Ne propose jamais d'exécuter une modification : le serveur est en lecture seule,
   liste les actions pour validation humaine.

Ce que font les lignes qui demandent un commentaire :

  • arguments: [client] déclare un argument nommé, repris dans le texte par $client. Lancer /rapport-hebdo client-a remplace $client par client-a. La documentation précise que les valeurs à plusieurs mots se mettent entre guillemets.
  • La ligne !`date +%F` utilise l'injection de contexte : Claude Code exécute la commande et remplace la ligne par sa sortie avant que Claude lise le skill. Hors mode auto, une commande injectée dont la vérification de permission ne renvoie pas « autorisé » fait échouer toute l'invocation, et la documentation conseille de la pré-approuver avec allowed-tools : d'où Bash(date *).
  • Edit(rapports/**) autorise l'écriture dans le dossier des rapports. La documentation des permissions indique que les règles de chemin se rédigent avec Edit pour les écritures de fichiers : une règle Write(chemin) est acceptée mais jamais consultée.
  • Google définit LAST_7_DAYS comme les sept derniers jours sans compter aujourd'hui, et accepte BETWEEN avec des dates au format AAAA-MM-JJ. Les montants de l'API sont exprimés en micros, et la documentation des champs de budget précise qu'un million de micros équivaut à une unité de devise : vérifiez la première conversion de cost_micros à la main.
  • Les points 5 et 6 sont des règles de prudence de notre cru : écrire NA plutôt qu'un chiffre estimé, et ne jamais proposer d'exécution. Elles s'accordent avec les règles du CLAUDE.md décrites dans le guide Claude Code, sans en dépendre.

Le lancer, à la main puis sans interface

Depuis le dossier du client, dans une session, il suffit de taper la commande en début de message :

/rapport-hebdo client-a

Placé au milieu d'une phrase, le nom du skill ne le lance pas directement : il donne à Claude la permission de l'utiliser, selon la documentation. Pour un lancement sans interface, la page sur le mode non interactif indique que les skills invoqués par l'utilisateur fonctionnent avec -p :

cd client-a
claude -p "/rapport-hebdo client-a" --max-budget-usd 2

L'option --max-budget-usd (mode -p uniquement) coupe la session quand la dépense estimée atteint le plafond ; la documentation précise que cette estimation est faite côté client et peut différer de la facture, et que la dépense peut dépasser le plafond. Sans --bare, la session charge les mêmes skills, hooks, serveurs MCP et CLAUDE.md qu'une session interactive : c'est ce qu'il faut ici, puisque le skill et le serveur Google Ads en font partie. Avec --bare, ils ne seraient pas chargés.

Planifier le rapport

La documentation de Claude Code décrit trois mécanismes de planification, avec des contraintes différentes :

MécanismeOù il tourneCe qu'il faut savoir
Routine cloudChez Anthropic, machine éteinte possibleClone neuf du dépôt, pas d'accès à vos fichiers locaux, intervalle minimal d'une heure
Tâche planifiée DesktopVotre machineAccès aux fichiers locaux, mais exécution seulement application ouverte et ordinateur éveillé
/loopVotre machine, dans une session ouverteUne tâche récurrente expire 7 jours après sa création

Trois conséquences pour notre rapport. D'abord, /loop sert au sondage rapide pendant une session. Pour un rapport de chaque lundi, l'expiration à sept jours coupe la tâche au bout d'une semaine : elle se déclenche une dernière fois puis se supprime. Ensuite, pour une tâche Desktop, un ordinateur endormi à l'heure prévue saute l'exécution ; au réveil, Desktop lance une seule exécution de rattrapage pour la dernière échéance manquée parmi les sept derniers jours. Un rapport daté du lundi peut donc sortir le mercredi, et le skill a intérêt à écrire la date du jour réelle, comme le nôtre. Enfin, une routine cloud ne lit pas votre dossier ~/.claude/skills/ et ses connecteurs se configurent par tâche : le skill d'exemple, qui dépend d'un serveur MCP local et d'un dossier de rapports local, vise la tâche Desktop ou un lancement par le planificateur de votre système avec claude -p.

Dernier point, sur l'en-tête : disable-model-invocation: true empêche aussi le skill de s'exécuter quand une tâche planifiée de Claude Code se déclenche avec ce skill comme prompt. Si vous planifiez via /loop en désignant le skill, retirez ce champ ou recopiez la procédure dans la tâche. Un lancement par claude -p "/rapport-hebdo client-a" depuis le planificateur de votre système reste une invocation de l'utilisateur.

Tester le skill et corriger ses défauts

  • Un en-tête YAML mal formé n'empêche pas le skill de se charger : il s'exécute avec des métadonnées vides, donc sans allowed-tools. La commande claude plugin validate .claude/skills (ou ~/.claude/skills pour les skills personnels) repère les fichiers dont l'en-tête ne s'analyse pas, à partir de Claude Code v2.1.233.
  • Si Claude cesse de suivre une consigne en cours de session, la documentation explique que le contenu du skill est ajouté à la conversation une seule fois, sans relecture du fichier, et qu'après un compactage de la conversation seul le début du skill est conservé. Elle conseille de mettre les consignes essentielles en haut du fichier, et de confier à un hook toute règle qui doit être respectée à chaque fois.
  • Comparez les premiers rapports aux chiffres de l'interface Google Ads avant de les envoyer à un client : conversion des micros, plage de dates et regroupement des conversions se vérifient une première fois à la main. Nos articles sur le reporting automatisé et sur le workflow de pilotage détaillent la lecture business qui reste humaine.

Les garde-fous

  • La documentation des skills prévient que Claude Code applique le champ allowed-tools d'un skill de projet même dans une exécution -p lancée dans un dossier que vous n'avez jamais approuvé. Relisez l'en-tête des skills d'un dépôt avant d'y lancer Claude Code.
  • Limitez allowed-tools à ce que la procédure exige : ici la lecture Google Ads, l'écriture dans un dossier et une commande de date. Les règles de refus et de demande priment sur ce champ.
  • Le serveur Google Ads officiel est en lecture seule dans sa version actuelle d'après Google : le skill ne peut donc pas modifier de campagne, et la consigne 6 le rappelle à Claude.
  • Les données d'un client circulent vers Claude : vérifiez que votre contrat l'autorise.

Par où commencer

  1. Brancher le serveur Google Ads en lecture seule et valider une requête à la main, en suivant le guide Claude Code. Pour Claude Desktop, voir le setup du Google Ads MCP.
  2. Créer ~/.claude/skills/rapport-hebdo/SKILL.md avec l'exemple ci-dessus, adapté à vos clients.
  3. Lancer /rapport-hebdo dans le dossier d'un client et comparer chaque chiffre à l'interface.
  4. Ajuster le texte du skill jusqu'à trois rapports consécutifs justes.
  5. Seulement ensuite, planifier le lancement avec claude -p ou une tâche Desktop.

Questions fréquentes sur les skills Claude Code

Quelle différence entre un skill et un fichier CLAUDE.md ?

D’après la documentation de Claude Code, le corps d’un skill ne se charge que lorsqu’il est utilisé, alors que le contenu d’un CLAUDE.md est présent à chaque session. La documentation conseille de créer un skill quand une section de CLAUDE.md est devenue une procédure plutôt qu’un fait. Les faits du client (identifiant de compte, objectif de ROAS) restent dans son CLAUDE.md, la procédure du rapport va dans le skill.

Peut-on empêcher Claude de lancer le skill de lui-même ?

Oui, avec disable-model-invocation: true dans l’en-tête du fichier. Claude ne charge alors pas le skill de sa propre initiative et vous le lancez en tapant son nom précédé d’une barre oblique. La documentation recommande ce réglage pour les workflows dont vous voulez maîtriser le moment. Il empêche aussi le skill de s’exécuter quand une tâche planifiée de Claude Code se déclenche avec ce skill comme prompt.

Comment lancer un skill depuis un script ?

En mode non interactif, les skills invoqués par l’utilisateur fonctionnent : on écrit leur nom précédé d’une barre oblique dans la chaîne passée à claude -p, et Claude Code le développe avant l’exécution. Les commandes intégrées réservées à l’interface du terminal, comme /login, ne sont pas disponibles dans ce mode.

Un skill rangé dans mon dossier personnel fonctionne-t-il dans une routine cloud ?

Non. Les routines et les sessions cloud ne lisent pas le dossier ~/.claude/skills/ de votre machine, et Claude Code signale que le skill est introuvable quand une routine l’invoque. La documentation propose d’activer le skill pour votre compte claude.ai ou de le versionner dans le dépôt, sous .claude/skills/, que les sessions cloud clonent. L’envoi vers claude.ai n’accepte que les champs name, description, license, compatibility, metadata et allowed-tools : notre exemple, qui utilise aussi argument-hint, arguments et disable-model-invocation, y serait refusé.

Sources consultées le 11 octobre 2026

Pour aller plus loin sur Claude et la publicité en ligne : skills Claude pour le marketing, Claude Code pour Google Ads, Claude et Google Tag Manager, MCP GA4. Pour un audit de vos campagnes, consultez notre audit Google Ads.

Un rapport automatique sur un compte qu'on comprend

Un skill met les chiffres en page chaque semaine. Le diagnostic vérifie d'abord que ces chiffres reflètent la marge et la structure réelles du compte.

Demander un diagnostic Google Ads