{
  "description": "Resolves host-native user and project instructions before injecting scoped context, persisting attention and checkpoints, rechecking rights, and protecting sources.",
  "hooks": {
    "SessionStart": [
      {
        "matcher": "startup|resume|clear|compact",
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "^(?:Edit|Write|apply_patch|Bash|PowerShell|mcp__(?:plugin_agent-spine_agent-spine|agent-spine)__session_timeline_(?:index|search|capture))$",
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ],
    "PostToolUse": [
      {
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\" --silent-oversize-post-tool-use", "timeout": 15 }]
      }
    ],
    "PreCompact": [
      {
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ],
    "PostCompact": [
      {
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ],
    "Stop": [
      {
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ],
    "SubagentStop": [
      {
        "hooks": [{ "type": "command", "command": "node \"${PLUGIN_ROOT}/src/hook.js\"", "timeout": 15 }]
      }
    ]
  }
}
