npx claudepluginhub ancplua/ancplua-claude-plugins --plugin qylDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/stop-judge",
"timeout": 35,
"statusMessage": "Evaluating continuation..."
}
]
}
],
"PreToolUse": [
{
"if": "Edit(*.cs) || Write(*.cs) || Edit(*.csproj) || Write(*.csproj)",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/block-dead-api",
"timeout": 5,
"statusMessage": "Checking for dead MAF API usage..."
}
],
"matcher": "Write|Edit"
}
],
"SessionStart": [
{
"once": true,
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/inject-ground-truth",
"timeout": 5,
"statusMessage": "Loading qyl ground truth..."
}
]
}
]
}"Runs shell scripts on SessionStart (startup/resume/clear/compact), PreToolUse for Edit (timeout 5s), and Stop (timeout 10s). Involves file writes but no bash execution."