Dezvoltarea Hook-urilor pentru Plugin-uri Claude Code
Ce face
Skill-ul hook-development te ajută să creezi hook-uri event-driven pentru Claude Code. Acestea rulează automat la evenimente precum PreToolUse, PostToolUse, Stop, SessionStart sau UserPromptSubmit. Poți valida tool-uri înainte de execuție, bloca comenzi periculoase sau adăuga context dinamic. Versiunea curentă (0.1.0) pune accent pe hook-urile bazate pe prompt (LLM-driven), care iau decizii contextuale fără scripturi bash complicate.
Când îmi folosește
Îl folosești când vrei să „create a hook”, „add a PreToolUse hook”, „validate tool use”, „block dangerous commands” sau „implement prompt-based hooks”. E util pentru automation zilnic: verifici calitatea codului, integrezi tool-uri externe sau încarci context la început de sesiune. Hook-urile prompt-based sunt recomandate pentru edge-case-uri, iar cele command-based pentru verificări rapide și deterministe.
Cum îl invoc / declanșez
Skill-ul se activează automat când menționezi termeni ca „create a hook”, „${CLAUDE_PLUGIN_ROOT}”, „PreToolUse”, „prompt-based hooks” sau „event-driven automation”. Pentru detalii exacte de invocare verifică doctrina pentru detalii exacte. Configurezi hook-urile în hooks/hooks.json (format plugin cu wrapper „hooks”) sau direct în .claude/settings.json (format settings fără wrapper).
Exemplu practic
Vrei să validezi scrieri de fișiere. În hooks/hooks.json adaugi:
{
"description": "Validation hooks for code quality",
"hooks": {
"PreToolUse": [
{
"matcher": "Write",
"hooks": [
{
"type": "prompt",
"prompt": "Evaluate if this tool use is appropriate: $TOOL_INPUT",
"timeout": 30
}
]
}
]
}
}Hook-ul prompt-based analizează input-ul și decide dacă permite operația.
Output / unde aterizează
Hook-urile se salvează în structura plugin-ului (de obicei hooks/hooks.json) sau în settings-urile utilizatorului. Rezultatele apar ca decizii de validare, mesaje de eroare sau acțiuni automate. Pentru hook-uri command-based, scripturile bash din ${CLAUDE_PLUGIN_ROOT}/hooks/ rulează și returnează output-ul direct în fluxul Claude Code.
Limite / gotchas
Hook-urile prompt-based suportă doar Stop, SubagentStop, UserPromptSubmit și PreToolUse. Timeout-urile implicite (30s pentru prompt, 60s pentru command) pot fi ajustate, dar depășirea lor anulează hook-ul. Formatul plugin cere wrapper-ul „hooks”, iar cel de settings nu. Nu uita că descrierea din JSON e opțională. Pentru scenarii complexe sau integrări externe, testarea manuală rămâne obligatorie. Vezi All guides pentru alte skill-uri daily.