Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Perfila e explora um dataset para entender sua forma, qualidade e padrões. Use ao encontrar uma nova tabela ou arquivo, verificar taxas de nulo e distribuições de colunas, identificar problemas de qualidade como duplicatas ou valores suspeitos, ou decidir quais dimensões e métricas analisar. Funciona com tabelas PostgreSQL do stack Evolution (Evo CRM, Evo AI), dados do Stripe, Omie, Licensing, ou arquivos CSV/Excel carregados.
.claude/skills/evolution-foundation-data-explore/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 161% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 173% | 0% |
Gera um perfil de dados abrangente para uma tabela ou arquivo carregado. Entenda a forma, qualidade e padrões dos dados antes de mergulhar na análise.
/data-explore <nome_da_tabela ou arquivo>Se a fonte de dados estiver disponível via skill ou conexão PostgreSQL:
Se um arquivo for fornecido (CSV, Excel, Parquet, JSON):
Se for uma fonte do workspace (Stripe, Omie, Licensing, Evo CRM):
int-stripe, int-omie, int-licensing, int-evo-crm)Se nenhum dado estiver disponível:
Antes de analisar qualquer dado, entender sua estrutura:
Perguntas a nível de tabela:
Classificação de colunas — categorizar cada coluna como uma de:
Executar as seguintes verificações de perfilamento:
Métricas a nível de tabela:
Todas as colunas:
Colunas numéricas (métricas):
min, max, média, mediana (p50)
desvio padrão
percentis: p1, p5, p25, p75, p95, p99
contagem de zeros
contagem de negativos (se inesperado)Colunas string (dimensões, texto):
comprimento mínimo, máximo, médio
contagem de strings vazias
análise de padrão (valores seguem um formato?)
consistência de case (tudo maiúsculo, minúsculo, misto?)
contagem de espaços antes/depoisColunas de data/timestamp:
data mínima, data máxima
datas nulas
datas futuras (se inesperado)
distribuição por mês/semana
lacunas na série temporalColunas booleanas:
contagem de verdadeiro, falso, nulo
taxa de verdadeiroApresentar o perfil como uma tabela de resumo limpa, agrupada por tipo de coluna (dimensões, métricas, datas, IDs).
Aplicar o framework de avaliação de qualidade abaixo. Sinalizar problemas potenciais:
instancia_id com apenas 50 valores distintos)Após perfilar colunas individuais:
Com base no perfil de colunas, recomendar:
Sugerir 3-5 análises específicas que o usuário poderia executar a seguir:
## Perfil de Dados: [nome_da_tabela]
### Visão Geral
- Linhas: 2.340.891
- Colunas: 23 (8 dimensões, 6 métricas, 4 datas, 5 IDs)
- Intervalo de datas: 2021-03-15 a 2024-01-22
- Última atualização: 2024-01-22 03:45 BRT
### Detalhes das Colunas
[tabela de resumo]
### Problemas de Qualidade de Dados
[problemas sinalizados com severidade]
### Explorações Recomendadas
[lista numerada de análises de acompanhamento sugeridas]Avaliar cada coluna:
Procurar por:
concluido_em é nuloSinais de alerta que sugerem problemas de precisão:
atualizado_em não mostra alterações recentes em um sistema ativoPara colunas numéricas, caracterizar a distribuição:
Para dados de séries temporais, procurar por:
Identificar segmentos naturais por:
Entre colunas numéricas:
Ao documentar um dataset para uso da equipe:
markdown## Tabela: [schema.nome_da_tabela] **Descrição**: [O que esta tabela representa] **Grain**: [Uma linha por...] **Chave Primária**: [coluna(s)] **Contagem de Linhas**: [aproximada, com data] **Frequência de Atualização**: [tempo real / hora / dia / semana] **Responsável**: [equipe ou pessoa] ### Colunas-Chave | Coluna | Tipo | Descrição | Valores de Exemplo | Notas | |--------|------|-----------|-------------------|-------| | instancia_id | UUID | Identificador único da instância | "inst_abc123" | FK para instancias.id | | versao | STRING | Versão do Evolution API | "2.1.4", "2.2.0" | 50+ valores distintos | | mrr | DECIMAL | Receita mensal recorrente em USD | 29.99, 149.00 | Nulo para contas free | | criado_em | TIMESTAMP | Quando o registro foi criado | 2024-01-15 14:23:01 | UTC — converter para BRT na exibição | ### Relacionamentos - Join com `clientes` por `cliente_id` - Join com `planos` por `plano_id` - Pai de `instancia_eventos` (1:N por instancia_id) ### Problemas Conhecidos - [Listar problemas conhecidos de qualidade de dados] - [Anotar quaisquer armadilhas para analistas] ### Padrões Comuns de Query - [Casos de uso típicos para esta tabela]
sql-- Listar todas as tabelas no schema public SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_name; -- Detalhes das colunas (PostgreSQL) SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name = 'minha_tabela' ORDER BY ordinal_position; -- Tamanhos das tabelas (PostgreSQL) SELECT relname, 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; -- Contagens de linhas por tabela -- Executar por tabela: SELECT COUNT(*) FROM nome_da_tabela -- Verificar duplicatas em chave primária SELECT chave_primaria, COUNT(*) FROM minha_tabela GROUP BY chave_primaria HAVING COUNT(*) > 1; -- Taxas de nulo por coluna (gerar dinamicamente) SELECT COUNT(*) FILTER (WHERE coluna_1 IS NULL) * 100.0 / COUNT(*) AS nulo_pct_col1, COUNT(*) FILTER (WHERE coluna_2 IS NULL) * 100.0 / COUNT(*) AS nulo_pct_col2 FROM minha_tabela;
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→pass | 14,194 | 10,383 | -27% | 1 | 1 | 0% | 2,436 | 5,501 | +126% | 0 | 0 | — |
case-04 | fail→pass | 11,441 | 4,772 | -58% | 1 | 1 | 0% | 2,275 | 4,622 | +103% | 0 | 0 | — |
case-05 | pass→pass | 12,472 | 11,573 | -7% | 1 | 1 | 0% | 2,129 | 5,562 | +161% | 0 | 0 | — |
case-06 | pass→pass | 11,812 | 11,637 | -1% | 1 | 1 | 0% | 2,094 | 5,716 | +173% | 0 | 0 | — |
case-12 | pass→pass | 11,153 | 5,886 | -47% | 1 | 1 | 0% | 2,093 | 4,710 | +125% | 0 | 0 | — |
case-22 | pass→pass | 16,369 | 15,233 | -7% | 1 | 1 | 0% | 2,779 | 5,985 | +115% | 0 | 0 | — |
case-01 | fail→fail | 17,221 | 17,950 | +4% | 1 | 1 | 0% | 3,328 | 7,125 | +114% | 0 | 0 | — |
case-02 | fail→fail | 22,317 | 16,658 | -25% | 1 | 1 | 0% | 3,936 | 6,751 | +72% | 0 | 0 | — |
case-07 | pass→pass | 12,964 | 14,789 | +14% | 1 | 1 | 0% | 2,402 | 6,229 | +159% | 0 | 0 | — |
case-08 | pass→pass | 17,470 | 20,067 | +15% | 1 | 1 | 0% | 2,960 | 7,320 | +147% | 0 | 0 | — |
case-09 | pass→pass | 20,082 | 18,990 | -5% | 1 | 1 | 0% | 3,422 | 6,950 | +103% | 0 | 0 | — |
case-10 | pass→pass | 16,594 | 16,378 | -1% | 1 | 1 | 0% | 2,618 | 6,440 | +146% | 0 | 0 | — |
case-11 | fail→fail | 16,329 | 9,664 | -41% | 1 | 1 | 0% | 2,541 | 5,207 | +105% | 0 | 0 | — |
case-13 | pass→pass | 8,021 | 4,989 | -38% | 1 | 1 | 0% | 1,581 | 4,520 | +186% | 0 | 0 | — |
case-14 | pass→pass | 14,084 | 14,464 | +3% | 1 | 1 | 0% | 2,268 | 6,054 | +167% | 0 | 0 | — |
case-15 | pass→pass | 14,671 | 12,946 | -12% | 1 | 1 | 0% | 2,527 | 5,782 | +129% | 0 | 0 | — |
case-16 | pass→pass | 14,052 | 11,992 | -15% | 1 | 1 | 0% | 2,384 | 5,582 | +134% | 0 | 0 | — |
case-17 | pass→pass | 14,223 | 10,303 | -28% | 1 | 1 | 0% | 2,458 | 5,436 | +121% | 0 | 0 | — |
case-18 | pass→pass | 14,456 | 15,131 | +5% | 1 | 1 | 0% | 2,424 | 6,276 | +159% | 0 | 0 | — |
case-19 | fail→pass | 16,925 | 17,184 | +2% | 1 | 1 | 0% | 2,751 | 6,478 | +135% | 0 | 0 | — |
case-20 | pass→pass | 7,711 | 6,451 | -16% | 1 | 1 | 0% | 1,374 | 4,682 | +241% | 0 | 0 | — |
case-21 | pass→pass | 16,670 | 12,649 | -24% | 1 | 1 | 0% | 3,414 | 6,212 | +82% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +14 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.