Event Hooks

not-my-reforge

9 events · 49 hooks

Install
1
Install the plugin
$
npx claudepluginhub speson/not-my-reforge --plugin not-my-reforge

Want just this hook?

Add to a custom plugin, then install with one command.

Risk Indicators
Executes bash commandsModifies filesMatches all tools
Source

Defined in hooks/hooks.json

Configuration
{
  "Stop": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" swarm-gate.js",
          "timeout": 10,
          "statusMessage": "Checking Swarm state..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" pipeline-gate.js",
          "timeout": 15,
          "statusMessage": "Checking Pipeline gates..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" autopilot-gate.js",
          "timeout": 10,
          "statusMessage": "Checking Autopilot state..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" ralph-continuation.js",
          "timeout": 10,
          "statusMessage": "Checking Ralph Loop state..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" verification-gate.js",
          "timeout": 30,
          "statusMessage": "Running verification checks..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" deliverable-check.js",
          "timeout": 15,
          "statusMessage": "Verifying deliverables..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" team-shutdown.js",
          "timeout": 15,
          "statusMessage": "Checking team session..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" notify-completion.js",
          "timeout": 10,
          "statusMessage": "Sending notifications..."
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" sidebar-close.js",
          "timeout": 5
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" session-state-save.js",
          "timeout": 5,
          "statusMessage": "Saving session state..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" session-history-save.js",
          "timeout": 5,
          "statusMessage": "Saving session history..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" session-recovery.js",
          "timeout": 10,
          "statusMessage": "Preparing session recovery..."
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" shutdown-protocol.js",
          "timeout": 15
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" code-simplifier.js",
          "timeout": 15
        }
      ]
    }
  ],
  "PreCompact": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" pre-compact.js",
          "timeout": 10,
          "statusMessage": "Preserving critical context..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" ralph-compact.js",
          "timeout": 5,
          "statusMessage": "Preserving Ralph Loop state..."
        }
      ]
    }
  ],
  "PreToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" write-guard.js",
          "timeout": 10,
          "statusMessage": "Checking write safety..."
        }
      ],
      "matcher": "Write|Edit"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" non-interactive-guard.js",
          "timeout": 5,
          "statusMessage": "Checking for interactive commands..."
        }
      ],
      "matcher": "Bash"
    }
  ],
  "PostToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" comment-checker.js",
          "timeout": 10,
          "statusMessage": "Checking for AI slop comments..."
        }
      ],
      "matcher": "Write|Edit"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" edit-safety.js",
          "timeout": 10,
          "statusMessage": "Checking edit result..."
        }
      ],
      "matcher": "Edit"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" context-monitor.js",
          "timeout": 5,
          "statusMessage": "Tracking context usage..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" project-memory-posttool.js",
          "timeout": 5,
          "statusMessage": "Updating project memory..."
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" learner.js",
          "timeout": 5
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" hud-update.js",
          "timeout": 5
        }
      ],
      "matcher": "Bash|Read|Edit|Write|Glob|Grep"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" failure-tracker.js",
          "timeout": 5,
          "statusMessage": "Tracking tool outcomes..."
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" metrics-collector.js",
          "timeout": 5
        }
      ],
      "matcher": "Bash|Edit"
    },
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" trust-tracker.js",
          "timeout": 5
        }
      ],
      "matcher": "Edit|Write|Bash"
    },
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" subagent-tracker.js",
          "timeout": 5
        },
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" metrics-collector.js",
          "timeout": 5
        }
      ],
      "matcher": "Task"
    },
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" todo-tracker.js",
          "timeout": 10
        }
      ],
      "matcher": "TaskCreate|TaskUpdate|TaskList"
    }
  ],
  "SessionStart": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/ensure-tmux.sh\"",
          "timeout": 45,
          "statusMessage": "Checking tmux..."
        }
      ],
      "matcher": "startup"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" session-context.js",
          "timeout": 15,
          "statusMessage": "Loading session context..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" project-memory-session.js",
          "timeout": 10,
          "statusMessage": "Loading project memory..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" sidebar-open.js",
          "timeout": 10,
          "statusMessage": "Opening sidebar..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" directory-agent-injector.js",
          "timeout": 10,
          "statusMessage": "Scanning project structure..."
        }
      ],
      "matcher": "startup|resume"
    }
  ],
  "TeammateIdle": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" teammate-idle.js",
          "timeout": 30,
          "statusMessage": "Checking teammate changes..."
        }
      ]
    }
  ],
  "TaskCompleted": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" task-completed.js",
          "timeout": 30,
          "statusMessage": "Verifying task completion..."
        }
      ]
    }
  ],
  "UserPromptSubmit": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" shortcut-handler.js",
          "timeout": 5,
          "statusMessage": "Processing shortcut..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" cancel-handler.js",
          "timeout": 5,
          "statusMessage": "Checking for cancel..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" mode-guard.js",
          "timeout": 5,
          "statusMessage": "Checking mode conflicts..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" keyword-detector.js",
          "timeout": 5,
          "statusMessage": "Detecting omo keywords..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" ralph-init.js",
          "timeout": 5,
          "statusMessage": "Checking Ralph Loop..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" autopilot-init.js",
          "timeout": 5,
          "statusMessage": "Checking Autopilot..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" pipeline-init.js",
          "timeout": 5,
          "statusMessage": "Checking Pipeline..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" swarm-init.js",
          "timeout": 5,
          "statusMessage": "Checking Swarm..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" yolo-toggle.js",
          "timeout": 5,
          "statusMessage": "Checking yolo mode..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" intent-gate.js",
          "timeout": 5,
          "statusMessage": "Analyzing intent..."
        },
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" task-sizer.js",
          "timeout": 5,
          "statusMessage": "Analyzing task complexity..."
        }
      ]
    }
  ],
  "PermissionRequest": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/find-node.sh\" permission-bypass.js",
          "timeout": 5,
          "statusMessage": "Checking yolo mode..."
        }
      ]
    }
  ]
}
Summary
{
  "riskFlags": {
    "touchesBash": true,
    "matchAllTools": true,
    "touchesFileWrites": true
  },
  "typeStats": {
    "command": 49
  },
  "eventStats": {
    "Stop": 14,
    "PreCompact": 2,
    "PreToolUse": 2,
    "PostToolUse": 12,
    "SessionStart": 5,
    "TeammateIdle": 1,
    "TaskCompleted": 1,
    "UserPromptSubmit": 11,
    "PermissionRequest": 1
  },
  "originCounts": {
    "absolutePaths": 0,
    "pluginScripts": 49,
    "projectScripts": 0
  },
  "timeoutStats": {
    "commandsWithoutTimeout": 0
  }
}
Stats
Stars2
Forks0
Last CommitFeb 26, 2026
Actions

Similar Hooks