用途:database-expert 是用于编写和审查数据库相关代码的技能规则集,覆盖 Prisma、Supabase、SQL 与 NoSQL 模式,帮助代理在数据库算法、交互、查询与后端集成上遵循统一规范。主要能力与规则:优化算法性能与可扩展性,选择合适的数据结构与索引策略;交互上使用预处理语句防注入、优雅处理错误、复杂查询可用 ORM、及时关闭连接并使用连接池;异步场景可用 asyncpg、aiomysql 或 SQLAlchemy 2.0,并为数据库与外部 API 使用专门的异步函数;Supabase 场景使用其 SDK 取数与查询、schema builder 建模,通过 Supabase 处理认证与数据交互,结合 Next.js 集成并使用 TypeScript 保证类型安全;Prisma 作为 ORM 使用。铁律:始终使用参数化查询或 ORM 查询构造器,绝不拼接用户输入;绝不向前端暴露连接串或凭据,数据库访问须走服务端 API 或边缘函数;对多租户或用户范围数据启用 RLS;对可能无限增长的表必须分页;多步原子操作使用事务。反模式包括字符串拼接 SQL、多租户表无 RLS、无 LIMIT 的 findAll/SELECT *、无连接池、记录完整查询与参数值等。MCP 接入:可用官方 MCP 服务器让代理直接访问数据库,PostgreSQL 可用 npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost/mydb,并在设置中以 mcpServers 配置 command 为 npx、args 包含 -y、包名与 ${DATABASE_URL},提供 query(只读 SELECT)、list_tables、describe_table;其设计以 BEGIN READ ONLY 强制只读。SQLite 可用 npx -y @modelcontextprotocol/server-sqlite /path/to/database.db,提供 read_query、write_query、create_table、list_tables、describe_table、insert_row、delete_rows,写入与删除应显式指定列与 WHERE,并记录审计。适用于数据库模型设计、查询编写、Supabase/Next.js 后端集成、只读探索分析等场景。限制:MCP 为单操作,不适合多操作事务、复杂业务逻辑写入或数据库与外部 API 混合作业,这些需自建 MCP;同时该技能要求在使用前读取记忆文件、完成后记录新发现。具体收费与价格暂未提供。
database-expert
数据与分析
更新于 10-16 09:47