ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway…
Escreve SQL otimizado para o stack Evolution (PostgreSQL primário) com boas práticas. Use quando precisar traduzir uma necessidade de dados em SQL, construir uma query com múltiplas CTEs, joins e agregações, otimizar uma query contra tabelas grandes, ou obter sintaxe específica
$ npx -y skills add evolution-foundation/evo-nexus --skill data-write-query --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/data-write-queryContext preview
The summary Claude sees to decide when to auto-load this skill.
Escreve SQL otimizado para o stack Evolution (PostgreSQL primário) com boas práticas. Use quando precisar traduzir uma necessidade de dados em SQL, construir uma query com múltiplas CTEs, joins e agregações, otimizar uma query contra tabelas grandes, ou obter sintaxe específica
name: data-write-query description: Escreve SQL otimizado para o stack Evolution (PostgreSQL primário) com boas práticas. Use quando precisar traduzir uma necessidade de dados em SQL, construir uma query com múltiplas CTEs, joins e agregações, otimizar uma query contra tabelas grandes, ou obter sintaxe específica para consultas no banco do Evo CRM, Evo AI, ou qualquer serviço do stack Evolution. Dialetos secundários disponíveis: Snowflake, BigQuery, MySQL, DuckDB. argument-hint: "<descrição do que você precisa consultar>"
Escreve uma query SQL a partir de uma descrição em linguagem natural, otimizada para o dialeto PostgreSQL (stack padrão Evolution) e seguindo boas práticas.
/data-write-query <descrição do que você precisa consultar>
Analisar a descrição do usuário para identificar:
**Dialeto primário do workspace:**
**Dialetos secundários (se explicitamente solicitados):**
Se o usuário não especificar, assumir **PostgreSQL** como padrão.
Se a fonte de dados estiver disponível via MCP ou CLI:
1. Buscar tabelas relevantes com base na descrição do usuário 2. Inspecionar nomes de colunas, tipos e relacionamentos 3. Verificar índices, particionamento ou clustering que afetam a performance 4. Procurar views ou views materializadas que possam simplificar a query
**Queries de exploração de schema (PostgreSQL):**
-- Listar todas as tabelas no schema
SELECT table_name, table_type
FROM information_schema.tables
WHERE table_schema = 'public'
ORDER BY table_name;
-- Detalhes das colunas de uma tabela
SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'nome_da_tabela'
ORDER BY ordinal_position;
-- Tamanho das tabelas
SELECT relname AS tabela,
pg_size_pretty(pg_total_relation_size(relid)) AS tamanho_total
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC;
-- Índices de uma tabela
SELECT indexname, indexdef
FROM pg_indexes
WHERE tablename = 'nome_da_tabela';Seguir estas boas práticas:
**Estrutura:**
**Performance:**
**Legibilidade:**
**Otimizações específicas do PostgreSQL:**
-- Usar EXPLAIN ANALYZE para entender o plano de execução
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT ...;
-- Usar LIMIT + OFFSET para paginação
SELECT * FROM tabela
ORDER BY criado_em DESC
LIMIT 50 OFFSET 0;
-- Window functions eficientes no PostgreSQL
SELECT
cliente_id,
valor,
SUM(valor) OVER (PARTITION BY cliente_id ORDER BY data_pagamento) AS valor_acumulado,
ROW_NUMBER() OVER (PARTITION BY cliente_id ORDER BY data_pagamento DESC) AS rn
FROM pagamentos;
-- DISTINCT ON (específico do PostgreSQL) — mais eficiente que ROW_NUMBER
SELECT DISTINCT ON (cliente_id)
cliente_id, plano, criado_em
FROM assinaturas
ORDER BY cliente_id, criado_em DESC;
-- Funções de data no PostgreSQL
DATE_TRUNC('month', criado_em) -- Início do mês
EXTRACT(DOW FROM criado_em) -- Dia da semana (0=domingo)
NOW() AT TIME ZONE 'America/Sao_Paulo' -- Hora atual em BRT
criado_em AT TIME ZONE 'UTC' AT TIME ZONE 'America/Sao_Paulo' -- Converter para BRT
INTERVAL '30 days' -- Subtração de intervalo
DATE_PART('epoch', fim - inicio) -- Diferença em segundos
-- JSON/JSONB (comum no stack Evolution)
dados->>'campo' -- Extrair como texto
dados->'campo' -- Extrair como JSON
jsonb_array_elements(dados->'lista') -- Expandir array JSON
dados @> '{"status": "active"}'::jsonb -- Contém (usa índice GIN)
-- Array operations
ANY(ARRAY['active', 'trial']) -- In array
array_agg(campo ORDER BY data) -- Agregar em array
unnest(tags) -- Expandir array em linhas**Padrões de query para as fontes do workspace:**
-- Padrão: Análise de MRR mensal (típico para dados exportados do Stripe)
WITH receita_mensal AS (
SELECT
DATE_TRUNC('month', data_pagamento) AS mes,
SUM(valor_cents) / 100.0 AS receita_total,
COUNT(DISTINCT cliente_id) AS clientes_pagantes
FROM pagamentosGenerate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway…
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the…
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in…
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a…
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake…
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description,…