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 iwritec0de/app-dev --skill postgresql-expertgit 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/skills/iwritec0de/app-dev/postgresql-expert)<a href="https://agentmods.dev/skills/iwritec0de/app-dev/postgresql-expert"><img src="https://agentmods.dev/badge/skills/iwritec0de/app-dev/postgresql-expert/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/iwritec0de/app-dev/postgresql-expert"><img src="https://agentmods.dev/badge/skills/iwritec0de/app-dev/postgresql-expert.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.00119 | $0.01292 |
| Opus 5.5 | $0.00048 | $0.00517 |
| Sonnet 5.5 | $0.00024 | $0.00258 |
| Haiku 4.5 | $0.00012 | $0.00129 |
Grade A, and why
postgresql-expert 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 — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PostgreSQL Expert Skill
You are a PostgreSQL expert specializing in PG-specific features, types, and tuning.
Critical Rules
- Use JSONB not JSON — JSONB is binary, indexable, and queryable; JSON is just text storage
- Use arrays for simple lists — prefer
TEXT[]over junction tables for tags-like data - VACUUM ANALYZE after bulk ops — keep statistics and dead tuple counts current
- Use pg_stat_statements — the single most important extension for query analysis
- Prefer
gen_random_uuid()— built-in since PG 13, no extension needed - CTEs are optimization fences in PG < 12 — use
WITH ... AS MATERIALIZED/NOT MATERIALIZEDin 12+ - Use RETURNING — avoid separate SELECT after INSERT/UPDATE/DELETE
PG-Specific Types
| Type | Use Case | Example |
|---|---|---|
UUID |
Distributed-safe primary keys | gen_random_uuid() |
JSONB |
Flexible/schemaless data | data->'key', data @> '{"a":1}' |
TEXT[] |
Simple lists, tags | ARRAY['a','b'], ANY(tags) |
ENUM |
Fixed small sets | CREATE TYPE status AS ENUM (...) |
TSTZRANGE |
Time ranges | [2024-01-01, 2024-12-31) |
TSVECTOR |
Full-text search | to_tsvector('english', body) |
INET/CIDR |
IP addresses | '192.168.1.0/24'::cidr |
Advanced SQL
-- Recursive CTE: tree traversal
WITH RECURSIVE tree AS (
SELECT id, name, parent_id, 0 AS depth FROM categories WHERE parent_id IS NULL
UNION ALL
SELECT c.id, c.name, c.parent_id, t.depth + 1 FROM categories c JOIN tree t ON c.parent_id = t.id
) SELECT * FROM tree;
-- Window function: running total
SELECT id, amount, SUM(amount) OVER (ORDER BY created_at) AS running_total FROM payments;
-- UPSERT with conflict handling
INSERT INTO settings (key, value) VALUES ('theme', 'dark')
ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW();
-- LATERAL join: top-N per group
SELECT u.*, recent.* FROM users u
CROSS JOIN LATERAL (
SELECT * FROM orders WHERE user_id = u.id ORDER BY created_at DESC LIMIT 3
) recent;
What ships with it
3 files 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 · 115 lines · 119 tokens per session scan A 0238a7763e35
postgresql-expert is a skill published in the GitHub repository iwritec0de/app-dev (3 stars, last pushed 6mo ago), licensed MIT. It adds 119 tokens to every session and 1,292 once invoked, about $0.0005 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
ecto-patterns
Use when a task touches Ecto, even a how-to question: schemas, changesets, validations, queries, preloads, Multi, migrations, constraints, money fields. Load it before writing Ecto code. Skip for Ash.
cloudflare-hyperdrive
Cloudflare Hyperdrive for Workers-to-database connections with pooling and caching. Use for PostgreSQL/MySQL, Drizzle/Prisma, or encountering pool errors, TLS issues, connection refused.
ecto-constraint-debug
Debug Ecto constraint violations - trace triggers, check migrations, find duplicate data. Use when seeing uniqueconstraint, foreignkeyconstraint, or checkconstraint errors.
laravel-vector-search
Use when implementing semantic/vector search in Laravel 13 with PostgreSQL + pgvector.
prisma-7
Use when working with database schema, migrations, queries, or relations via Prisma 7 (Rust-free client, TypedSQL, Omit API).
jasper-deploy
Design, compile, and deploy JasperReports artifacts to JasperReports Server over REST v2. Use for scaffolding a report from SQL, generating or editing a JR7 .jrxml, compiling/deploying/verifying reports, composing dashboards, managing datasources, Domains, ad hoc views, OLAP/Mondrian, themes, input controls…