Better Drizzle
almeidazs/better-drizzle
Write, review, and debug code that uses better-drizzle, the typed repository layer over Drizzle ORM 1.x (better(db), client.users.findMany, paginate, cursor, upsertMany, relation include/connect…
Test database testing including fixtures, transactions, and rollback management.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace managing-database-tests --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/managing-database-tests .claude/skills/managing-database-tests && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "managing-database-tests" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-tests into .claude/skills/managing-database-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-database-tests", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-testsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace managing-database-tests --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.curated/managing-database-tests .agents/skills/managing-database-tests && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "managing-database-tests" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-tests into .agents/skills/managing-database-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-database-tests", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace managing-database-tests --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.curated/managing-database-tests .cursor/skills/managing-database-tests && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "managing-database-tests" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-tests into .cursor/skills/managing-database-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-database-tests", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jeremylongshore/tons-of-skills-marketplace.git --path skills/.curated/managing-database-tests--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace managing-database-tests --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.curated/managing-database-tests .gemini/skills/managing-database-tests && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "managing-database-tests" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-tests into .gemini/skills/managing-database-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-database-tests", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jeremylongshore/tons-of-skills-marketplace managing-database-testsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.curated/managing-database-tests .github/skills/managing-database-tests && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "managing-database-tests" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-tests into .github/skills/managing-database-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-database-tests", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace managing-database-tests --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.curated/managing-database-tests .opencode/skills/managing-database-tests && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "managing-database-tests" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/managing-database-tests into .opencode/skills/managing-database-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-database-tests", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
managing-database-testsTest database testing including fixtures, transactions, and rollback management.
Managing Database Tests is an agent skill from jeremylongshore/tons-of-skills-marketplace. Test database testing including fixtures, transactions, and rollback management. Use when performing specialized testing. Trigger with phrases like "test the database", "run database tests", or "validate data integrity".
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts, reference files and assets (for example `assets/README.md`, `assets/database_schema_definition.json` and `assets/docker-compose.yml`). Compatibility notes: Designed for Claude Code
It sits in Databases, covering ORMs and data access. It works with Prisma, SQLite and Docker. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGrepGlobBash(test:db-*)From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
npxdockerFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
prisma.iodocs.sqlalchemy.orgknexjs.orgpostgresql.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Managing Database Tests loads about 1.9k tokens when it runs, and up to ~1.9k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 607 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 607 words, ~1,883 tokens.
.claude/skills/managing-database-tests/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Manage database testing including fixture loading, transaction-based test isolation, migration validation, query performance testing, and data integrity checks. Supports PostgreSQL, MySQL, MongoDB, SQLite (in-memory), and Redis with ORM-agnostic patterns for Prisma, TypeORM, SQLAlchemy, Knex, and Drizzle.
docker run -d -p 5433:5432 --name test-db postgres:16-alpine.sqlite::memory:.npx prisma migrate deploy or npx knex migrate:latest --env test.migrate:rollback and verify schema reverts correctly.beforeEach. Simpler but slower.EXPLAIN ANALYZE on critical queries and assert expected index usage.tests/database/ or tests/models/tests/helpers/ or tests/factories/| Error | Cause | Solution |
|---|---|---|
| Foreign key constraint violation during cleanup | Truncation order does not respect foreign key dependencies | Truncate tables in reverse dependency order; or disable FK checks during cleanup (SET CONSTRAINTS ALL DEFERRED) |
| Connection pool exhausted | Too many test workers opening separate connections | Use a single shared connection for tests; limit pool size; close connections in afterAll |
| Migration fails on test database | Schema drift between development and test databases | Drop and recreate test database; run all migrations from scratch; verify migration checksums |
| Transaction rollback does not clean up | ORM auto-commits or test creates a new connection outside the transaction | Inject the transaction connection into all ORM operations; disable auto-commit in test config |
| Slow test suite due to database I/O | Too many INSERT/DELETE operations per test | Use in-memory SQLite for unit tests; batch seed data; use transaction rollback instead of truncation |
Jest with Prisma transaction rollback:
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
describe('UserRepository', () => {
afterAll(async () => { await prisma.$disconnect(); });
it('creates and retrieves a user', async () => {
await prisma.$transaction(async (tx) => {
const created = await tx.user.create({
data: { name: 'Alice', email: 'alice@test.com' },
});
const found = await tx.user.findUnique({ where: { id: created.id } });
expect(found).toMatchObject({ name: 'Alice', email: 'alice@test.com' });
// Transaction rolls back automatically when we throw
throw new Error('ROLLBACK');
}).catch((e) => {
if (e.message !== 'ROLLBACK') throw e;
});
});
});pytest with database fixture and rollback:
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
@pytest.fixture
def db_session():
engine = create_engine("postgresql://test:test@localhost:5433/testdb") # 5433 = configured value
connection = engine.connect()
transaction = connection.begin()
session = Session(bind=connection)
yield session
session.close()
transaction.rollback()
connection.close()
def test_insert_and_query_user(db_session):
db_session.execute(
text("INSERT INTO users (name, email) VALUES (:n, :e)"),
{"n": "Alice", "e": "alice@test.com"}
)
result = db_session.execute(text("SELECT name FROM users WHERE email = :e"),
{"e": "alice@test.com"}).fetchone()
assert result[0] == "Alice"Migration validation test:
describe('Database Migrations', () => {
it('applies all migrations to empty database', async () => {
const result = await exec('npx prisma migrate deploy');
expect(result.exitCode).toBe(0);
});
it('migration is idempotent', async () => {
await exec('npx prisma migrate deploy');
const result = await exec('npx prisma migrate deploy');
expect(result.exitCode).toBe(0); // Second run should succeed (no-op)
});
});© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references, assets) in skills/.curated/managing-database-tests of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Managing Database Tests next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Managing Database Tests this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Better Drizzlealmeidazs/better-drizzle | 349 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Prisma Database Setupcurvenote/curvenote | 170 | 3 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Create Auth Skilldeadlock-mod-manager/deadlock-mod-manager | 478 | 4 repos | ~3.4k | Automated safety check: Pass | GPL-3.0 | |
| Drizzle Migrationsbretzel-app/crumbs | 127 | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Database Expertcin12211/orca-q | 224 | — | ~2.8k | Automated safety check: Pass | MIT |
almeidazs/better-drizzle
Write, review, and debug code that uses better-drizzle, the typed repository layer over Drizzle ORM 1.x (better(db), client.users.findMany, paginate, cursor, upsertMany, relation include/connect…
curvenote/curvenote
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.).
deadlock-mod-manager/deadlock-mod-manager
Scaffold and implement authentication in TypeScript/JavaScript apps using Better Auth.
bretzel-app/crumbs
Drizzle ORM schema management and SQLite migrations — adding tables, modifying columns, creating indexes, generating and running migrations, Drizzle query patterns.
cin12211/orca-q
Database performance optimization, schema design, query analysis, and connection management across PostgreSQL, MySQL, MongoDB, and SQLite with ORM integration.
prisma/orm
Routes Prisma 8 tasks such as contracts, migrations, queries and upgrades to the right reference files for projects on the contract-first @prisma/orm packages.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Categories
Test database testing including fixtures, transactions, and rollback management. Managing Database Tests is an agent skill from jeremylongshore/tons-of-skills-marketplace. Test database testing including fixtures, transactions, and rollback management.
Managing Database Tests fits situations like: performing specialized testing; with phrases like test the database; run database tests; validate data integrity.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a claude-code`. Or copy the skill folder (skills/.curated/managing-database-tests in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/managing-database-tests in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a codex`. Or copy the skill folder (skills/.curated/managing-database-tests in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/managing-database-tests in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill managing-database-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/managing-database-tests, .gemini/skills/managing-database-tests, .github/skills/managing-database-tests and .opencode/skills/managing-database-tests in your project.
Going by SKILL.md and its folder, Managing Database Tests needs Python for the scripts in its folder and the command-line tools its instructions call (npx and docker). Our summary lists: Python 3; Node.js; Docker. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash(test:db-*). Compatibility (from SKILL.md): Designed for Claude Code.
SKILL.md names 4 domains. As links in the text: prisma.io, docs.sqlalchemy.org, knexjs.org and postgresql.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Managing Database Tests is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Managing Database Tests: Better Drizzle (almeidazs/better-drizzle, 349 stars), Prisma Database Setup (curvenote/curvenote, 170 stars), Create Auth Skill (deadlock-mod-manager/deadlock-mod-manager, 478 stars) and Drizzle Migrations (bretzel-app/crumbs, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.