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 agentmods add skills/poorgramer-zack/copilot-cli-things/hookify-helpnpx skills add Poorgramer-Zack/copilot-cli-things --skill hookify-helpgit clone --depth 1 https://github.com/Poorgramer-Zack/copilot-cli-thingsWhat 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 | $0.00052 | $0.01219 |
| Opus 5 | $0.00026 | $0.00609 |
| Sonnet 5 | $0.00010 | $0.00244 |
| Haiku 4.5 | $0.00005 | $0.00122 |
Grade D, and why
Hookify Help scanned grade D 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 2d 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.
Don't use chmod 777 - it's a security risk. Use specific permissions instead. Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- `rm\s+-rf` - matches "rm -rf" How it starts
The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hookify Plugin Help
Present the hookify plugin to the user: architecture, rule format, available skills, and getting started steps.
Overview
Hookify creates custom hooks that prevent unwanted behaviors via simple markdown configuration files instead of editing hooks.json.
How It Works
1. Hook System
Hookify installs generic hooks that run on these events:
- preToolUse: Before any tool executes (powershell, edit, create, etc.)
- postToolUse: After a tool executes
- agentStop: When Copilot wants to stop working
- userPromptSubmitted: When user submits a prompt
These hooks read configuration files from .github/hookify.*.local.md and check if any rules match the current operation.
2. Configuration Files
Users create rules in .github/hookify.{rule-name}.local.md files:
---
name: warn-dangerous-rm
enabled: true
event: bash
pattern: rm\s+-rf
---
⚠️ **Dangerous rm command detected!**
This command could delete important files. Please verify the path.
Key fields:
name: Unique identifier for the ruleenabled: true/false to activate/deactivateevent: bash, file, stop, prompt, or allpattern: Regex pattern to match
The message body is what Copilot sees when the rule triggers.
3. Creating Rules
Option A: Use hookify-create skill
hookify-create Don't use console.log in production files
This analyzes your request and creates the appropriate rule file.
Option B: Create manually
Create .github/hookify.my-rule.local.md with the format above.
Option C: Analyze conversation
hookify-create
Without arguments, hookify analyzes recent conversation to find behaviors you want to prevent.
Available Skills
hookify-create- Create hooks from conversation analysis or explicit instructionshookify-help- Show this help (what you're reading now)hookify-list- List all configured hookshookify-configure- Enable/disable existing hooks interactively
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.
- 2d ago First seen · 177 lines · 52 tokens per session scan D 05d4e23b9c68
Hookify Help is a skill published in the GitHub repository Poorgramer-Zack/copilot-cli-things (2 stars, last pushed 5mo ago), licensed MIT. It adds 52 tokens to every session and 1,219 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it D with 2 findings (asks for root, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
speckit-init
Scaffold a Spec Kit (spec-driven development) project for GitHub Copilot by running specify init --integration copilot --integration-options="--skills". USE FOR: starting a new spec-kit project, bootstrapping spec-driven development in an existing repo, installing spec-kit templates/scripts/commands for Copilot. DO…
speckit-bundle
Discover, install, and author Spec Kit bundles via specify bundle. USE FOR: searching/showing/listing bundles, installing/updating/removing a bundle (a curated set of extensions/presets/integrations/workflows), validating a bundle manifest, building a distributable bundle artifact, initializing a project and…
speckit-extension
Manage Spec Kit extensions via specify extension. USE FOR: installing/removing/updating spec-kit extensions, searching the extension catalog, showing extension info, enabling/disabling extensions, setting extension resolution priority, managing extension catalogs. DO NOT USE FOR: presets (use speckit-preset), bundles…
speckit-preset
Manage Spec Kit presets via specify preset. USE FOR: installing/removing presets, searching the preset catalog, showing preset info, resolving which template a preset name maps to, enabling/disabling presets, setting preset resolution priority, managing preset catalogs. DO NOT USE FOR: extensions (use…
speckit-workflow
Manage and run Spec Kit automation workflows via specify workflow. USE FOR: running a workflow by ID or local YAML, resuming a paused/failed run, checking run status, listing/installing/removing workflows, searching the workflow catalog, showing a workflow step graph. DO NOT USE FOR: extensions (use…
speckit-check
Check the local environment for Spec Kit by running specify check (and specify version). USE FOR: verifying required tools are installed, diagnosing a broken spec-kit setup, reporting CLI version/feature capabilities. DO NOT USE FOR: installing or upgrading the CLI itself (use the speckit-self skill).