Event Hooks
Community

aura-frog

9 events · 28 hooks

Install
1
Install the plugin
$
npx claudepluginhub nguyenthienthanh/aura-frog --plugin aura-frog

Want just this hook?

Then install: npx claudepluginhub u/[userId]/[slug]

Risk Indicators
Executes bash commandsModifies files
Source

Defined in hooks/hooks.json

Configuration
{
  "Stop": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/compact-handoff.cjs\" 2>&1"
        },
        {
          "type": "command",
          "async": true,
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/session-metrics.cjs\" 2>&1"
        }
      ]
    }
  ],
  "PreCompact": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/compact-handoff.cjs\" --pre-compact 2>&1"
        }
      ]
    }
  ],
  "PreToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scout-block.cjs\""
        }
      ],
      "matcher": "Bash|Read|Write|Edit|Glob|Grep"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qE '(rm -rf /|mkfs|dd if=|:(){|fork|shutdown|reboot|halt)'; then echo '⚠️ Blocked: Potentially destructive command detected' >&2; exit 2; fi"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/commit-attribution.cjs\""
        }
      ],
      "matcher": "Bash"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "if [ ! -f .claude/project-contexts/*/project-config.yaml ]; then echo '💡 Reminder: Run project:init to create project context before generating code' >&2; fi"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/security-critical-warn.cjs\""
        }
      ],
      "matcher": "Write|Edit"
    }
  ],
  "PostToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "if [ -d .claude/logs/workflows ]; then echo \"[$(date '+%Y-%m-%d %H:%M:%S')] Bash: $CLAUDE_TOOL_INPUT\" >> .claude/logs/workflows/commands.log; fi"
        },
        {
          "type": "command",
          "async": true,
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/smart-learn.cjs\" 2>&1"
        }
      ],
      "matcher": "Bash"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "if [ -n \"$CLAUDE_FILE_PATHS\" ] && [ -f \"$CLAUDE_FILE_PATHS\" ]; then FILE_LINES=$(wc -l < \"$CLAUDE_FILE_PATHS\" 2>/dev/null || echo 0); if [ \"$FILE_LINES\" -gt 500 ]; then echo \"📄 Large file ($FILE_LINES lines). Consider using response-analyzer skill for chunked reading.\" >&2; fi; fi"
        }
      ],
      "matcher": "Read"
    },
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/feedback-capture.cjs\" 2>&1"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/lint-autofix.cjs\" 2>&1"
        },
        {
          "type": "command",
          "async": true,
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/security-scan.cjs\""
        },
        {
          "type": "command",
          "async": true,
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/auto-test-runner.cjs\""
        },
        {
          "type": "command",
          "async": true,
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/smart-learn.cjs\" 2>&1"
        }
      ],
      "matcher": "Write|Edit"
    },
    {
      "hooks": [
        {
          "type": "command",
          "async": true,
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/token-tracker.cjs\""
        }
      ],
      "matcher": "Bash|Read|Write|Edit|Glob|Grep|Task"
    }
  ],
  "SessionStart": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/session-start.cjs\" 2>&1"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/visual-pixel-init.cjs\" 2>&1"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/firebase-cleanup.cjs\" 2>&1"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/workflow-edit-learn.cjs\" 2>&1"
        },
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/compact-handoff.cjs\" --resume 2>&1"
        }
      ]
    }
  ],
  "TeammateIdle": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/teammate-idle.cjs\""
        }
      ],
      "matcher": "*"
    }
  ],
  "SubagentStart": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/subagent-init.cjs\""
        }
      ],
      "matcher": "*"
    }
  ],
  "TaskCompleted": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/task-completed.cjs\""
        }
      ],
      "matcher": "*"
    }
  ],
  "UserPromptSubmit": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/prompt-reminder.cjs\""
        },
        {
          "type": "command",
          "async": true,
          "command": "if [ -f .envrc ]; then set -a; source .envrc 2>/dev/null; set +a; fi; node \"${CLAUDE_PLUGIN_ROOT}/hooks/auto-learn.cjs\" 2>&1"
        },
        {
          "type": "command",
          "async": true,
          "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scope-drift.cjs\""
        }
      ]
    }
  ]
}
Summary
{
  "riskFlags": {
    "touchesBash": true,
    "matchAllTools": false,
    "touchesFileWrites": true
  },
  "typeStats": {
    "command": 28
  },
  "eventStats": {
    "Stop": 2,
    "PreCompact": 1,
    "PreToolUse": 5,
    "PostToolUse": 9,
    "SessionStart": 5,
    "TeammateIdle": 1,
    "SubagentStart": 1,
    "TaskCompleted": 1,
    "UserPromptSubmit": 3
  },
  "originCounts": {
    "absolutePaths": 0,
    "pluginScripts": 24,
    "projectScripts": 0
  },
  "timeoutStats": {
    "commandsWithoutTimeout": 28
  }
}
Stats
Stars9
Forks2
Last CommitFeb 27, 2026

Similar Hooks