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 skills add zacharygcook/agent-skills --skill postgres-queue-healthgit clone --depth 1 https://github.com/zacharygcook/agent-skillsWrote 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/skills/zacharygcook/agent-skills/postgres-queue-health)<a href="https://agentmods.dev/skills/zacharygcook/agent-skills/postgres-queue-health"><img src="https://agentmods.dev/badge/skills/zacharygcook/agent-skills/postgres-queue-health/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/skills/zacharygcook/agent-skills/postgres-queue-health"><img src="https://agentmods.dev/badge/skills/zacharygcook/agent-skills/postgres-queue-health.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.00060 | $0.00714 |
| Opus 5.5 | $0.00024 | $0.00286 |
| Sonnet 5.5 | $0.00012 | $0.00143 |
| Haiku 4.5 | $0.00006 | $0.00071 |
Grade A, and why
postgres-queue-health 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 — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Postgres Queue Health
High-churn queue tables can slow down even when live queue depth stays flat. Updates and deletes create dead tuples; old snapshots delay cleanup; hot indexes retain dead entries; and claim workers repeatedly pay the visibility cost. FOR UPDATE SKIP LOCKED reduces worker blocking but does not solve bloat or retention.
Inspect the Claim Path
- Confirm the claim query has a narrow queue/status/due-time predicate, bounded
LIMIT, intentional ordering, andFOR UPDATE SKIP LOCKEDwhere appropriate. - Compare partial-index predicates and column order with the actual filter and ordering.
- Keep the claim transaction short. Commit the claim/update before external I/O or long job execution.
- Bound batch claims and heartbeat frequency.
- Use
EXPLAIN (ANALYZE, BUFFERS)safely on representative, non-destructive queries.
Inspect Lifecycle and Storage
- Separate hot claimable states from terminal history.
- Add bounded cleanup, archive, or partitioning before succeeded/dead jobs dominate the table.
- Keep dedupe and claim indexes free of terminal rows when possible.
- Distinguish update-heavy tables from append-only attempt/event tables; their vacuum risks differ.
- Check table and index growth alongside live/dead tuple estimates, not row count alone.
Inspect Vacuum and Transactions
- Review table-level autovacuum thresholds for high-churn tables.
- Find long-running and
idle in transactionsessions that pin the MVCC horizon. - Compare last vacuum/autovacuum times, dead tuples, relation sizes, claim latency, and queue depth over time.
- Do not recommend manual vacuum as a complete fix while an old transaction still prevents cleanup.
Inspect Read Paths
Keep dashboards and polling queries bounded, indexed, short, and read-only. Avoid broad analytics over hot queue history on the primary.
Starting Queries
SELECT relname, n_live_tup, n_dead_tup, last_autovacuum, last_vacuum
FROM pg_stat_user_tables
WHERE relname IN ('queue_jobs', 'queue_job_attempts');
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 66 lines · 60 tokens per session scan A f4157403216e
postgres-queue-health is a skill published in the GitHub repository zacharygcook/agent-skills (2 stars, last pushed 3mo ago), licensed MIT. It adds 60 tokens to every session and 714 once invoked, about $0.0002 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 skills, from other repositories
dsql
Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, diagnose cluster performance, load data, and develop applications with a serverless, distributed SQL database. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL and PostgreSQL-to-DSQL schema conversion, foreign key…
sql-optimizer
Analyzes SQL queries for missing indexes, N+1 patterns, suboptimal joins, and full table scans. Interprets EXPLAIN, detects anti-patterns, rewrites queries. Triggers on: "optimize this query", "slow query", "add indexes", "explain plan", "N+1 query", "why is this query slow".
postgres-migrations
Use when changing the database schema - detect the repo's migration tool, ship a new migration in its layout, never edit an applied one, and avoid lock-unsafe DDL on a live table.
sql-query-performance
Use when writing or changing a query against PostgreSQL from Go — avoiding N+1 loops, reading EXPLAIN output, indexing, and keyset pagination.
test-database-seeding
Use when a test needs a database - spin up a dedicated, disposable test database (Testcontainers) seeded with known data, never a shared or production database.
data-mcp-tools
Use when tools from the jupyter, duckdb, dbt, mlflow, huggingface or postgres MCP servers appear in your tool list, or before reaching for one — what each is good for, what it can damage, and the CLI fallback when it is not connected.