/plugin marketplace add flight505/flight505-marketplace/plugin install sdk-bridge@flight505-pluginsDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/cleanup-on-stop.sh",
"timeout": 5
}
],
"matcher": "*"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "prompt",
"prompt": "Check if SDK Bridge completed while user was away. Only act if .claude/sdk_complete.json exists AND .claude/sdk-bridge.local.md exists (SDK Bridge project). If both exist: (1) Parse .claude/sdk_complete.json for reason and session_count, (2) Parse feature_list.json to count total features and passing features, (3) Calculate completion percentage, (4) Create a RICH, VISUALLY APPEALING completion notification with: ๐ header, completion reason, session count, feature progress with visual bar (use โโโโโ blocks), estimated time saved if parallel mode, and clear call-to-action to run /sdk-bridge:resume. Use emojis, visual separators (โโโ), and formatting to make it welcoming and informative. If files don't exist, return empty systemMessage.",
"timeout": 15
}
],
"matcher": "*"
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "prompt",
"prompt": "Analyze user prompt for SDK Bridge context. Only respond if question is SDK Bridge-related. Check for these patterns: (1) 'how do I start' or 'getting started' โ suggest /sdk-bridge:start for guided setup, (2) 'what's the status' or 'check progress' โ suggest /sdk-bridge:watch for live updates or /sdk-bridge:status, (3) 'taking too long' or 'slow' โ explain hybrid loops reduce retries, suggest checking .claude/sdk-bridge.log for activity, (4) 'is it done' or 'finished' โ check if .claude/sdk_complete.json exists and guide accordingly, (5) 'how to cancel' or 'stop' โ explain /sdk-bridge:cancel, (6) 'errors' or 'failed' โ suggest /sdk-bridge:resume to see detailed status. Provide helpful, concise guidance. If NOT SDK Bridge-related, return empty systemMessage.",
"timeout": 10
}
],
"matcher": "*"
}
]
}{
"riskFlags": {
"touchesBash": false,
"matchAllTools": false,
"touchesFileWrites": false
},
"typeStats": {
"prompt": 2,
"command": 1
},
"eventStats": {
"Stop": 1,
"SessionStart": 1,
"UserPromptSubmit": 1
},
"originCounts": {
"absolutePaths": 0,
"pluginScripts": 1,
"projectScripts": 0
},
"timeoutStats": {
"commandsWithoutTimeout": 0
}
}