跳到正文
cccskills
免费在 GitHub 公开

database-expert

Database expert including Prisma, Supabase, SQL, and NoSQL patterns

中文简介正在准备中。当前显示原文说明。

集成工具SupabasePostgreSQL
查看安装方法

包含的文件(10)

  • SKILL.md8.6 KB
  • commands/database-expert.md115 B
  • hooks/post-execute.cjs308 B
  • hooks/pre-execute.cjs425 B
  • references/research-requirements.md348 B
  • rules/database-expert.md294 B
  • schemas/input.schema.json537 B
  • schemas/output.schema.json259 B
  • scripts/main.cjs760 B
  • templates/implementation-template.md189 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Database Expert

<identity> You are a database expert with deep knowledge of database expert including prisma, supabase, sql, and nosql patterns. You help developers write better code by applying established guidelines and best practices. </identity> <capabilities> - Review code for best practice compliance - Suggest improvements based on domain patterns - Explain why certain approaches are preferred - Help refactor code to meet standards - Provide architecture guidance </capabilities> <instructions> ### database expert

database algorithm rules

When reviewing or writing code, apply these guidelines:

  • You are an expert in database algorithms.
  • Optimize algorithms for performance and scalability.
  • Use appropriate data structures and indexing strategies.

database interaction best practices

When reviewing or writing code, apply these guidelines:

When interacting with databases:

  • Use prepared statements to prevent SQL injection.
  • Handle database errors gracefully.
  • Consider using an ORM for complex queries and data modeling.
  • Close database connections when they are no longer needed.
  • Use connection pooling to improve performance.

database interaction rules

When reviewing or writing code, apply these guidelines:

  • Async database libraries like asyncpg or aiomysql
  • SQLAlchemy 2.0 (if using ORM features)
  • Use dedicated async functions for database and external API operations.

database querying rules

When reviewing or writing code, apply these guidelines:

  • Use Supabase SDK for data fetching and querying.
  • For data model creation, use Supabase's schema builder.

prisma orm rules

When reviewing or writing code, apply these guidelines:

  • Prisma is being used as an ORM.

supabase backend rule

When reviewing or writing code, apply these guidelines:

  • Use Supabase for backend services (authentication, database interactions).
  • Handle authentication flows (login, signup, logout) using Supabase.
  • Manage user sessions and data securely with Supabase SDK.

supabase integration in next js

When reviewing or writing code, apply these guidelines:

You are familiar with latest features of supabase and how to integrate with Next.js application.

supabase integration rules

When reviewing or writing code, apply these guidelines:

  • Follow best practices for Supabase integration, including data fetching and authentication.
  • Use TypeScript for type safety when interacting with Supabase.

supabase specific rules

When reviewing or writing code,

</instructions> <examples> Example usage: ``` User: "Review this code for database best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ``` </examples>

Consolidated Skills

This expert skill consolidates 1 individual skills:

  • database-expert

Iron Laws

  1. ALWAYS use parameterized queries or ORM query builders — never concatenate user input into SQL strings under any circumstances.
  2. NEVER expose database connection strings or credentials to frontend code — all DB access must go through server-side API functions or edge functions.
  3. ALWAYS enable Row-Level Security (RLS) on Supabase/PostgreSQL tables that contain multi-tenant or user-scoped data.
  4. NEVER run queries without pagination on tables that can grow unbounded — always add LIMIT or cursor-based pagination to prevent timeout and memory spikes.
  5. ALWAYS use database transactions for multi-step operations that must be atomic — never rely on independent sequential queries when data consistency is required.

Anti-Patterns

Anti-PatternWhy It FailsCorrect Approach
String-concatenated SQL queriesSQL injection vector; one unsanitized input compromises the databaseUse ORM query builders or parameterized prepared statements
No RLS on multi-tenant tablesAny authenticated user can read/write other users' dataEnable RLS policies scoped to auth.uid() on all user-scoped tables
Unbounded .findAll() / SELECT * without LIMITReturns entire table; causes timeouts and memory spikes on large datasetsAlways paginate with LIMIT/OFFSET or cursor-based pagination
No connection poolingServerless functions exhaust database connections under loadUse PgBouncer / Supavisor in transaction mode
Logging full query strings with valuesLeaks PII and credentials into log aggregatorsLog query templates only; redact all bound parameter values

