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 rules/vibeeval/vibecosystem/hook-developmentgit clone --depth 1 https://github.com/vibeeval/vibecosystemWhat 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.00000 | $0.00265 |
| Opus 5 | $0.00000 | $0.00133 |
| Sonnet 5 | $0.00000 | $0.00053 |
| Haiku 4.5 | $0.00000 | $0.00026 |
Grade A, and why
hook-development scanned grade A with 0 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 yesterday.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Hook Development Rules
Hook Types
- PreToolUse: Runs before a tool executes (validation, parameter modification)
- PostToolUse: Runs after a tool executes (formatting, checking)
- Stop: Runs when session ends (final validation)
File Structure
hooks/
src/ # TypeScript source files
shared/ # Shared utilities
dist/ # Compiled .mjs files (esbuild output)
package.json
tsconfig.json
Hook Output Format
interface HookResult {
result: string; // shown in terminal
systemMessage?: string; // injected into AI context
permissionDecision?: "allow" | "deny";
reason?: string; // if denied
}
Rules
- Always handle errors with try/catch
- Return valid JSON to stdout
- Read input from stdin (JSON)
- Use
systemMessagefor AI context injection, notmessage - Keep hooks fast (< 500ms)
- Build with:
cd hooks && npm run build
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.
- yesterday First seen · 41 lines · 0 tokens per session scan A 6a514aac660f
hook-development is a cursor rule published in the GitHub repository vibeeval/vibecosystem (530 stars, last pushed 23d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 265 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
chronos
Time-awareness for coding agents. Consult shell clock + file mtimes before reasoning about "when" or "how long ago". No hooks on Cursor — degraded mode only.
next
Next.js roof. Bundled docs for THIS next version. App vs Pages from the tree.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
typescript
Changes to these high-fan-out internals can affect every message, delta, element, or rerun. Keep work in them minimal, and benchmark changes with representative stress-test apps.
coolify-ai-docs
Master reference to all Coolify AI documentation in .ai/ directory.