npx claudepluginhub ancplua/ancplua-claude-plugins --plugin hookifyDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"async": true,
"command": "${CLAUDE_PLUGIN_ROOT}/bin/hookify-stop",
"timeout": 10,
"statusMessage": "Running stop hookify rules..."
}
]
}
],
"PreToolUse": [
{
"if": "Bash || Edit || Write || MultiEdit",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/hookify-pretooluse",
"timeout": 10,
"statusMessage": "Checking hookify rules..."
}
],
"matcher": "Bash|Edit|Write|MultiEdit"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"async": true,
"command": "${CLAUDE_PLUGIN_ROOT}/bin/hookify-posttooluse",
"timeout": 10,
"statusMessage": "Running post-action hookify rules..."
}
],
"matcher": "Bash|Edit|Write|MultiEdit"
}
],
"StopFailure": [
{
"hooks": [
{
"type": "command",
"async": true,
"command": "${CLAUDE_PLUGIN_ROOT}/bin/hookify-stopfailure",
"timeout": 10,
"statusMessage": "Processing API failure..."
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/hookify-userpromptsubmit",
"timeout": 10,
"statusMessage": "Checking prompt hookify rules..."
}
]
}
]
}"{\"riskFlags\": {\"touchesBash\": true, \"matchAllTools\": false, \"touchesFileWrites\": true}, \"typeStats\": {\"command\": 5}, \"eventStats\": {\"Stop\": 1, \"PreToolUse\": 1, \"PostToolUse\": 1, \"StopFailure\": 1, \"UserPromptSubmit\": 1}, \"originCounts\": {\"absolutePaths\": 0, \"pluginScripts\": 5, \"projectScripts\": 0}, \"timeoutStats\": {\"commandsWithoutTimeout\": 0}}"