- Presentan Agent Skills para resolver el problema de que los agentes de codificación con IA no manejan Postgres correctamente, proporcionando de forma explícita las reglas de la base de datos
- Postgres tiene décadas de funciones acumuladas, casos límite y características de rendimiento, por lo que un agente puede generar código que funciona pero provoca escaneos completos de tablas o deja fuera políticas de seguridad
- Está compuesto por 8 categorías y 30 reglas en total, organizadas por prioridad según su impacto: rendimiento de consultas, gestión de conexiones, seguridad y RLS, diseño de esquema y más
- No se ofrece como documentación para humanos, sino como un conjunto de reglas que los agentes de IA consultan directamente
- Al combinarse con un servidor MCP, permite crear un agente de bases de datos listo para producción con capacidad de ejecución y criterio de decisión al mismo tiempo
Identificación del problema: la IA escribe código, pero no entiende el sistema
- Los agentes de codificación con IA generan código sintácticamente correcto, pero tienen la limitación de no considerar las características internas de Postgres ni los riesgos operativos
- Se repiten problemas como consultas que provocan escaneos completos de tablas, sugerencias de índices que degradan el rendimiento de escritura y omisiones de Row Level Security
- Se han confirmado numerosos casos en los que los agentes pasan por alto factores clave de rendimiento, seguridad y estabilidad en entornos de producción
Resumen de Postgres Agent Skills
- Un repositorio de conocimiento basado en reglas creado para que los agentes de IA lo consulten al escribir código para Postgres
- Consta de 30 reglas distribuidas en 8 categorías ordenadas por impacto
- Cada regla incluye título, prioridad, explicación de su importancia y ejemplos de código correcto e incorrecto
Composición de las 8 categorías de reglas
- Cada regla sigue un formato consistente e incluye título, impacto, explicación y etiquetas
- Query Performance (Critical): reglas para evitar escaneos completos de tablas y escribir consultas eficientes
- Connection Management (Critical): pooling de conexiones, gestión del ciclo de vida del cliente y límites de recursos
- Security and RLS (Critical): políticas de Row Level Security y patrones de control de acceso
- Schema Design (High): estructura de tablas, tipos de datos y decisiones de normalización
- Concurrency and Locking (Medium-High): aislamiento de transacciones, prevención de deadlocks y gestión de bloqueos
- Data Access Patterns (Medium): paginación, operaciones masivas y diseño de patrones de acceso
- Monitoring and Diagnostics (Low-Medium): análisis de consultas, seguimiento de rendimiento y depuración
- Advanced Features (Low): funciones propias de Postgres como CTE, funciones de ventana y extensiones
Ejemplo de reglas de Row Level Security
- Forma incorrecta: si se depende solo del filtrado a nivel de aplicación, existe riesgo de exponer todos los datos por bugs o bypasses
- Si se escribe como
select * from orders where user_id = $current_user_id;, un bypass puede devolver todos los pedidos
- Forma correcta: aplicar RLS de manera obligatoria a nivel de base de datos
- Activar RLS con
alter table orders enable row level security;
- Crear una política con
create policy para que el usuario solo pueda ver sus propios datos
- Forzar RLS incluso para el propietario de la tabla con
alter table orders force row level security;
- Ejemplo de política para roles autenticados:
create policy orders_user_policy on orders for all to authenticated using (user_id = auth.uid());
Formato Agent Skills y ecosistema
- Agent Skills es un formato de documentación de estándar abierto dedicado a agentes de IA que les da especialización de dominio; cuando hace falta, el agente lo lee y lo aplica directamente
- Compatible con Claude Code, Cursor, GitHub Copilot, VS Code, Gemini CLI y otros
- Se ofrece en forma de carpeta con instrucciones y ejemplos que el agente puede descubrir y usar cuando los necesita
- En lugar de esperar que haya aprendido los patrones correctos a partir de los datos de entrenamiento, proporciona reglas explícitas
- Es un estándar abierto definido por Anthropic y se está adoptando en toda la industria
- Vercel publicó react-best-practices, que empaqueta 10 años de conocimiento de optimización de React y Next.js en 40 reglas
- Cloudflare publicó Skills para más de 40 servicios, incluidos Workers, Pages, D1 y R2
Por qué Supabase creó estas reglas
- Supabase opera Postgres en cientos de miles de proyectos y ha visto repetirse los mismos errores
- Índices faltantes en claves foráneas
- Consultas que eluden RLS por error
- Migraciones que bloquean tablas en producción
- Agotamiento del pool de conexiones por clientes mal gestionados
- Escaneos completos de tablas ocultos detrás de un ORM
- Empaquetó conocimientos que ya existían en el equipo de soporte, el asesor de bases de datos y la documentación, reorganizados en un formato amigable para agentes
Relación con el servidor MCP
- El servidor MCP de Supabase permite que los agentes de IA se conecten directamente a proyectos de Supabase y realicen en lenguaje natural tareas como crear tablas, ejecutar consultas, gestionar esquemas y configurar ajustes
- El servidor MCP da a los agentes la capacidad de realizar tareas de base de datos, y las mejores prácticas les enseñan a hacerlo correctamente
- Analogía: el servidor MCP es el volante y las mejores prácticas son la clase de manejo
- Un agente con solo acceso a MCP puede ejecutar cualquier consulta que se le pida
- Un agente con acceso a MCP y además con estas reglas puede advertir antes de crear un índice que bloquee tablas, proponer políticas RLS antes de desplegar código inseguro y estructurar consultas para evitar problemas de rendimiento
- El servidor MCP se encarga de la conexión y la ejecución; estas mejores prácticas se encargan del criterio
- Agent Skills advierte sobre factores de riesgo antes de ejecutar y guía hacia mejores decisiones
- Al separar la capacidad de ejecución del criterio de decisión, permite construir un entorno de automatización seguro y confiable
Cómo instalarlo
- Ubicación del repositorio: github.com/supabase/agent-skills
- Se puede instalar de forma interactiva usando el paquete npm skills de Vercel
npx skills add supabase/agent-skills
- Si usas Claude Code, también se puede instalar como plugin
/plugin marketplace add supabase/agent-skills
/plugin install postgres-best-practices@supabase-agent-skills
Aún no hay comentarios.