Stats
Actions
Tags
From oberskills
Runs a shell script on session start to initialize the plugin environment. Executes bash commands.
1 event · 2 hooks
Where this hook configuration is defined
Defined inline in plugin.json manifest
Event handlers and matchers — expand Raw Configuration for the full JSON
command -v bun >/dev/null 2>&1 || exit 0; diff -q "${CLAUDE_PLUGIN_ROOT}/mcp/package.json" "${CLAUDE_PLUGIN_DATA}/package.json" >/dev/null 2>&1 || (mkdir -p "${CLAUDE_PLUGIN_DATA}" && cp "${CLAUDE_PLUGIN_ROOT}/mcp/package.json" "${CLAUDE_PLUGIN_DATA}/package.json" && { cp "${CLAUDE_PLUGIN_ROOT}/mcp/bun.lock" "${CLAUDE_PLUGIN_DATA}/bun.lock" 2>/dev/null || true; } && cd "${CLAUDE_PLUGIN_DATA}" && bun install --silent) || rm -f "${CLAUDE_PLUGIN_DATA}/package.json"; { [ -e "${CLAUDE_PLUGIN_ROOT}/mcp/node_modules" ] && [ ! -L "${CLAUDE_PLUGIN_ROOT}/mcp/node_modules" ]; } || ln -sfn "${CLAUDE_PLUGIN_DATA}/node_modules" "${CLAUDE_PLUGIN_ROOT}/mcp/node_modules"command -v bun >/dev/null 2>&1 || exit 0; diff -q "${CLAUDE_PLUGIN_ROOT}/mcp-browser/package.json" "${CLAUDE_PLUGIN_DATA}/mcp-browser/package.json" >/dev/null 2>&1 || (mkdir -p "${CLAUDE_PLUGIN_DATA}/mcp-browser" && cp "${CLAUDE_PLUGIN_ROOT}/mcp-browser/package.json" "${CLAUDE_PLUGIN_DATA}/mcp-browser/package.json" && { cp "${CLAUDE_PLUGIN_ROOT}/mcp-browser/bun.lock" "${CLAUDE_PLUGIN_DATA}/mcp-browser/bun.lock" 2>/dev/null || true; } && cd "${CLAUDE_PLUGIN_DATA}/mcp-browser" && bun install --silent) || rm -f "${CLAUDE_PLUGIN_DATA}/mcp-browser/package.json"; { [ -e "${CLAUDE_PLUGIN_ROOT}/mcp-browser/node_modules" ] && [ ! -L "${CLAUDE_PLUGIN_ROOT}/mcp-browser/node_modules" ]; } || ln -sfn "${CLAUDE_PLUGIN_DATA}/mcp-browser/node_modules" "${CLAUDE_PLUGIN_ROOT}/mcp-browser/node_modules"npx claudepluginhub ryanthedev/oberskills1.9Kplugins reuse this hooks config
First indexed Nov 28, 2025
Showing the 6 earliest of 1.9K plugins