Check and install dependencies for itp-hooks (silent failure detection + fake-data-guard)
Installs and verifies dependencies for itp-hooks plugin with silent failure detection.
/plugin marketplace add terrylica/cc-skills/plugin install itp-hooks@cc-skills[--install|--check]Verify and install dependencies for the itp-hooks plugin:
Run dependency check:
/usr/bin/env bash << 'SETUP_EOF'
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/itp-hooks}"
bash "$PLUGIN_DIR/scripts/install-dependencies.sh" --check
SETUP_EOF
/usr/bin/env bash << 'CHECK_EOF'
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/itp-hooks}"
bash "$PLUGIN_DIR/scripts/install-dependencies.sh" --check
CHECK_EOF
After running the check, present the findings to the user:
| Tool | Status | Purpose |
|---|---|---|
| jq | ? | Required for hook I/O |
| bun/node | ? | Required for fake-data-guard |
| ruff | ? | Python silent failure rules |
| shellcheck | ? | Shell script analysis |
| oxlint | ? | JavaScript/TypeScript linting |
If optional linters are missing, use AskUserQuestion:
question: "Install optional linters for full silent failure detection coverage?"
header: "Linters"
options:
- label: "Install all"
description: "Install ruff, shellcheck, and oxlint for Python, Shell, and JS/TS coverage"
- label: "Skip"
description: "Continue with graceful degradation (detection only for installed linters)"
/usr/bin/env bash << 'INSTALL_EOF'
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/itp-hooks}"
bash "$PLUGIN_DIR/scripts/install-dependencies.sh" --install
INSTALL_EOF
| Flag | Behavior |
|---|---|
| (none) | Check dependencies, show status |
--check | Same as default |
--install | Check then install all missing tools |
The hooks work with graceful degradation:
| Tool Missing | Effect |
|---|---|
| bun/node | Fake-data-guard hook fails |
| ruff | Python files skip silent failure check |
| shellcheck | Shell scripts skip analysis |
| oxlint | JS/TS files skip linting |
| jq | All hooks fail (required for JSON I/O) |
After setup, install the hooks to your settings:
/itp:hooks install
IMPORTANT: Restart Claude Code session for hooks to take effect.