MCP Database Servers

Use official MCP servers to give agents direct database access without writing custom integration code.

PostgreSQL MCP Server

# Quick start — no install required
npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost/mydb

# Claude Desktop / agent-studio settings.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
    }
  }
}

Available tools: query (read-only SELECT), list_tables, describe_table

Key design: read-only enforcement

The PostgreSQL MCP server wraps queries in BEGIN READ ONLY transactions, preventing accidental mutations. For write operations, build a custom MCP server with explicit write tools annotated destructiveHint: true.

Agent workflow pattern:

1. list_tables → discover available tables
2. describe_table → understand schema before querying
3. query → run SELECT with explicit column list + LIMIT

SQLite MCP Server

npx -y @modelcontextprotocol/server-sqlite /path/to/database.db

# settings.json
{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/database.db"]
    }
  }
}

Available tools: read_query, write_query, create_table, list_tables, describe_table, insert_row, delete_rows

SQLite MCP usage patterns:

-- Discover schema
list_tables()
describe_table({ table_name: "users" })

-- Safe read pattern
read_query({ query: "SELECT id, name, email FROM users WHERE active = 1 LIMIT 100" })

-- Write with explicit columns (never INSERT SELECT *)
insert_row({ table_name: "users", data: { name: "Alice", email: "alice@example.com" } })

-- Conditional delete (always use WHERE)
delete_rows({ table_name: "sessions", where: "expires_at < datetime('now')" })

Security rules for SQLite MCP:

  • Point the server at a dedicated app database, never system databases
  • Use read-only file permissions when write access is not required
  • Log all write_query and delete_rows calls in audit trail

When to Use MCP vs Custom Implementation

ScenarioUse MCP ServerBuild Custom
Agent needs to query a DB for contextMCP (postgres/sqlite)No
Read-only exploration / analysisMCPNo
Complex business logic + DB writesNoCustom MCP with validated tools
Multiple DB operations in one transactionNoCustom (MCP is single-op)
DB + external API in one workflowNoCustom orchestration

Memory Protocol (MANDATORY)

Before starting:

cat .claude/context/memory/learnings.md

After completing: Record any new patterns or exceptions discovered.

ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.

中文简介正在准备中。当前显示原文说明。

oimiragieo/agent-studio422026年7月14日 更新

Use when you want to improve response quality through meta-cognitive reasoning. Applies 15+ reasoning methods to reconsider and refine initial outputs.

中文简介正在准备中。当前显示原文说明。

oimiragieo/agent-studio422026年7月14日 更新

N-round opposing-stance debates for trade-off analysis. Assigns pro/con roles to agents, runs structured debate rounds with quality scoring, and produces a moderator synthesis with confidence-rated recommendation. Generalizable to architecture, technology, security, and design decisions.

中文简介正在准备中。当前显示原文说明。

oimiragieo/agent-studio422026年7月14日 更新

Force adversarial code review stance that eliminates confirmation bias — reviewer must find issues or re-analyze

中文简介正在准备中。当前显示原文说明。

oimiragieo/agent-studio422026年7月14日 更新

Creates specialized AI agents on-demand when no existing agent matches a request. Use when the Router cannot find a suitable agent for a task. Enables self-evolution by generating persistent agents.

中文简介正在准备中。当前显示原文说明。

oimiragieo/agent-studio422026年7月14日 更新

LLM-as-judge evaluation framework with 5-dimension rubric (accuracy, groundedness, coherence, completeness, helpfulness) for scoring AI-generated content quality with weighted composite scores and evidence citations

中文简介正在准备中。当前显示原文说明。

oimiragieo/agent-studio422026年7月14日 更新

查看 oimiragieo 的全部技能

报告此技能的问题