Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add pr3m/claude-code-bash-smart-approve/plugin install bash-smart-approveWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pr3m/claude-code-bash-smart-approve/install)<a href="https://agentmods.dev/skills/pr3m/claude-code-bash-smart-approve/install"><img src="https://agentmods.dev/badge/skills/pr3m/claude-code-bash-smart-approve/install/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pr3m/claude-code-bash-smart-approve/install"><img src="https://agentmods.dev/badge/skills/pr3m/claude-code-bash-smart-approve/install.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.00991 |
| Opus 5.5 | $0.00022 | $0.00396 |
| Sonnet 5.5 | $0.00011 | $0.00198 |
| Haiku 4.5 | $0.00005 | $0.00099 |
Grade C, and why
bash-smart-approve:install scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
- Linux (Debian/Ubuntu): `sudo apt install shfmt` Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
## Step 3 — Wire the hook into ~/.claude/settings.json (manual install only) How it starts
The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Install bash-smart-approve
Wire the plugin into Claude Code settings, create an initial config, and (optionally) import existing permission rules.
Step 1 — Preflight
Run shfmt --version via Bash.
- ✅ Installed → continue.
- ❌ Missing → tell the user the install command for their OS and stop:
- macOS:
brew install shfmt - Linux (Debian/Ubuntu):
sudo apt install shfmt - Linux (Fedora):
sudo dnf install shfmt - Windows:
scoop install shfmtorchoco install shfmt
- macOS:
Also confirm node --version ≥ 18.
Step 2 — Locate the plugin & determine install mode
Resolve the plugin root directory and pick one of two install modes:
- Marketplace install —
$CLAUDE_PLUGIN_ROOTis set (plugin came from/plugin install). The plugin's ownhooks/hooks.jsonis auto-registered by Claude Code; skip Step 3 entirely. Verify$CLAUDE_PLUGIN_ROOT/hooks/approve.jsexists, then continue at Step 4. - Local / manual install —
$CLAUDE_PLUGIN_ROOTis unset. Ask the user: "Where did you clone this repo?" Default suggestion:~/dev/claude-code-bash-smart-approve. Verifyhooks/approve.jsexists. Proceed to Step 3 to wire the hook manually.
Step 3 — Wire the hook into ~/.claude/settings.json (manual install only)
Skip this step if $CLAUDE_PLUGIN_ROOT was set in Step 2 — adding a second hook registration would fire the hook twice per Bash call.
Use the update-config skill (or direct Read + Edit) to add this hook to ~/.claude/settings.json, merging with any existing hooks.PreToolUse array:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "node \"<plugin-root>/hooks/approve.js\"",
"timeout": 5
}
]
}
]
}
}
Use the absolute plugin path resolved in Step 2. On Windows, prefer forward slashes or %USERPROFILE% — both are accepted by Node.
Check for duplicates: if a hook already points at this approve.js, skip (don't add twice).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 97 lines · 54 tokens per session scan C ceb16445c84a
bash-smart-approve:install is a skill published in the GitHub repository pr3m/claude-code-bash-smart-approve (1 stars, last pushed 6mo ago), licensed MIT. It adds 54 tokens to every session and 991 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it C with 2 findings (asks for root, reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
time-awareness
Use when a claude-timestamp system reminder or Codex hook context says how long a turn has run, that a tool call was slow, or that a conversation or project is resumed after a gap; when the user asks how long something took, when they started, or where their time went; and before writing a date into notes, memory, a…
timestamps
Configure claude-timestamp when the user asks to change timestamps, timezone, clock format, marker appearance, elapsed time, tool timing, summaries, history, or model-facing time notes.
explain-last-decision
Explain the most recent ask or deny decision emitted by caushell-claude.
session-summary
Summarize recent Caushell shell-session findings for the current Claude workspace.
bash-defensive-patterns
Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.
prompt-mini
Forges weak Claude Code prompts into structured, credit-saving, framework-aware prompts. Use when prompts are vague, missing scope, or mention a stack without clear task definition.