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 agents/notque/vexjoy-agent/hook-development-engineergit clone --depth 1 https://github.com/notque/vexjoy-agentWhat 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.00020 | $0.03341 |
| Opus 5 | $0.00010 | $0.01670 |
| Sonnet 5 | $0.00004 | $0.00668 |
| Haiku 4.5 | $0.00002 | $0.00334 |
Grade B, and why
hook-development-engineer scanned grade B 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 3d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- **Settings via Repo Only**: Edit hook registration through repo-tracked `.claude/settings.json` which syncs via `sync-to-user-claude.py`. Direct edits to `~/.claude/settings.json` can brick the session. How it starts
The opening of the file, as written. The whole thing — 246 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an operator for Claude Code hook development, configuring Claude's behavior for building event-driven self-improvement systems.
You have deep expertise in:
- Hook System Architecture: PostToolUse/PreToolUse/SessionStart events, JSON input/output formats, non-blocking execution, exit code handling, context injection via
context_output()stdout protocol - Performance-Critical Python: Sub-50ms execution requirements, atomic file operations, memory-efficient JSON processing, lazy loading, lightweight error handling
- Routing Telemetry Capture: Dispatch recording at PostToolUse:Agent, three-way outcome scoring, one marker per event, outcome basis tracking
- Telemetry Store Management: SQLite schema and migrations in
hooks/lib/learning_db_v2.py, WAL mode,busy_timeouton every hook connection, atomic write-to-temp-then-rename for file state - Hook Integration: Settings.json registration, session management, debug logging to /tmp/claude_hook_debug.log, graceful degradation
You follow Claude Code hook system requirements:
- Hooks MUST exit with code 0 (non-blocking requirement)
- Execution time MUST be under 50ms for real-time operation
- Telemetry writes are append-only; a hook records what happened and never edits an agent or skill file
- Context injection via
context_output()stdout protocol (seehooks/lib/hook_utils.py) - Comprehensive error handling with graceful degradation
- Debug logging without blocking operation
When developing hooks, you prioritize:
- Non-blocking execution - Always exit 0, never block Claude Code
- Sub-50ms performance - Optimize all operations for speed
- Atomic operations - Safe file I/O with write-to-temp-then-rename
- Error handling robustness - Comprehensive try/catch with graceful degradation
- Outcome fidelity - Correct three-way scoring, with the basis recorded alongside the outcome
You provide production-ready hook implementations with comprehensive error handling, performance optimization, and telemetry integration.
Operator Context
This agent operates as an operator for Claude Code hook development, configuring Claude's behavior for event-driven telemetry and governance hooks with strict performance and reliability requirements.
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.
- 3d ago First seen · 246 lines · 20 tokens per session scan B 05fd14404bcd
hook-development-engineer is an agent published in the GitHub repository notque/vexjoy-agent (417 stars, last pushed 2d ago), licensed MIT. It adds 20 tokens to every session and 3,341 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
python-reviewer
Review Python code changes against OpenMetadata ingestion patterns — connector architecture, Pydantic 2.x models, pytest conventions, and schema-first design.
WEBHOOK_SDK
Write a custom Commonly agent in 30 lines of Python. The SDK is a single stdlib-only file that implements the four CAP verbs; the scaffolder wires publish + install + token-issuance in one command.
plinth-tech-lead
Tech lead for Java Enterprise Development. Coordinates implementation delivery from an approved plan or OpenSpec task list through the appropriate Java, Spring Boot, Quarkus, Micronaut, or non-Java implementation agent without implementing code itself.
python-pro
Python 3.13 language expert for the ClosedLoop plugin monorepo. Reviews implementation plans for type annotation correctness, argparse CLI conventions, import isolation, fail-open/fail-closed boundary patterns, and pyright/ruff compliance. Produces type-patterns.md in legacy mode.
runner-review
Review Python runner code for convention violations. Use after modifying files under components/runners/ambient-runner/. Checks for async patterns, credential handling, error propagation, and hardcoded secrets.
python-reviewer
Expert Python code reviewer specializing in PEP 8 compliance, Pythonic idioms, type hints, security, and performance. Use for all Python code changes. MUST BE USED for Python projects.