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
# 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
claudeTâ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
---
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.jsCritè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
---
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.jsVé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
---
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 whyTestez :
/compare controllers/user.js controllers/api.jsCritères de réussite :
- [ ] Les deux arguments sont passés correctement
- [ ] Une comparaison pertinente est générée
Emplacements des Commandes
| Emplacement | Portée | Cas d'utilisation |
|---|---|---|
.claude/commands/ | Projet | Workflows d'équipe, partagés via git |
~/.claude/commands/ | Personnel | Vos raccourcis personnels |
Note
Les commandes de projet écrasent les commandes personnelles ayant le même nom.
Options du Frontmatter
---
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
- Commencez simple - Une tâche par commande
- Utilisez les restrictions d'outils - Évitez les modifications non intentionnelles
- Documentez bien - De bonnes descriptions aident vos coéquipiers
- 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
$ARGUMENTSpour tous les args en une seule chaîne - Utilisez
$1,$2,$3pour 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 :
- Créez une commande
/new-featurequi génère le squelette d'une nouvelle fonctionnalité avec des tests - Créez une commande
/security-checkqui audite un fichier pour les vulnérabilités - Créez une commande
/pr-summaryqui génère des descriptions de PR
Livrables
À la fin de ce lab, vous devriez avoir :
- Au moins 2 commandes personnalisées dans
.claude/commands/ - Une compréhension de la configuration du frontmatter
- De l'expérience avec le passage d'arguments
- 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.