{ "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "python ${CLAUDE_PLUGIN_ROOT}/hooks/enforce-story-context.py", "description": "Ensure workflow commands have required story context" } ] } ], "PostToolUse": [ { "matcher": "Write", "hooks": [ { "type": "command", "command": "python ${CLAUDE_PLUGIN_ROOT}/hooks/track-current-story.py", "description": "Track story file as current workflow context" } ] }, { "matcher": "Edit", "hooks": [ { "type": "command", "command": "python ${CLAUDE_PLUGIN_ROOT}/hooks/validate-story-updates.py", "description": "Validate story file updates" } ] }, { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "python ${CLAUDE_PLUGIN_ROOT}/hooks/validate-required-sections.py", "description": "Verify all required PRISM sections exist" }, { "type": "command", "command": "python ${CLAUDE_PLUGIN_ROOT}/hooks/capture-file-context-obsidian.py", "description": "Capture file changes to Obsidian memory vault" } ] }, { "matcher": "Bash", "hooks": [ { "type": "command", "command": "python ${CLAUDE_PLUGIN_ROOT}/hooks/capture-commit-context-obsidian.py", "description": "Capture git commit context to Obsidian memory vault" } ] } ] } }