Supabase Postgres Best Practices
supabase/agent-skills
Gives the agent Postgres rules to consult before writing or changing tables, queries, indexes, RLS policies or migrations, and when diagnosing slow queries.
Database schema validation, data integrity testing, migration testing, transaction isolation, and query performance.
$ npx skills add proffesor-for-testing/agentic-qe --skill database-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install proffesor-for-testing/agentic-qe database-testing --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/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .claude/skills && cp -r skills-src/assets/skills/database-testing .claude/skills/database-testing && 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 "database-testing" agent skill from https://github.com/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testing into .claude/skills/database-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-testing", 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/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testingType 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 proffesor-for-testing/agentic-qe --skill database-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install proffesor-for-testing/agentic-qe database-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .agents/skills && cp -r skills-src/assets/skills/database-testing .agents/skills/database-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "database-testing" agent skill from https://github.com/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testing into .agents/skills/database-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-testing", 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 proffesor-for-testing/agentic-qe --skill database-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install proffesor-for-testing/agentic-qe database-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/assets/skills/database-testing .cursor/skills/database-testing && 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 "database-testing" agent skill from https://github.com/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testing into .cursor/skills/database-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-testing", 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/proffesor-for-testing/agentic-qe.git --path assets/skills/database-testing--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 proffesor-for-testing/agentic-qe --skill database-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install proffesor-for-testing/agentic-qe database-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/assets/skills/database-testing .gemini/skills/database-testing && 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 "database-testing" agent skill from https://github.com/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testing into .gemini/skills/database-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-testing", 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 proffesor-for-testing/agentic-qe database-testingInstalls 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 proffesor-for-testing/agentic-qe --skill database-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .github/skills && cp -r skills-src/assets/skills/database-testing .github/skills/database-testing && 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 "database-testing" agent skill from https://github.com/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testing into .github/skills/database-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-testing", 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 proffesor-for-testing/agentic-qe --skill database-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install proffesor-for-testing/agentic-qe database-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/assets/skills/database-testing .opencode/skills/database-testing && 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 "database-testing" agent skill from https://github.com/proffesor-for-testing/agentic-qe/tree/main/assets/skills/database-testing into .opencode/skills/database-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "database-testing", 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.
database-testingDatabase schema validation, data integrity testing, migration testing, transaction isolation, and query performance.
Database Testing is an agent skill from proffesor-for-testing/agentic-qe. Database schema validation, data integrity testing, migration testing, transaction isolation, and query performance. Use when testing data persistence, ensuring referential integrity, or validating database migrations.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `evals/database-testing.yaml`, `schemas/output.json` and `scripts/validate-config.json`).
It sits in Databases, covering Query optimization, Database schema design and Database migrations. The repository describes itself as: Agentic QE Fleet is an open-source AI-powered QA/QE platform designed for use with Coding Agents (works best with Claude Code) featuring specialized agents and skills to support… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 829d030. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Database Testing loads about 1.7k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 206 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 proffesor-for-testing/agentic-qe at commit 829d030, republished under its MIT licence (© proffesor-for-testing). 206 words, ~1,700 tokens.
.claude/skills/database-testing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.<default_to_action> When testing database operations:
Quick DB Testing Checklist:
Critical Success Factors:
| Type | Focus | When |
|---|---|---|
| Schema | Structure correct | Table creation |
| Integrity | Constraints work | Data operations |
| Migration | Up/down work | Schema changes |
| Transaction | ACID properties | Concurrent access |
| Performance | Query speed | Optimization |
test('users table has correct schema', async () => {
const schema = await db.raw(`
SELECT column_name, data_type, is_nullable
FROM information_schema.columns
WHERE table_name = 'users'
`);
expect(schema).toContainEqual({
column_name: 'id',
data_type: 'integer',
is_nullable: 'NO'
});
expect(schema).toContainEqual({
column_name: 'email',
data_type: 'character varying',
is_nullable: 'NO'
});
});test('email must be unique', async () => {
await db.users.create({ email: 'test@example.com' });
await expect(
db.users.create({ email: 'test@example.com' })
).rejects.toThrow('unique constraint violation');
});
test('foreign key prevents orphaned records', async () => {
const user = await db.users.create({ email: 'test@example.com' });
await db.orders.create({ userId: user.id, total: 100 });
await expect(
db.users.delete({ id: user.id })
).rejects.toThrow('foreign key constraint');
});test('migration is reversible', async () => {
await migrate('add-users-table');
// Table exists after migration
const tables = await db.raw(`SELECT table_name FROM information_schema.tables`);
expect(tables.map(t => t.table_name)).toContain('users');
await rollback('add-users-table');
// Table gone after rollback
const tablesAfter = await db.raw(`SELECT table_name FROM information_schema.tables`);
expect(tablesAfter.map(t => t.table_name)).not.toContain('users');
});
test('migration preserves existing data', async () => {
await db.users.create({ email: 'test@example.com' });
await migrate('add-age-column');
const user = await db.users.findOne({ email: 'test@example.com' });
expect(user).toBeDefined();
expect(user.age).toBeNull(); // New column, null default
});test('transaction rolls back on error', async () => {
const initialCount = await db.users.count();
try {
await db.transaction(async (trx) => {
await trx('users').insert({ email: 'user1@example.com' });
await trx('users').insert({ email: 'user2@example.com' });
throw new Error('Rollback test');
});
} catch (error) { /* Expected */ }
expect(await db.users.count()).toBe(initialCount);
});
test('concurrent transactions isolated', async () => {
const user = await db.users.create({ balance: 100 });
// Two concurrent withdrawals (race condition test)
await Promise.all([
db.transaction(async (trx) => {
const current = await trx('users').where({ id: user.id }).first();
await trx('users').update({ balance: current.balance - 50 });
}),
db.transaction(async (trx) => {
const current = await trx('users').where({ id: user.id }).first();
await trx('users').update({ balance: current.balance - 50 });
})
]);
const final = await db.users.findOne({ id: user.id });
expect(final.balance).toBe(0); // Proper isolation
});// Generate test data with integrity
await Task("Generate Test Data", {
schema: 'ecommerce',
tables: ['users', 'products', 'orders'],
count: { users: 1000, products: 500, orders: 5000 },
preserveReferentialIntegrity: true
}, "qe-test-data-architect");
// Test migration safety
await Task("Migration Test", {
migration: 'add-payment-status-column',
tests: ['forward', 'rollback', 'data-preservation'],
environment: 'staging'
}, "qe-test-executor");aqe/database-testing/
├── schema-snapshots/* - Current schema state
├── migrations/* - Migration test results
├── integrity/* - Constraint validation
└── performance/* - Query benchmarksconst dbFleet = await FleetManager.coordinate({
strategy: 'database-testing',
agents: [
'qe-test-data-architect', // Generate test data
'qe-test-executor', // Run DB tests
'qe-performance-tester' // Query performance
],
topology: 'sequential'
});Test migrations before production: Forward works, rollback works, data preserved, performance acceptable. Never deploy untested migrations.
With Agents: qe-test-data-architect generates realistic test data with referential integrity. qe-test-executor validates migrations automatically in CI/CD.
© proffesor-for-testing, 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 3 other files (scripts) in assets/skills/database-testing of proffesor-for-testing/agentic-qe.
Open the folder on GitHubat commit 829d030
We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in proffesor-for-testing/agentic-qe, which our catalogue first saw on October 7, 2026.
Database Testing 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 |
|---|---|---|---|---|---|---|
| Database Testing this skillproffesor-for-testing/agentic-qe | 494 | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Supabase Postgres Best Practicessupabase/agent-skills | 2.7k | 24 repos | ~808 | Automated safety check: Pass | MIT | |
| MySQL Schema and Query Tuningplanetscale/database-skills | 698 | 3 repos | ~1.4k | Automated safety check: Pass | MIT | |
| DatabasesMicrock/ordinary-claude-skills | 401 | — | ~1.9k | Automated safety check: Notes | MIT | |
| SQL Optimization Patternsynulihao/AgentSkillOS | 617 | 10 repos | ~3.3k | Automated safety check: Pass | None | |
| DB Migrationskurealnum/dotfiles | 290 | — | ~820 | Automated safety check: Pass | None |
supabase/agent-skills
Gives the agent Postgres rules to consult before writing or changing tables, queries, indexes, RLS policies or migrations, and when diagnosing slow queries.
planetscale/database-skills
Guides safe, measurable MySQL and InnoDB changes across schema design, indexing, query tuning, transactions, locking and replication, with rollout steps.
Microck/ordinary-claude-skills
Work with MongoDB (document database, BSON documents, aggregation pipelines, Atlas cloud) and PostgreSQL (relational database, SQL queries, psql CLI, pgAdmin).
ynulihao/AgentSkillOS
Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries.
kurealnum/dotfiles
A skill your agent uses when generating or regenerating Drizzle migration files, changing database schema tables or columns, resolving migration sequence conflicts after rebase, reviewing migration…
martin-ueding/geo-activity-playground
How to change the SQLAlchemy data model and generate the matching Alembic migration.
proffesor-for-testing/agentic-qe
Consumer-driven contract testing for microservices using Pact, schema validation, API versioning, and backward compatibility testing.
proffesor-for-testing/agentic-qe
Test quality validation through mutation testing, assessing test suite effectiveness by introducing code mutations and measuring kill rate.
proffesor-for-testing/agentic-qe
Profiles application performance under load using k6, Artillery, or JMeter to measure latency, throughput, and error rates.
proffesor-for-testing/agentic-qe
Conduct context-driven code reviews focusing on quality, testability, and maintainability.
proffesor-for-testing/agentic-qe
Scans for security vulnerabilities including XSS, SQL injection, CSRF, and auth flaws using OWASP Top 10 methodology.
proffesor-for-testing/agentic-qe
WCAG 2.2 compliance testing, screen reader validation, and inclusive design verification.
Categories
Database schema validation, data integrity testing, migration testing, transaction isolation, and query performance. Database Testing is an agent skill from proffesor-for-testing/agentic-qe. Database schema validation, data integrity testing, migration testing, transaction isolation, and query performance.
Database Testing fits situations like: testing data persistence; ensuring referential integrity; validating database migrations.
Run `npx skills add proffesor-for-testing/agentic-qe --skill database-testing -a claude-code`. Or copy the skill folder (assets/skills/database-testing in proffesor-for-testing/agentic-qe) into .claude/skills/database-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add proffesor-for-testing/agentic-qe --skill database-testing -a codex`. Or copy the skill folder (assets/skills/database-testing in proffesor-for-testing/agentic-qe) into .agents/skills/database-testing 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 proffesor-for-testing/agentic-qe --skill database-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/database-testing, .gemini/skills/database-testing, .github/skills/database-testing and .opencode/skills/database-testing in your project.
SKILL.md names no scripts, command-line tools or credentials: Database Testing is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Database Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Database Testing: Supabase Postgres Best Practices (supabase/agent-skills, 2.7k stars), MySQL Schema and Query Tuning (planetscale/database-skills, 698 stars), Databases (Microck/ordinary-claude-skills, 401 stars) and SQL Optimization Patterns (ynulihao/AgentSkillOS, 617 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
proffesor-for-testing (a GitHub user) maintains it in proffesor-for-testing/agentic-qe, which has 494 GitHub stars. The repository holds 111 skills in this directory. The repository was last updated on October 4, 2026.
Source: proffesor-for-testing/agentic-qe on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.