Passo-a-passo detalhado do skill, referenciando as fases cognitivas:
1SENSE — Identificar banco e ambiente de execução
Detectar o driver a usar baseado na stack do projeto
Verificar `DATABASE_URL` ou variáveis individuais (HOST, PORT, USER, PASS, DB)
Determinar se é serverless (sem estado entre invocações) ou stateful (processo contínuo)
2CONTEXTUALIZE — Analisar requisitos de pool
Consultar max_connections do servidor: `SHOW max_connections;` (PostgreSQL padrão: 100)
Calcular pool máximo seguro: `total_max_connections / num_app_instances - 5` (reserva 5 para admin)
Identificar necessidade de PgBouncer para ambientes com muitas conexões curtas (serverless)
3HYPOTHESIZE — Calcular configuração otimizada
Pool size = `(cores × 2) + 1` (HikariCP formula): p. ex., 4 cores → pool_size=9
Idle timeout: 30s (fechar antes do AWS/GCP firewall encerrar conexões TCP ociosas em 5min)
Connection timeout: 5s (fail-fast para não bloquear requests em produção)
4RECOMMEND — Gerar código de conexão completo
```typescript
// Node.js + pg
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
max: Number(process.env.DB_POOL_MAX) || 10,
idleTimeoutMillis: 30_000,
connectionTimeoutMillis: 5_000,
ssl: process.env.NODE_ENV === 'production' ? { rejectUnauthorized: true } : false,
});
pool.on('error', (err) => logger.error('Unexpected pool error', err));
```
Gerar health check endpoint e graceful shutdown handler
5EVALUATE — Validar segurança e eficiência
Checar se credenciais estão em variáveis de ambiente (não hardcoded)
Verificar SSL configurado para produção
Confirmar pool_pre_ping ativo para detectar conexões inválidas
6REFLECT — Monitoramento e telemetria
Documentar métricas a monitorar: `pg_stat_activity`, pool utilization
Reportar configuração final via mcp-skillschain