Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add yeaight7/agent-powerups --skill hook-safety-reviewgit clone --depth 1 https://github.com/yeaight7/agent-powerupsWrote 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/yeaight7/agent-powerups/hook-safety-review)<a href="https://agentmods.dev/skills/yeaight7/agent-powerups/hook-safety-review"><img src="https://agentmods.dev/badge/skills/yeaight7/agent-powerups/hook-safety-review/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/yeaight7/agent-powerups/hook-safety-review"><img src="https://agentmods.dev/badge/skills/yeaight7/agent-powerups/hook-safety-review.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.00058 | $0.00859 |
| Opus 5.5 | $0.00023 | $0.00344 |
| Sonnet 5.5 | $0.00012 | $0.00172 |
| Haiku 4.5 | $0.00006 | $0.00086 |
Grade A, and why
hook-safety-review scanned grade A with 1 finding 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
rg -n 'curl|wget|nc |Invoke-WebRequest|Invoke-RestMethod' <hook-file> How it starts
The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
Review a hook definition before it is enabled so command injection, data exfiltration, and silent failure cannot ride in on automation. Hooks run automatically with the agent's privileges; a malicious or sloppy hook executes without any further review once it is on.
When to Use
- A hook recipe (safety, quality, productivity) is a candidate for activation
- An agent settings file gains or changes a lifecycle hook entry
- A git pre-commit or pre-push hook is added or edited
- A hook snippet arrives from outside the repo
Do not use for broad agent-config audits — that is the agent-config-security-audit skill. This skill is the enablement gate for one hook at a time.
Inputs
- The hook definition: command body, trigger event, matcher pattern
- The settings or recipe file that declares it
- What the hook can reach: environment variables, file paths, network
Workflow
-
Inventory the trigger surface. Identify the event (pre-tool, post-tool, session start, commit), the matcher pattern, and how often it fires. A catch-all matcher on a high-frequency event deserves the strictest review.
-
Scan for command injection. Any user- or model-controlled value interpolated into a shell string is a P0 until proven bounded:
rg -n '\$\{?[A-Za-z_]+\}?|\$\(|`' <hook-file> # interpolation and substitution rg -n 'eval|sh -c|bash -c|Invoke-Expression' <hook-file> -
Scan for outbound network. Hooks should not phone home:
rg -n 'curl|wget|nc |Invoke-WebRequest|Invoke-RestMethod' <hook-file>Any hit needs a documented justification and explicit user approval.
-
Scan for silent failure. Error suppression hides both bugs and attacks:
rg -n '\|\| true|2>/dev/null|2>\$null|exit 0' <hook-file>A hook that swallows its own failures cannot be trusted to gate anything.
-
Check scope and privilege. Does the body read or write outside the repo? Does it touch credentials, dotfiles, or agent config? Flag absolute paths and home-directory access.
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 · 75 lines · 58 tokens per session scan A 395a4049fea1
hook-safety-review is a skill published in the GitHub repository yeaight7/agent-powerups (6 stars, last pushed 19d ago), licensed Apache-2.0. It adds 58 tokens to every session and 859 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-14.
Other skills, from other repositories
github-pr-workflow
GitHub PR lifecycle: branch, commit, open, CI, merge.
git-search
List recent git commits across all repos under /Code (excluding .build checkouts). Use when the user asks to show last commits, recent history, or commits across all projects in /Code.
adk-git
Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and testing-plan sections the PR template requires. Use when writing or rewording a commit message, squashing commits before a…
release-notes
Draft a release note section from a commit range, grouped by what the reader gets.
kirocrew-prepare-pr
LOAD THIS FOR EVERY KIRO CREW PR you open or update (Kiro Crew repo only; not other repos or CRs). Runs the whole loop — issue + tier, commit, sync, squash, push, drive CI and AI review to green, fix a red main, arm auto-merge and watch it land (24h). 'push my changes' = prepare-only.
commit
Atomic git commit with conventional message. Use when the user says "commit", "save my changes", "commit this", or wants to create a git commit. Stages specific files, writes a conventional commit message with body explaining non-obvious decisions. Never uses git add -A.