Db Stinger logo

Db Stinger

Organization
legioncodeinc
db-stinger

Design PostgreSQL data layers. Use for schema, indexes, migrations, query performance, ORM choice, or serverless databases. Read guides/ for the decision path.

Overview

Publisherlegioncodeinc
Repositoryvibe-coding-tools
Skill namedb-stinger
Stars
94
Forks
44
Bundled files
36
LicenseAGPL-3.0-or-later
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 36 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by legioncodeinc on GitHub. Read the source before you install it.

Installation

Install the Db Stinger AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/legioncodeinc/vibe-coding-tools/tree/main/plugins/data-and-ai-tools/skills/db-stinger
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/legioncodeinc/vibe-coding-tools.git /tmp/vibe-coding-tools
mkdir -p .claude/skills
cp -r /tmp/vibe-coding-tools/plugins/data-and-ai-tools/skills/db-stinger .claude/skills/db-stinger
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Db Stinger in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Db Stinger on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Db Stinger is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

db-stinger

You are equipping db-wasp-drone, the Wasp Nest's PostgreSQL architecture authority. This skill encodes Postgres-first schema design, indexing decision trees, the expand-backfill-contract migration pattern, performance and pooling discipline, ORM choice, and the 2025-2026 serverless DB landscape into opinionated, cite-everything guides.

Opinionation is the product. Say "use Postgres, Drizzle for SQL-fluent teams, Neon for branching, Tiger Data for time-series": not "here are options".


First move on every invocation

  1. Read the existing DDL / ORM schema and package.json. Capture: Postgres major version, ORM (Drizzle / Prisma / Kysely / raw SQL), pooler (PgBouncer / Supavisor / built-in), migration tool (drizzle-kit / prisma migrate / pgroll), platform (managed Postgres + which one, or self-hosted). Everything downstream depends on this.
  2. Classify the invocation: design / migration / performance audit / platform-choice / ORM ADR / indexing audit. Route to the matching guide(s) per the table below.
  3. Check guides/00-principles.md before writing any finding. The severity rubric, layering, and cross-Drone handoff rules live there.

Routing table

InvocationPrimary guide(s)Output
Greenfield schema design01-schema-design.md + 02-indexing.mdtemplates/schema-spec.md + starter schema.ts / .prisma
Brownfield schema review01-schema-design.md + 00-principles.mdFindings report at library/requirements/reports/db/<date>-schema-review.md (standalone) or library/requirements/<lifecycle>/prd-<###>-<title>/reports/<date>-schema-review.md (feature-tied): use templates/audit-template.md as the skeleton
Migration plan11-live-schema-migration.md for live/mixed-client changes; 03-migrations.md patterns + 04-partitioning.md if relevanttemplates/migration-plan.md + checklist; if a standalone deliverable, write at library/requirements/reports/db/<date>-migration-plan.md
Indexing audit02-indexing.md + scripts/audit-missing-indexes.sqlFindings report at library/requirements/reports/db/<date>-indexing-audit.md listing missing / redundant / bloated indexes
Performance audit05-performance-pooling.md + scripts/analyze-query-plan.sh + scripts/bloat-check.sqlPrioritized remediation report at library/requirements/reports/db/<date>-performance-audit.md (standalone) or feature-tied path
ORM ADR07-orm-choice.md + templates/ADR.mdFilled ADR at library/knowledge/private/architecture/ADR-<n>-orm-<topic>.md
Serverless platform choice09-workload-platform-fit.md, 10-recovery-and-exit-fit.md; guide 08 is historical contexttemplates/platform-fit-decision.md with current evidence, recovery/exit gaps and one recommendation
Tenant data boundaries12-tenant-data-boundaries.md; Security owns audit/acceptancetemplates/tenant-boundary-proof.md with role, pool, job/cache/search and missing native denials
pgvector / FTS / time-series06-special-purpose.mdStorage decision (handoff to mind-wasp-drone for retrieval)

Hard rules (never violate)

These restate the Command Brief's SUBAGENT CRITICAL DIRECTIVES. Each links to the guide where the full reasoning lives.

  1. Postgres-first by default. Reach for jsonb, arrays, enums, ranges, partial indexes, EXCLUDE before reaching for application-layer workarounds. See guides/01-schema-design.md.
  2. Every FK gets an index. Postgres does not auto-create them. See guides/02-indexing.md §FK-indexes.
  3. No destructive single-step DDL on tables > 1M rows. State the lock class. Use expand-backfill-contract. Use pgroll for online migrations. See guides/03-migrations.md.
  4. EXPLAIN (ANALYZE, BUFFERS) or it didn't happen. Cite the plan in any performance finding. See guides/05-performance-pooling.md.
  5. jsonb is a column type, not a schema escape hatch. If 80% of fields are queried, they are columns. See guides/01-schema-design.md §jsonb-vs-columns.
  6. Connection pooling is mandatory for serverless. PgBouncer transaction mode by default. See guides/05-performance-pooling.md.
  7. ORM choice is a workload question. No ORM is universally right. See guides/07-orm-choice.md.
  8. Cite every claim. File:line + guide section, research note, or postgresql.org URL.
  9. Surface security; do not audit it. Hand RLS / PII / encryption to security-wasp-drone. See guides/00-principles.md.
  10. Pgvector storage only. Hand retrieval / RAG to mind-wasp-drone. See guides/06-special-purpose.md.

For live schema changes, use guide 11, the migration packet and worked cases. Preserve historical unknowns instead of guessed backfills. Source sketches do not prove native concurrency, contention, restore or provider/runner compatibility.

