Page:
unnamed
Pages
Change V5.4.0: Multi-Model Agent Support Proposal
Change V5.4.0: Multi-Model Support (Sprint 7 Implementation)
Change V04.1.0: Proposal (Implementation 1)
Change V04.1.0: Proposal
Change-V5.2.0:-Plugin-Enhancements-(Sprint-4-Commands)
Change-V5.2.0:-Plugin-Enhancements-(Sprint-5-Documentation)
Change-V5.2.0:-Plugin-Enhancements-Proposal.-
Change-V5.5.0:-Hook-Efficiency-Quick-Wins-(Sprint-8-Implementation)
Change-V5.6.0:-Domain-Advisory-Pattern-(Sprint-9-Implementation).-
Change V5.6.0: Domain Advisory Pattern Proposal
Change-V5.7.0:-Data-Platform-Domain-Advisory-(Sprint-10-Implementation)
RFC-Hook-Efficiency-Improvements
RFC-Perf-Sentinel-Plugin
Sprint-1-viz-platform-Implementation-Plan
branding/header-templates
branding/plugin-registry
branding/progress-templates
branding/visual-spec
lessons/patterns/agent-model-field-not-supported-by-claude-code
lessons/patterns/command-frontmatter-missing-name-field-causes-silent-load-failure
lessons/patterns/hook-message-wording-affects-claude-continuation-behavior
lessons/patterns/mcp-venv-symlinks-lost-on-marketplace-update---5-hour-debug-loop
lessons/patterns/mcp_servers-field-in-pluginjson---another-failed-debug-theory
lessons/patterns/plugin-hooks-must-be-in-separate-file-not-inline
lessons/patterns/plugin-load-errors---missing-name-field-in-command-frontmatter
lessons/patterns/plugin-load-failure---check-command-frontmatter-first
lessons/patterns/plugin-manifest-validation---hooks-and-agents-format-requirements
lessons/patterns/plugin-version-mismatch-causes-silent-load-failure
lessons/patterns/reset-pandas-index-after-filtering-to-prevent-column-pollution
lessons/patterns/session-2026-02-02---mcp-server-venv-package-installation-failures
lessons/patterns/setup-wizard-url-format-mismatch
lessons/patterns/sprint-4---new-commands-not-discoverable-until-session-restart
lessons/patterns/startup-hooks-must-check-venv-cache-path-first
lessons/patterns/sync-entire-plugin-directory-not-individual-files
lessons/patterns/use-fixes-n-keyword-for-automatic-issue-closing-in-prs
lessons/sprints/cache-clearing-breaks-mcp-tools-mid-session
lessons/sprints/sprint-1---viz-platform-plugin-implementation
lessons/sprints/sprint-10---domain-advisory-pattern-replication-success
lessons/sprints/sprint-2---contract-validator-plugin-implementation
lessons/sprints/sprint-3---agent-runaway-detection-and-timeout-handling
lessons/sprints/sprint-3---background-agent-permissions-must-be-pre-granted
lessons/sprints/sprint-3---mcp-server-branch-detection-bug-runs-from-installed-dir
lessons/sprints/sprint-4---plugin-commands-implementation
lessons/sprints/sprint-6---visual-branding-and-documentation-maintenance
lessons/sprints/sprint-8---parallel-hook-optimization-success
lessons/sprints/v400-release---wiki-workflow-and-versioning-patterns
lessons/sprints/versioning-workflow---use-unreleased-and-release-script
lessons-learned/sprints/hook-efficiency-rfc
unnamed
Clone
8
unnamed
Leo Miranda edited this page 2026-01-27 21:58:35 +00:00
Type: Change Proposal Implementation Version: V5.2.0 Status: In Progress Date: 2026-01-27 Origin: V5.2.0 Plugin Enhancements Proposal Sprint: Sprint 3 Milestone: Sprint 3 - Hooks
Sprint 3: Hooks Implementation
This sprint focuses on implementing 6 foundational hooks across 4 plugins. These hooks provide enforcement, validation, and detection capabilities that other features may depend on.
Sprint Goals
- Implement commit message enforcement for conventional commits
- Implement branch naming validation
- Add intelligent prompt vagueness detection
- Add schema change detection for data pipelines
- Add smart contract validation on session start
- Implement breaking change detection for plugin interfaces
Issues
| # | Plugin | Title | Priority | Complexity |
|---|---|---|---|---|
| #225 | git-flow | Commit enforcement hook | High | Medium |
| #226 | git-flow | Branch name validation hook | High | Medium |
| #227 | clarity-assist | Auto-suggest hook | Medium | Medium |
| #228 | data-platform | Schema diff detection hook | Medium | Complex |
| #229 | contract-validator | SessionStart auto-validate hook | High | Medium |
| #230 | contract-validator | Breaking change detection | High | Complex |
Dependencies
#229 (SessionStart auto-validate) --> #230 (Breaking change detection)
#225, #226, #227, #228 are independent and can be done in parallel
Technical Architecture
Hook Implementation Pattern
CRITICAL LESSON LEARNED: All hooks must be defined in hooks/hooks.json, NOT inline in plugin.json.
plugins/{name}/
hooks/
hooks.json <-- Hook definitions (auto-discovered)
*.sh <-- Shell scripts for command-type hooks
Hook Event Types for This Sprint
| Hook | Event | Tool Filter | Behavior |
|---|---|---|---|
| Commit enforcement | PreToolUse |
Bash (git commit) | Block if invalid format |
| Branch validation | PreToolUse |
Bash (git checkout -b) | Block if invalid name |
| Auto-suggest | UserPromptSubmit |
N/A | Suggest /clarity-assist |
| Schema diff | PostToolUse |
Edit (schema files) | Warn on breaking changes |
| Auto-validate | SessionStart |
N/A | Run if files changed |
| Breaking change | PostToolUse |
Edit (plugin interfaces) | Warn on breaks |
Acceptance Criteria
All Hooks
- Hook defined in
hooks/hooks.json(NOT plugin.json) - Shell script tested independently
- Hook fires on correct event
- Non-blocking behavior where appropriate (warnings vs errors)
- Documentation updated in plugin README
Lessons Applied
- Plugin Hooks Must Be in Separate File - All hooks in
hooks/hooks.json - Test Assertions Match API - Write tests alongside implementation
- Each Issue Gets Feature Branch - Follow
feat/{issue-number}-descriptionpattern