Hook d'activation des skills
Un hook UserPromptSubmit qui analyse chaque message, détecte les mots-clés et ajoute des suggestions d'activation de skill pour que Claude Code ne rate jamais le bon chargement.
Arrêtez de configurer. Commencez à construire.
Templates SaaS avec orchestration IA.
Problème : Tu demandes à Claude Code d'utiliser un skill, mais il ne se charge jamais. Tu déplaces la règle dans CLAUDE.md. Même résultat. Tu finis par retaper le rappel à la main à chaque fois, alors que le framework était censé s'en occuper tout seul.
Solution rapide : Un hook peut intercepter chaque prompt et ajouter les bonnes recommandations de skill à la fin. Plus d'oublis, parce que Claude n'a jamais été censé s'en souvenir.
Tu envoies "help me implement a feature" et ce qui arrive vraiment dans l'entrée de Claude, c'est ça :
help me implement a feature
SKILL ACTIVATION CHECK
CRITICAL SKILLS (REQUIRED):
-> session-management
RECOMMENDED SKILLS:
-> git-commits
ACTION: Use Skill tool BEFORE respondingClaude voit exactement quels skills charger, directement à côté de ta demande. Rien à deviner. Rien à mémoriser.
Comment ça marche
UserPromptSubmit est l'événement que le hook intercepte. Tout ce que tu soumets passe par ce flux :
- Tu tapes un message - Ta demande en langage naturel
- Le hook intercepte - Avant que Claude ne voie quoi que ce soit
- Correspondance de patterns - Le hook consulte
skill-rules.jsonpour les mots-clés et les intentions - Ajout des recommandations - Les skills qui correspondent sont ajoutés à ton message
- Claude reçoit les deux - Ton prompt plus les suggestions de skills
Tout ça se passe en quelques millisecondes. Aucun délai perceptible.
Le système de correspondance
Deux stratégies tournent en parallèle.
La correspondance par mots-clés est une vérification littérale. Tu mentionnes "commit" ou "git push" et le skill git-commits se déclenche.
Les patterns d'intention s'appuient sur les regex pour capter la façon dont les gens s'expriment vraiment. Le pattern (implement|build).*?feature capture à la fois "let's implement this feature" et "build a new feature for me".
Configuration : skill-rules.json
Les déclencheurs pour chaque skill sont dans .claude/skills/skill-rules.json :
{
"skills": {
"session-management": {
"enforcement": "suggest",
"priority": "critical",
"promptTriggers": {
"keywords": ["feature", "implement", "build", "refactor"],
"intentPatterns": ["(implement|build).*?feature"]
}
},
"git-commits": {
"enforcement": "suggest",
"priority": "high",
"promptTriggers": {
"keywords": ["commit", "git push", "commit changes"],
"intentPatterns": ["(create|make).*?commit"]
}
}
}
}Les suggestions sont regroupées par priorité :
- Critical - À charger avant tout travail
- High - Fortement recommandé
- Medium - Contexte utile
- Low - Amélioration optionnelle
Personnalisation selon ton vocabulaire
Le hook s'adapte à ton vocabulaire. Si tu tapes "push my code" plutôt que "git push", ajoute-le simplement :
"keywords": ["commit", "git push", "push my code", "commit changes"]Chaque fois que tu crées un nouveau skill, modifie ses déclencheurs dans skill-rules.json. Regarde ensuite ce que tu y as mis et laisse ces phrases guider la façon dont tu rédiges tes prompts.
Intelligence de session
Le hook se souvient de ce qu'il a déjà suggéré. Si session-management est apparu plus tôt dans la conversation, il reste silencieux la deuxième fois. Même couverture, moins de bruit.
L'état est conservé dans recommendation-log.json et se réinitialise automatiquement après 7 jours.
Configuration dans ClaudeFast
Le hook est préconfiguré. Ouvre .claude/settings.local.json et vérifie que l'un de ces deux blocs est présent :
Windows :
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "cmd /c \".claude\\hooks\\SkillActivationHook\\skill-activation-prompt.cmd\""
}
]
}
]
}
}Linux/Mac :
{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/SkillActivationHook/skill-activation-prompt.sh"
}
]
}
]
}
}Problèmes courants
Aucune suggestion n'apparaît - Tes mots-clés ne correspondent probablement pas à la façon dont tu parles vraiment. Lance le hook manuellement et observe la sortie :
echo '{"session_id":"test","prompt":"implement a feature"}' | node .claude/hooks/SkillActivationHook/skill-activation-prompt.mjsDes suggestions apparaissent quand elles ne devraient pas - Les mots-clés sont trop larges. Affine-les, ou déplace le déclencheur dans un pattern d'intention.
Suggestions en double - Le hook est branché à deux endroits en même temps. Choisis un seul fichier de settings et retire-le de l'autre.
Prochaines étapes
- Vérifie que ton
skill-rules.jsoncorrespond à ton vocabulaire - Ajoute des mots-clés pour les nouveaux skills que tu crées
- Configure le guide Hooks principal pour une couverture complète
- Configure le Stop Hook pour forcer la complétion des tâches
- Explore la configuration CLAUDE.md pour compléter le hook
- Consulte le guide des skills si tu as besoin d'en créer de nouveaux
Le hook d'activation des skills sort la mémoire humaine de l'équation. Décris le travail en langage naturel. C'est le framework qui choisit les bons skills. C'est tout l'intérêt d'en avoir un.
Arrêtez de configurer. Commencez à construire.
Templates SaaS avec orchestration IA.