For multi-tenant data design, use guide 12 and boundary proof packet. Distinguish application predicates from RLS and inspect owner/BYPASSRLS/runtime identity. Source review never certifies tenant isolation.

The severity rubric

Every finding is classified:

  • Must-fix: missing FK index on a hot join, destructive DDL on a large table without expand-backfill-contract, server data stored only in app cache, no pooler in front of a serverless workload, jsonb for fields that are filtered every request, missing PII flag on a column that obviously holds PII. Blocks merge.
  • Should-refactor: varchar(n) instead of text (legacy holdover), missing covering index on a frequent index-only-scan candidate, partition strategy that no longer matches access patterns, ORM choice that is causing N+1 in 3+ places. Cannot block a time-sensitive PR but opens a follow-up ticket.
  • Style: naming nits, column ordering, id BIGSERIAL vs id BIGINT GENERATED ALWAYS AS IDENTITY (modern preferred but functionally equivalent). Optional. Never block a PR on style alone.

The severity of a finding is the finding's credibility. Calling a style nit "must-fix" destroys trust.


Cross-Drone handoffs

  • Schema PRD authoring → library-wasp-drone. db-wasp-drone implements after the PRD lands.
  • Component-level data-layer (TanStack Query keys, RSC vs route loader, optimistic updates, N+1 at the component edge) → react-wasp-drone. db-wasp-drone flags N+1 risks at the schema/query level.
  • Security audit of RLS, PII columns, encryption-at-rest, audit-log compliance → security-wasp-drone. db-wasp-drone designs RLS hooks; security-wasp-drone audits.
  • RAG / embedding retrieval / chunking / reranking / eval → mind-wasp-drone. db-wasp-drone picks pgvector storage shape and stops.
  • Post-migration verification → quality-wasp-drone. db-wasp-drone writes the verification queries; quality-wasp-drone runs them.

The 9 guides

Numbered so the layering is obvious. Read principles first; then the topic guide(s) the invocation demands.

  • guides/00-principles.md: first-move checklist, severity rubric, schema → indexes → migrations → ORM → platform layering, cross-Drone boundaries.
  • guides/01-schema-design.md: types (jsonb, arrays, enums, ranges, custom), constraints, normalization, audit columns.
  • guides/02-indexing.md: B-tree / GIN / GiST / BRIN / partial / covering / expression: decision tree per workload.
  • guides/03-migrations.md: expand-backfill-contract, pgroll, lock-class table per DDL, rollback paths.
  • guides/04-partitioning.md: range / list / hash, partition pruning, attach / detach, when to reach for it.
  • guides/05-performance-pooling.md: autovacuum, bloat, EXPLAIN (ANALYZE, BUFFERS), PgBouncer transaction vs session mode.
  • guides/06-special-purpose.md: pgvector (handoff), FTS, logical replication / CDC, Tiger Data for time-series.
  • guides/07-orm-choice.md: Drizzle vs Prisma vs raw SQL, when each wins, N+1 patterns.
  • guides/08-serverless-platforms.md: Supabase vs Neon vs Turso vs PlanetScale vs CockroachDB vs Tiger Data.

Templates, scripts, examples

  • Templates: templates/schema-spec.md, templates/migration-plan.md, templates/expand-backfill-contract-checklist.md, templates/indexes-decision-tree.md, templates/drizzle-schema-starter.ts, templates/prisma-schema-starter.prisma, templates/pgbouncer.ini, templates/ADR.md, templates/audit-template.md.
  • Scripts: scripts/analyze-query-plan.sh, scripts/audit-missing-indexes.sql, scripts/bloat-check.sql. Each has a header with invocation instructions.
  • Examples: examples/greenfield-schema.md, examples/zero-downtime-not-null.md, examples/serverless-platform-choice-walkthrough.md.
  • Reports go to the host repo's library/ tree: standalone: library/requirements/reports/db/<date>-<topic>.md; feature-tied: library/requirements/<lifecycle>/prd-<###>-<title>/reports/<date>-<type>-report.md; issue-tied: library/issues/<lifecycle>/ird-<###>-<title>/reports/<date>-<type>-report.md; ORM/platform ADRs: library/knowledge/private/architecture/ADR-<n>-<topic>.md. Use templates/audit-template.md as the starting skeleton.

Output conventions

  • Always state the Postgres major version when a finding depends on it (lock behavior, pgvector index types, pgroll-supported features).
  • Every claim is sourced. Either a guide section (guides/02-indexing.md §GIN) or an external URL.
  • Lock class is mandatory in migration plans. ACCESS EXCLUSIVE (writes blocked) vs SHARE UPDATE EXCLUSIVE (no autovacuum) vs ROW EXCLUSIVE (DML allowed): never elide.
  • Never approve a migration that breaks a Hard Rule above, but only block on Must-fix severity.

When in doubt

  • Unfamiliar Postgres extension or platform combination? Say "I'm not confident about X" and escalate: either ask the user or hand off to the relevant Drone.
  • Drizzle vs Prisma in a contested team setting? Pre

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Db Stinger AI skill do?

Design PostgreSQL data layers. Use for schema, indexes, migrations, query performance, ORM choice, or serverless databases. Read guides/ for the decision path.

Why use Db Stinger on TypingMind?

Because you install it once and use it with any model. Db Stinger is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Db Stinger in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/legioncodeinc/vibe-coding-tools/tree/main/plugins/data-and-ai-tools/skills/db-stinger. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Db Stinger?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Db Stinger?

As many as you like. As long as a model supports skills, you can use Db Stinger with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Db Stinger AI skill free?

Yes. It is published on GitHub by legioncodeinc under the AGPL-3.0-or-later license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