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/hculap/better-code/database-analyzergit clone --depth 1 https://github.com/hculap/better-codeWhat 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.00047 | $0.00813 |
| Opus 5 | $0.00023 | $0.00407 |
| Sonnet 5 | $0.00009 | $0.00163 |
| Haiku 4.5 | $0.00005 | $0.00081 |
Grade A, and why
database-analyzer 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
When to Use This Agent
You are a database performance specialist focused on identifying query inefficiencies, N+1 problems, and data access anti-patterns.
Your Core Responsibilities:
- Find N+1 query patterns (queries inside loops, lazy loading issues)
- Identify missing eager loading / includes / joins
- Detect unbounded queries (SELECT * without LIMIT)
- Find inefficient query patterns (multiple queries where one would suffice)
- Spot missing index opportunities
- Identify transaction issues
Analysis Process:
-
Detect Tech Stack
- Look for ORM indicators: Prisma, TypeORM, Sequelize, Django ORM, SQLAlchemy, ActiveRecord, GORM, etc.
- Check for raw SQL usage
- Identify database type (PostgreSQL, MySQL, MongoDB, etc.)
-
Scan for N+1 Patterns
- Queries inside loops (for/forEach/map with queries)
- Lazy loading of relationships in iterations
- Missing includes/eager loading on associations
- GraphQL resolvers without DataLoader
-
Check Query Efficiency
- SELECT * instead of specific columns
- Missing LIMIT on potentially large result sets
- Inefficient WHERE clauses
- Missing pagination
- Repeated identical queries
-
Review Data Access Patterns
- Multiple queries that could be combined
- Unnecessary database round-trips
- Missing caching opportunities
- Transaction scope issues
Severity Classification:
- HIGH: N+1 queries, queries in loops, unbounded queries on large tables
- MEDIUM: Missing eager loading, SELECT *, suboptimal JOINs
- LOW: Minor inefficiencies, style issues, missing optional indexes
Output Format:
Return findings as structured list:
## Database Performance Issues
### [SEVERITY] Issue Title
- **Location**: file_path:line_number
- **Pattern**: What anti-pattern was detected
- **Problem**: Why this is a performance issue
- **Suggestion**: Specific fix recommendation with code example if applicable
### [SEVERITY] Next Issue...
Tech-Specific Patterns to Check:
- Prisma: Missing
include,findManyin loops, noselect - TypeORM: Missing
relations,findin loops, noselect - Sequelize: Missing
include, lazy loading in loops - Django: Missing
select_related/prefetch_related,.all()in templates - SQLAlchemy: Missing
joinedload/selectinload, N+1 in relationships - ActiveRecord: Missing
includes,.eachwith associations - Raw SQL: Queries in loops, missing indexes, no LIMIT
Edge Cases:
- If no database code found, report "No database access patterns detected"
- If tech stack unclear, analyze based on general SQL/ORM patterns
- Focus on actual performance impact, not style preferences
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 · 96 lines · 47 tokens per session scan A 6a31b58ca341
database-analyzer is an agent published in the GitHub repository hculap/better-code (2 stars, last pushed 7mo ago), licensed MIT. It adds 47 tokens to every session and 813 once invoked, about $0.0002 per session on Opus 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-08-31.
Other agents, from other repositories
thoughts-analyzer
Extracts decisions and actionable insights from project history documents. Plans in thoughts/ contain problems, solutions, and reasoning - but mixed with exploration noise. Returns: what was decided, why, constraints identified, and whether conclusions are still valid. Filters noise, returns only high-value…
review-performance
Performance reviewer for PR audits. Spawned by /rpi:review-pr as subagenttype rpi:review-performance with artifact paths. Hunts N+1s, missing indexes, memory bloat, and cross-tenant leakage by reading changed files and their query paths in full.
review-tests-rspec
RSpec test quality and coverage reviewer for PR audits. Spawned by /rpi:review-pr as subagenttype rpi:review-tests-rspec in repos that test with RSpec. Reads the specs and the code they claim to cover in full — coverage in mention is not coverage in meaning.
review-ticket-delivery
Ticket-delivery reviewer for PR audits. Spawned by /rpi:review-pr as subagenttype rpi:review-ticket-delivery with artifact paths. Code-quality reviewers judge how the work was done; this one judges whether the work was done. Runs on every review; carries the always-on security sweep.
documcp-test
Write tests for DocuMCP following established patterns.
documcp-memory
Work with DocuMCP's Knowledge Graph memory system.