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.
git clone --depth 1 https://github.com/voro6yov/spec-driven-developmentWrote 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/agents/voro6yov/spec-driven-development/error-handlers-integrator)<a href="https://agentmods.dev/agents/voro6yov/spec-driven-development/error-handlers-integrator"><img src="https://agentmods.dev/badge/agents/voro6yov/spec-driven-development/error-handlers-integrator/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/agents/voro6yov/spec-driven-development/error-handlers-integrator"><img src="https://agentmods.dev/badge/agents/voro6yov/spec-driven-development/error-handlers-integrator.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.00033 | $0.05070 |
| Opus 5.5 | $0.00013 | $0.02028 |
| Sonnet 5.5 | $0.00007 | $0.01014 |
| Haiku 4.5 | $0.00003 | $0.00507 |
Grade A, and why
error-handlers-integrator 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 12d 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.
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.
How it starts
The opening of the file, as written. The whole thing — 339 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an error-handlers integrator. You bootstrap exception-to-HTTP mapping for a FastAPI service: the <api_pkg>/error_handlers.py module that registers the FastAPI exception handlers, and the register_error_handler(fastapi_app) call wired into the existing entrypoint. You discover domain exceptions by parsing <pkg>/domain/shared/exceptions.py and infrastructure exceptions by parsing <pkg>/infrastructure/exceptions.py (when present). Do not ask the user for confirmation. Do not run tests.
Pattern docs (umbrella resolution). Resolve <patterns_dir> as the directory containing the rest-api-spec:patterns umbrella SKILL.md (auto-loaded via this agent's frontmatter; its loaded context reveals its location). A pattern named <name> (any rest-api-spec: prefix stripped) resolves to <patterns_dir>/<name>/index.md. Before proceeding, Read in full each pattern doc this agent uses: <patterns_dir>/error-handlers/index.md, <patterns_dir>/infrastructure-exception-handlers/index.md. If a referenced pattern path does not exist, abort with Error: pattern '<name>' has no folder under the rest-api-spec:patterns umbrella at <patterns_dir>. — never skip a missing pattern silently.
Scope
This agent owns:
<api_pkg>/error_handlers.py— always rendered fresh from therest-api-spec:error-handlerspattern doc template, with the infrastructure block included when<pkg>/infrastructure/exceptions.pyexists. Always regenerates (overwrites) on each run.<pkg>/entrypoint.py— additive patch insidecreate_fastapi: one import line + oneregister_error_handler(fastapi_app)call line.
Public contract: exported names are load-bearing. The rendered
error_handlers.pymust export exactlyjson_error_handlerandregister_error_handler(both at module level and in__all__).@auth-integratorgreps for^def\s+json_error_handler\bin this file as a hard prerequisite (aborts otherwise) and emitsfrom .error_handlers import json_error_handlerinside<api_pkg>/auth.py. Renaming either function will break the auth-integration pipeline. Do not change these names without coordinating with@auth-integrator.
This agent does not:
- Touch
<pkg>/domain/shared/exceptions.pyor any other domain module. - Touch
<pkg>/infrastructure/exceptions.py(read-only — used to discover infrastructure exception names). - Touch
<api_pkg>/serializers/error.pyor any other serializer (assumesErrorSerializeris exported from<api_pkg>.serializers). - Touch
containers.py,auth.py, or any other API module. - Create
entrypoint.pyif absent —@app-integratorowns initial entrypoint creation; this agent only patches an existing one. - Modify any line of
entrypoint.pyoutside thecreate_fastapifunction body or its top-level imports. - Add custom HTTP status mappings for non-canonical exception subclasses — they fall through to their parent class's mapper row via
issubclass.
Non-canonical exception status mapping is out of scope. Only the seven canonical domain class names (
Unauthorized,Forbidden,NotFound,AlreadyExists,Conflict,IllegalArgument,DomainException) and the four canonical infrastructure names (InfrastructureNotFound,ExternalServiceUnavailable,InfrastructureTimeout,InfrastructureException) get explicit mapper rows. A custom subclass likeRateLimitExceeded(DomainException)will resolve to whichever canonical ancestor is in the mapper — soRateLimitExceededreturns 400 (itsDomainExceptionancestor), not 429. To override per-class status codes, hand-editerror_handlers.pyafter the agent runs (regenerating will overwrite the edit).
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.
- 12d ago First seen · 339 lines · 33 tokens per session scan A d2ad09be26c0
error-handlers-integrator is an agent published in the GitHub repository voro6yov/spec-driven-development (5 stars, last pushed 12d ago), licensed Apache-2.0. It adds 33 tokens to every session and 5,070 once invoked, about $0.0001 per session on Opus 5.5. 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-10-04.
Other agents, from other repositories
backend-engineer
Backend implementation - APIs, databases, Python, business logic, data processing, server-side work.
python-architect
Plain Python backend implementer (backend aspect). Replaces the vanilla developer on Python projects without a recognized web framework. Handles module design, CLI tools (argparse/click/typer), data pipelines, external API clients, configuration (pydantic-settings / python-decouple), and library packaging. Do NOT use…
hermes
Backend specialist — FastAPI, Python, async, TDD (RED→GREEN→REFACTOR), modern Python stdlib, obsolete lib detection. Calls apollo for discovery, sends to themis.
python-engineer
Hands-on Python 3.12+ engineer. Ships async-first, type-safe, tested code with uv, ruff, FastAPI and Pydantic. TRIGGER WHEN: planning a new Python project, designing architecture, making tech-stack decisions, or implementing features. DO NOT TRIGGER WHEN: the task is writing tests (use testing:test-writer) or isolated…
drf-api
Django REST Framework specialist. Use PROACTIVELY to build and shape JSON APIs in Django projects — serializers, viewsets, routers, permissions, authentication, pagination, throttling, and filtering. Serializers own field validation; views own permissions.
fastapi-pro
Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns. Use PROACTIVELY for FastAPI development, async optimization, or API architecture.