Skip to content

Lab 3.3 : Automatisation des Workflows ​

Module : 3.3 - Commandes Slash Personnalisées | ← SlidesDurée : 30 minutes Projet d'exemple : hackathon-starter

Objectifs d'Apprentissage ​

À la fin de ce lab, vous serez capable de :

  • Créer des commandes slash personnalisées pour votre projet
  • Utiliser le frontmatter YAML pour configurer les commandes
  • Passer des arguments aux commandes avec $ARGUMENTS et $1, $2, $3
  • Partager des commandes avec votre équipe via .claude/commands/

Prérequis ​

  • Labs des jours 1-2 complétés
  • Compréhension des bases de Claude Code
  • Familiarité avec le projet hackathon-starter

Pourquoi des Commandes Personnalisées ? ​

Votre équipe a des workflows répétitifs :

  • « Documenter ce fichier et générer des tests »
  • « Vérifier ce code pour les problèmes de sécurité »
  • « Créer un nouvel endpoint API avec des tests »

Les commandes slash personnalisées encapsulent ces workflows pour que tout le monde puisse les exécuter.

Configuration ​

bash
# Naviguer vers le projet d'exemple
cd sample-projects/hackathon-starter

# Créer le répertoire des commandes
mkdir -p .claude/commands

# Démarrer Claude Code
claude

Tâche 1 : Créer Votre Première Commande ​

Durée : 10 minutes

Créez une commande simple qui documente un fichier.

Créer le fichier : .claude/commands/document.md

markdown
---
description: Generate documentation for a file
argument-hint: <filename>
---

Analyze the file $ARGUMENTS and generate:
1. A brief description of what it does
2. JSDoc comments for all exported functions
3. A usage example

Be concise and practical.

Testez :

/document controllers/user.js

Critères de réussite :

  • [ ] Fichier de commande créé
  • [ ] La commande apparaît dans /help
  • [ ] La commande génère de la documentation lorsqu'elle est exécutée

Tâche 2 : Ajouter des Restrictions d'Outils ​

Durée : 10 minutes

Créez une commande plus sécurisée qui ne peut que lire des fichiers.

Créer : .claude/commands/explain.md

markdown
---
description: Explain code without making changes
argument-hint: <filename>
allowed-tools: Read, Glob, Grep
---

Explain what the file $ARGUMENTS does.

Include:
1. High-level purpose
2. Key functions and their roles
3. Dependencies and relationships
4. One potential improvement

Do NOT modify any files.

Testez :

/explain models/User.js

Vérifiez : Claude ne devrait que lire, pas modifier.

Critères de réussite :

  • [ ] Commande restreinte aux outils en lecture seule
  • [ ] Explication générée sans modifications

Tâche 3 : Commande Multi-Arguments ​

Durée : 10 minutes

Créez une commande qui prend plusieurs arguments.

Créer : .claude/commands/compare.md

markdown
---
description: Compare two files and explain differences
argument-hint: <file1> <file2>
allowed-tools: Read, Glob, Grep
---

Compare these two files:
- File 1: $1
- File 2: $2

Analyze:
1. Structural differences
2. Functional differences
3. Which approach is better and why

Testez :

/compare controllers/user.js controllers/api.js

Critères de réussite :

  • [ ] Les deux arguments sont passés correctement
  • [ ] Une comparaison pertinente est générée

Emplacements des Commandes ​

EmplacementPortéeCas d'utilisation
.claude/commands/ProjetWorkflows d'équipe, partagés via git
~/.claude/commands/PersonnelVos raccourcis personnels

Note

Les commandes de projet écrasent les commandes personnelles ayant le même nom.


Options du Frontmatter ​

yaml
---
description: Affiché dans /help
argument-hint: Affiché dans l'autocomplétion
allowed-tools: Restreindre les outils que Claude peut utiliser
model: Remplacer le modèle (ex : claude-sonnet-4-20250514)
---

Conseils pour Réussir ​

  1. Commencez simple - Une tâche par commande
  2. Utilisez les restrictions d'outils - Évitez les modifications non intentionnelles
  3. Documentez bien - De bonnes descriptions aident vos coéquipiers
  4. Testez minutieusement - Essayez les cas limites avant de partager

Dépannage ​

La commande n'apparaît pas :

  • Vérifiez que l'extension du fichier est .md
  • Vérifiez la syntaxe du frontmatter (pas de tabulations, délimiteurs --- corrects)
  • Redémarrez Claude Code

Les arguments ne fonctionnent pas :

  • Utilisez $ARGUMENTS pour tous les args en une seule chaîne
  • Utilisez $1, $2, $3 pour les arguments positionnels

Les restrictions d'outils sont ignorées :

  • Vérifiez l'orthographe de allowed-tools
  • Assurez-vous que les outils sont séparés par des virgules

Objectifs Avancés ​

Si vous terminez en avance :

  1. Créez une commande /new-feature qui génère le squelette d'une nouvelle fonctionnalité avec des tests
  2. Créez une commande /security-check qui audite un fichier pour les vulnérabilités
  3. Créez une commande /pr-summary qui génère des descriptions de PR

Livrables ​

À la fin de ce lab, vous devriez avoir :

  1. Au moins 2 commandes personnalisées dans .claude/commands/
  2. Une compréhension de la configuration du frontmatter
  3. De l'expérience avec le passage d'arguments
  4. Des idées pour l'automatisation des workflows d'équipe

Prochaines Étapes ​

Après avoir terminé ce lab, passez au Lab 3.4 : Intégration MCP.

Claude for Coders Training Course