Skill de Analytics
Análise flexível de ciência de dados que funciona com qualquer conjunto de dados. Descobre automaticamente o esquema, recomenda visualizações e exporta no formato create-figure.
Início Rápido (Qualquer Conjunto de Dados)
cd .pi/skills/analytics
./run.sh describe data.jsonl
./run.sh chart data.jsonl --name distribution_channel -o chart.json
cd .agent/skills/create-figure
./run.sh metrics -i /path/to/chart.json --type bar -o chart.pdf
O Pipeline Integrado
Qualquer Dado (JSONL/JSON/CSV)
│
▼
┌─────────────────────────────────┐
│ analytics describe │ ← Descobre esquema, recomenda gráficos
│ "5 colunas categóricas, 2 numéricas, │
│ 1 coluna temporal detectada" │
│ Recomendações: │
│ - distribution_channel (barras) │
│ - trend_by_date (linha) │
│ - heatmap_hour_x_day │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ analytics chart/group-by │ ← Gera dados de gráfico no formato create-figure
│ --name distribution_channel │
│ -o chart.json │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ create-figure metrics │ ← Renderiza PDF/PNG de qualidade de publicação
│ -i chart.json --type bar │
│ -o channel_distribution.pdf │
└─────────────────────────────────┘
Comandos
Descoberta (Comece Aqui)
| Comando | Descrição |
|---|
describe <arquivo> | Descobre esquema, detecta tipos de coluna, recomenda gráficos |
./run.sh describe sales.jsonl
Análise Flexível
| Comando | Descrição |
|---|
group-by <arquivo> | Agrupa por qualquer coluna com agregação |
stats <arquivo> | Estatísticas numéricas e correlações |
chart <arquivo> | Gera especificação de gráfico para create-figure |
./run.sh group-by data.jsonl --by channel --for-figure -o by_channel.json
./run.sh group-by data.jsonl --by category --agg price --func sum
./run.sh stats data.jsonl --columns revenue,cost,profit
./run.sh chart data.jsonl --name distribution_channel -o chart.json
Dados com Timestamp (saídas ingest-*)
| Comando | Descrição |
|---|
insights <arquivo> | Resumo de análise completo (tendências, sessões, padrões) |
trends <arquivo> | Tendências de visualização com médias móveis |
sessions <arquivo> | Detecção de sessões e análise de maratona |
time-patterns <arquivo> | Distribuição por hora/dia |
evolution <arquivo> | Como as preferências mudam ao longo do tempo |
Saída
| Comando | Descrição |
|---|
export <arquivo> | Exporta em lote todos os gráficos padrão |
report <arquivo> | Relatório narrativo estilo Horus |
Formatos Suportados
| Formato | Extensão | Detecção Automática |
|---|
| JSONL | .jsonl | JSON delimitado por linha |
| JSON | .json | Array ou {data: [...]} |
| CSV | .csv | Separado por vírgulas |
Detecção de Tipo de Coluna
O comando describe detecta automaticamente:
| Tipo | Lógica de Detecção | Gráficos Recomendados |
|---|
| temporal | datetime64, strings com formato de data | linha, área, mapa de calor (eixo temporal) |
| numérico | int64, float64 | histograma, dispersão, estatísticas |
| categórico | baixa cardinalidade (≤20 únicos) | barras, pizza, mapa de calor |
| booleano | dtype bool | pizza (verdadeiro/falso) |
| texto | strings de alta cardinalidade | nuvem de palavras, top-N |
Recomendações de Gráfico
Com base nos tipos de coluna, o analytics recomenda:
| Padrão de Dados | Tipo de Gráfico | Comando create-figure |
|---|
| 1 categórica | barras, pizza | metrics --type bar |
| 1 temporal | linha | training-curves |
| 2 categóricas | mapa de calor | heatmap |
| temporal + categórica | mapa de calor | heatmap |
| 2+ numéricas | matriz de correlação | heatmap |
| 1 numérica | histograma | metrics --type bar |
Fluxo de Trabalho do Agente
Para um agente de projeto analisar qualquer conjunto de dados e visualizar:
resultado = executar("./run.sh describe data.jsonl --json")
recomendacoes = resultado["recommendations"]
nome_grafico = recomendacoes[0]["name"]
cmd = recomendacoes[0]["create_figure_cmd"]
executar(f"./run.sh chart data.jsonl --name {nome_grafico} -o chart.json")
executar(f"cd .agent/skills/create-figure && ./run.sh {cmd} -i chart.json -o chart.pdf")
Exemplos
Dados de Vendas de E-commerce
./run.sh describe orders.jsonl
./run.sh group-by orders.jsonl --by category --agg amount --func sum --for-figure -o revenue_by_category.json
cd .agent/skills/create-figure
./run.sh metrics -i revenue_by_category.json --type bar -o revenue.pdf
Histórico do YouTube (ingest-yt-history)
./run.sh insights ~/.pi/ingest-yt-history/history.jsonl
./run.sh export ~/.pi/ingest-yt-history/history.jsonl -o ./charts --for-figure
cd .agent/skills/create-figure
./run.sh heatmap -i charts/heatmap.json -o viewing_heatmap.pdf
Dados de Resposta de API
./run.sh describe api_logs.json
./run.sh stats api_logs.json --columns response_time
./run.sh group-by api_logs.json --by endpoint --agg response_time --func mean --for-figure -o latency.json
Dependências
dependencies = [
"pandas>=2.0.0",
"typer>=0.9.0",
"rich>=13.0.0",
]
Integração com Horus
./run.sh insights ~/.pi/ingest-yt-history/history.jsonl --horus
Erros Comuns
./run.sh stats data.jsonl --columns revenue,cost
./run.sh describe data.jsonl
./run.sh group-by data.jsonl --by date --agg views | ./run.sh metrics --type pie