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/iwritec0de/app-devWrote 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/commands/iwritec0de/app-dev/db-audit)<a href="https://agentmods.dev/commands/iwritec0de/app-dev/db-audit"><img src="https://agentmods.dev/badge/commands/iwritec0de/app-dev/db-audit/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/commands/iwritec0de/app-dev/db-audit"><img src="https://agentmods.dev/badge/commands/iwritec0de/app-dev/db-audit.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.00010 | $0.00785 |
| Opus 5.5 | $0.00004 | $0.00314 |
| Sonnet 5.5 | $0.00002 | $0.00157 |
| Haiku 4.5 | $0.00001 | $0.00078 |
Grade A, and why
db-audit 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 1mo 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Database Audit
Scan the database schema and codebase for performance, design, and security issues.
Load the database-optimizer and database-designer skills for index analysis and schema design patterns.
Usage
/db-audit [--focus indexes|relations|queries|all]
Arguments
Parse $ARGUMENTS to extract:
- --focus (optional, default:
all) — What to auditindexes— Missing indexes, unused indexes, duplicate indexesrelations— Missing foreign keys, orphaned references, cascade issuesqueries— N+1 patterns, unparameterized queries, full table scans in codeall— Run everything
Instructions
1. Gather Schema Information
Read the schema from:
- ORM schema files (Prisma, TypeORM, Knex, Drizzle, etc.)
- Migration files
- MCP database connection (if available — use for live index and stats data)
2. Index Audit
Check for:
- Missing indexes on foreign keys — Every
_id/*_idcolumn should have an index - Missing indexes on commonly queried columns — Search code for WHERE clauses and match against indexed columns
- Composite index opportunities — Queries filtering on multiple columns
- Unused indexes (if MCP available) — Check
pg_stat_user_indexesfor zero-scan indexes - Duplicate indexes — Indexes that are prefixes of other indexes
- Missing unique constraints — Columns that should be unique (email, slug, etc.)
3. Relation Audit
Check for:
- Missing foreign key constraints — Code references
user_idbut no FK defined - Dangerous CASCADE rules —
ON DELETE CASCADEon tables with important data - Orphaned references — FK targets that don't exist
- Missing NOT NULL — Columns that are always populated but allow NULL
- Inconsistent naming — Mixed naming conventions (
userIdvsuser_id)
4. Query Audit
Search the codebase for:
- N+1 query patterns — Queries inside loops, missing eager loading/joins
# Look for patterns like: for user in users: posts = db.query("SELECT * FROM posts WHERE user_id = ?", user.id) - String interpolation in queries — SQL injection risk
# Dangerous: db.query(`SELECT * FROM users WHERE id = ${id}`) - **SELECT *** — Missing column selection (over-fetching)
- Missing LIMIT — Unbounded queries
- Missing transactions — Multi-step writes without transaction wrapping
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.
- 1mo ago First seen · 101 lines · 10 tokens per session scan A 0cd2045075d8
db-audit is a command published in the GitHub repository iwritec0de/app-dev (3 stars, last pushed 6mo ago), licensed MIT. It adds 10 tokens to every session and 785 once invoked, about $0.0000 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-08-31.
Other commands, from other repositories
cloudflare-d1:create-migration
Guided migration creation for Cloudflare D1 with schema change validation, SQL generation, and testing workflow. Use when user wants to create migration, modify schema, add tables/indexes, or change database structure.
cloudflare-d1:setup
Interactive wizard to set up Cloudflare D1 database with database creation, Worker binding configuration, schema generation, and first migration. Use when user wants to create first D1 database or add D1 to existing Worker.
psql-query
Run ad-hoc PostgreSQL analytics queries against dev/test database.
prisma-optimize
Optimize Prisma queries with automated analysis, N+1 detection, index recommendations, and performance patterns based on official documentation.
archetype-impact
Scan the current workspace for all references to a given archetype across templates (.oet / .t.json source, .opt compiled) and AQL files, producing an impact table useful before editing a widely-reused archetype.
conjure-config
Set, view, or remove conjure preferences. Asks questions to understand what you want, then writes plain-language instructions that conjure commands follow automatically.