Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Data Explore

ASecurity

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.

529 stars
0 votes
0 copies
1 views
Added 5/29/2026
ai-agentsgosqlapi

Works with

cliapi

Security Analysis

A100/100

Scanned 5/29/2026

$npx -y skills add evolution-foundation/evo-nexus --skill data-explore --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Explore?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Data Explore
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/evolution-foundation-data-explore/badge)](https://www.skillsdirectory.com/skills/evolution-foundation-data-explore)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: data-explore
description: 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.
argument-hint: "<nome da tabela, fonte de dados ou arquivo>"
---

# data-explore — Perfilar e Explorar um Dataset

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.

## Uso

```
/data-explore <nome_da_tabela ou arquivo>
```

## Fluxo de Trabalho

### 1. Acessar os Dados

**Se a fonte de dados estiver disponível via skill ou conexão PostgreSQL:**

1. Resolver o nome da tabela (tratar prefixos de schema, sugerir correspondências se ambíguo)
2. Consultar metadados da tabela: nomes de colunas, tipos, descrições se disponíveis
3. Executar queries de perfilamento contra os dados ao vivo

**Se um arquivo for fornecido (CSV, Excel, Parquet, JSON):**

1. Ler o arquivo e carregar no dataset de trabalho
2. Inferir tipos de colunas a partir dos dados

**Se for uma fonte do workspace (Stripe, Omie, Licensing, Evo CRM):**

1. Usar a skill correspondente (`int-stripe`, `int-omie`, `int-licensing`, `int-evo-crm`)
2. Extrair uma amostra representativa
3. Prosseguir com o perfilamento sobre os dados extraídos

**Se nenhum dado estiver disponível:**

1. Pedir ao usuário que forneça o nome de uma tabela (com fonte conectada) ou faça upload de um arquivo
2. Se descrever um schema de tabela, fornecer orientação sobre quais queries de perfilamento executar

### 2. Entender a Estrutura

Antes de analisar qualquer dado, entender sua estrutura:

**Perguntas a nível de tabela:**
- Quantas linhas e colunas?
- Qual é o grain (uma linha por quê)?
- Qual é a chave primária? É única?
- Quando os dados foram atualizados pela última vez?
- Até quando os dados retroagem?

**Classificação de colunas** — categorizar cada coluna como uma de:
- **Identificador**: Chaves únicas, chaves estrangeiras, IDs de entidade
- **Dimensão**: Atributos categóricos para agrupamento/filtragem (status, tipo, plano, país)
- **Métrica**: Valores quantitativos para medição (receita, contagem, duração, score)
- **Temporal**: Datas e timestamps (criado_em, atualizado_em, data_evento)
- **Texto**: Campos de texto livre (descrição, notas, nome)
- **Booleano**: Flags verdadeiro/falso
- **Estrutural**: JSON, arrays, estruturas aninhadas

### 3. Gerar Perfil de Dados

Executar as seguintes verificações de perfilamento:

**Métricas a nível de tabela:**
- Contagem total de linhas
- Contagem de colunas e breakdown de tipos
- Tamanho aproximado da tabela (se disponível nos metadados)
- Cobertura do intervalo de datas (min/max das colunas de data)

**Todas as colunas:**
- Contagem de nulos e taxa de nulos
- Contagem distinta e razão de cardinalidade (distinto / total)
- Valores mais comuns (top 5-10 com frequências)
- Valores menos comuns (bottom 5 para identificar anomalias)

**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/depois
```

**Colunas 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 temporal
```

**Colunas booleanas:**
```
contagem de verdadeiro, falso, nulo
taxa de verdadeiro
```

**Apresentar o perfil como uma tabela de resumo limpa**, agrupada por tipo de coluna (dimensões, métricas, datas, IDs).

### 4. Identificar Problemas de Qualidade dos Dados

Aplicar o framework de avaliação de qualidade abaixo. Sinalizar problemas potenciais:

- **Altas taxas de nulo**: Colunas com >5% de nulos (avisar), >20% de nulos (alertar)
- **Surpresas de baixa cardinalidade**: Colunas que deveriam ser de alta cardinalidade mas não são (ex: um `instancia_id` com apenas 50 valores distintos)
- **Surpresas de alta cardinalidade**: Colunas que deveriam ser categóricas mas têm muitos valores distintos
- **Valores suspeitos**: Valores negativos onde apenas positivos são esperados, datas futuras em dados históricos, valores claramente placeholder (ex: "N/A", "TBD", "test", "999999", "0000-00-00")
- **Detecção de duplicatas**: Verificar se há uma chave natural e se ela tem duplicatas
- **Distorção de distribuição**: Distribuições numéricas extremamente distorcidas que podem afetar médias
- **Problemas de encoding**: Case misto em campos categóricos, espaços em branco, formatos inconsistentes

### 5. Descobrir Relacionamentos e Padrões

Após perfilar colunas individuais:

- **Candidatos a chave estrangeira**: Colunas de ID que podem se ligar a outras tabelas
- **Hierarquias**: Colunas que formam caminhos naturais de drill-down (país > estado > cidade)
- **Correlações**: Colunas numéricas que se movem juntas
- **Colunas derivadas**: Colunas que parecem calculadas a partir de outras
- **Colunas redundantes**: Colunas com informações idênticas ou quase idênticas

### 6. Sugerir Dimensões e Métricas Interessantes

Com base no perfil de colunas, recomendar:

- **Melhores colunas de dimensão** para segmentar dados (colunas categóricas com cardinalidade razoável, 3-50 valores)
- **Colunas de métrica-chave** para medição (colunas numéricas com distribuições significativas)
- **Colunas de tempo** adequadas para análise de tendências
- **Agrupamentos naturais** ou hierarquias aparentes nos dados
- **Chaves de join potenciais** para ligar a outras tabelas

### 7. Recomendar Análises de Acompanhamento

Sugerir 3-5 análises específicas que o usuário poderia executar a seguir:

- "Análise de tendência em [métrica] por [coluna_temporal] agrupada por [dimensão]"
- "Aprofundamento de distribuição em [coluna_distorcida] para entender outliers"
- "Investigação de qualidade de dados em [coluna_problemática]"
- "Análise de correlação entre [métrica_a] e [métrica_b]"
- "Análise de cohort usando [coluna_data] e [coluna_status]"

## Formato de Saída

```
## 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]
```

---

## Framework de Avaliação de Qualidade

### Score de Completude

Avaliar cada coluna:
- **Completa** (>99% não-nulo): Verde
- **Majoritariamente completa** (95-99%): Amarelo — investigar os nulos
- **Incompleta** (80-95%): Laranja — entender por que e se importa
- **Esparsa** (<80%): Vermelho — pode não ser utilizável sem imputação

### Verificações de Consistência

Procurar por:
- **Inconsistência de formato de valor**: Mesmo conceito representado diferentemente ("Brasil", "BR", "Brazil", "br")
- **Inconsistência de tipo**: Números armazenados como strings, datas em vários formatos
- **Integridade referencial**: Chaves estrangeiras que não correspondem a nenhum registro pai
- **Violações de regras de negócio**: Quantidades negativas, datas de fim antes de datas de início, percentuais > 100
- **Consistência entre colunas**: Status = "concluído" mas `concluido_em` é nulo

### Indicadores de Precisão

Sinais de alerta que sugerem problemas de precisão:
- **Valores placeholder**: 0, -1, 999999, "N/A", "TBD", "test", "xxx"
- **Valores padrão**: Frequência suspeitosamente alta de um único valor
- **Dados desatualizados**: `atualizado_em` não mostra alterações recentes em um sistema ativo
- **Valores impossíveis**: Idades > 150, datas no futuro distante, durações negativas
- **Viés de números redondos**: Todos os valores terminando em 0 ou 5 (sugere estimativa, não medição)

### Avaliação de Atualidade

- Quando a tabela foi atualizada pela última vez?
- Qual é a frequência esperada de atualização?
- Há uma defasagem entre o tempo do evento e o tempo de carga?
- Existem lacunas na série temporal?

## Técnicas de Descoberta de Padrões

### Análise de Distribuição

Para colunas numéricas, caracterizar a distribuição:
- **Normal**: Média e mediana próximas, formato de sino
- **Assimetria à direita**: Cauda longa de valores altos (comum para receita, duração de sessão)
- **Assimetria à esquerda**: Cauda longa de valores baixos (menos comum)
- **Bimodal**: Dois picos (sugere duas populações distintas)
- **Lei de potência**: Poucos valores muito grandes, muitos pequenos (comum para atividade de usuário)
- **Uniforme**: Frequência aproximadamente igual ao longo do intervalo (frequentemente sintético ou aleatório)

### Padrões Temporais

Para dados de séries temporais, procurar por:
- **Tendência**: Movimento sustentado para cima ou para baixo
- **Sazonalidade**: Padrões repetitivos (semanal, mensal, trimestral, anual)
- **Efeitos de dia da semana**: Diferenças entre dias úteis e fins de semana
- **Efeitos de feriado**: Quedas ou picos em torno de feriados conhecidos (feriados brasileiros)
- **Pontos de mudança**: Mudanças abruptas no nível ou tendência
- **Anomalias**: Pontos de dados individuais que quebram o padrão

### Descoberta de Segmentação

Identificar segmentos naturais por:
- Encontrar colunas categóricas com 3-20 valores distintos
- Comparar distribuições de métricas entre valores de segmento
- Procurar segmentos com comportamento significativamente diferente
- Testar se os segmentos são homogêneos ou contêm sub-segmentos

### Exploração de Correlação

Entre colunas numéricas:
- Calcular matriz de correlação para todos os pares de métricas
- Sinalizar correlações fortes (|r| > 0,7) para investigação
- Nota: Correlação não implica causalidade — sinalizar isso explicitamente
- Verificar relacionamentos não lineares (ex: quadrático, logarítmico)

## Documentação de Schema

### Template de Documentação de Schema

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]
```

### Queries de Exploração de Schema (PostgreSQL)

```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;
```

## Dicas

- Para tabelas muito grandes (100M+ linhas), queries de perfilamento usam amostragem por padrão — mencionar se precisar de contagens exatas
- Se explorando um dataset pela primeira vez, este comando fornece a visão geral antes de escrever queries específicas
- Os sinalizadores de qualidade são heurísticos — nem todo sinal é um problema real, mas cada um merece uma verificação rápida
- Sempre verificar os dados no contexto: o que faz sentido para Stripe é diferente do que faz sentido para Licensing

Attribution

evolution-foundationevolution-foundation
View sourceSee grades on GitHubMore from evolution-foundation →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →