From configure-plugin
Configures SessionStart hook to install missing tools (helm, terraform, tflint, actionlint, gitleaks, just, pre-commit) for Claude Code web sessions when pre-commit hooks or justfile recipes fail due to absent infrastructure tools.
npx claudepluginhub laurigates/claude-plugins --plugin configure-pluginThis skill is limited to using the following tools:
Check and configure a `SessionStart` hook that installs missing tools when
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Check and configure a SessionStart hook that installs missing tools when
Claude Code runs on the web.
| Use this skill when... | Use another approach when... |
|---|---|
| Pre-commit hooks fail in remote sessions (tool not found) | Project has no infrastructure tooling (plain npm/pip is enough) |
just recipes fail because just, helm, terraform, or similar are absent | Tools are already available in the base image (check with check-tools) |
| Setting up a new repo for unattended Claude Code on the web tasks | Only need to set env vars — use environment variables in the web UI instead |
Auditing whether scripts/install_pkgs.sh is current and idempotent | Debugging a specific hook failure — fix the hook itself first |
| Onboarding a repo to Claude Code on the web for the first time | Project uses only standard language runtimes (python, node, go, rust) |
find . -name 'install_pkgs.sh' -path '*/scripts/*'find . -maxdepth 3 -name 'settings.json' -path '*/.claude/*'find . -maxdepth 1 -name '.pre-commit-config.yaml'find . -maxdepth 1 \( -name 'justfile' -o -name 'Justfile' \)find . -maxdepth 3 -name 'Chart.yaml' -print -quitfind . -maxdepth 3 \( -name '*.tf' -o -type d -name 'terraform' \) -print -quitParse from $ARGUMENTS:
--check-only: Report current state without creating or modifying files--fix: Apply all changes automatically without prompting--tools <list>: Comma-separated list of tool names to install (overrides auto-detection)
helm, terraform, tflint, actionlint, helm-docs, gitleaks, just, pre-commitExecute this web-session dependency setup:
Auto-detect which tools are needed from project signals:
| Signal | Tools needed |
|---|---|
.pre-commit-config.yaml contains gitleaks | gitleaks, pre-commit |
.pre-commit-config.yaml contains actionlint | actionlint, pre-commit |
.pre-commit-config.yaml contains tflint | tflint, pre-commit |
.pre-commit-config.yaml contains helm | helm, helm-docs, pre-commit |
Chart.yaml exists anywhere | helm, helm-docs |
*.tf or terraform/ directory exists | terraform, tflint |
Justfile or justfile exists | just |
--tools flag provided | Use that list exactly |
| Any pre-commit hook present | pre-commit |
.claude/settings.json if it existsSessionStart hook that references install_pkgs.shscripts/install_pkgs.sh for completeness — verify each detected tool has an install blockReport current status:
| Item | Status |
|---|---|
scripts/install_pkgs.sh exists | EXISTS / MISSING |
SessionStart hook configured | CONFIGURED / MISSING |
| Tools covered in install script | List each: PRESENT / ABSENT |
If --check-only is set, stop here and print the report.
For each tool that needs to be installed, pin versions to match .pre-commit-config.yaml rev values where applicable. For tools not in pre-commit, use latest stable. Use this reference:
| Tool | Install method | Version source |
|---|---|---|
pre-commit | pip install pre-commit | latest |
helm | Official get-helm-3 script from raw.githubusercontent.com | latest stable |
terraform | Binary from releases.hashicorp.com (.zip) | Pin to .pre-commit-config.yaml rev or latest |
tflint | GitHub release binary (.zip) | Pin to .pre-commit-config.yaml rev |
actionlint | GitHub release binary (.tar.gz) | Pin to .pre-commit-config.yaml rev |
helm-docs | GitHub release binary (.tar.gz) | Pin to .pre-commit-config.yaml rev |
gitleaks | GitHub release binary (.tar.gz) | Pin to .pre-commit-config.yaml rev |
just | GitHub release binary (.tar.gz) | latest stable |
All download sources are compatible with the "Limited" network allowlist (github.com, releases.hashicorp.com, raw.githubusercontent.com, pypi.org).
scripts/install_pkgs.shCreate scripts/install_pkgs.sh with:
Remote guard — exit immediately if not in a remote session:
if [ "${CLAUDE_CODE_REMOTE:-}" != "true" ]; then
exit 0
fi
Idempotency guard per tool — use command -v <tool> before downloading:
if ! command -v helm >/dev/null 2>&1; then
# install helm
fi
Install to /usr/local/bin — writable without sudo in the base image (runs as root).
Temp directory cleanup — use a temp dir per download, remove it after:
tmp_dir=$(mktemp -d)
# ... download and extract ...
rm -rf "$tmp_dir"
unzip bootstrap — terraform and tflint ship as .zip; install unzip via apt if absent.
One install block per tool in this order: pre-commit, helm, terraform, tflint, actionlint, helm-docs, gitleaks, just.
Make the script executable: chmod +x scripts/install_pkgs.sh
.claude/settings.json.claude/settings.json (or start from {} if absent)SessionStart hook:"hooks": {
"SessionStart": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash \"$CLAUDE_PROJECT_DIR/scripts/install_pkgs.sh\""
}
]
}
]
}
permissions and other keys — do not overwrite them.Print a final summary:
Web session configuration complete
===================================
scripts/install_pkgs.sh [CREATED/UPDATED]
.claude/settings.json [CREATED/UPDATED]
Tools configured: helm, terraform, tflint, actionlint, gitleaks, just, pre-commit
Next steps:
1. Commit both files: git add scripts/install_pkgs.sh .claude/settings.json
2. Smoke-test locally: CLAUDE_CODE_REMOTE=true bash scripts/install_pkgs.sh
3. Run again to verify idempotency: CLAUDE_CODE_REMOTE=true bash scripts/install_pkgs.sh
4. Start a remote session on claude.ai/code and confirm tools are available
| Context | Command |
|---|---|
| Check only (CI audit) | /configure:web-session --check-only |
| Auto-fix with detected tools | /configure:web-session --fix |
| Override tool list | /configure:web-session --fix --tools helm,terraform,gitleaks |
| Smoke-test install script | CLAUDE_CODE_REMOTE=true bash scripts/install_pkgs.sh |
| Verify idempotency | CLAUDE_CODE_REMOTE=true bash scripts/install_pkgs.sh (run twice) |