xlsx

Criação, edição e análise abrangentes de planilhas com suporte a fórmulas, formatação, análise de dados e visualização. Para quando Claude precisar trabalhar com planilhas (.xlsx, .xlsm, .csv, .tsv, etc.) para: (1) Criar novas planilhas com fórmulas e formatação, (2) Ler ou analisar dados, (3) Modificar planilhas existentes preservando fórmulas, (4) Analisar dados e criar visualizações em planilhas, ou (5) Recalcular fórmulas.

O que é xlsx?

Esta skill capacita o Claude a criar, editar e analisar arquivos de planilha do Excel (.xlsx) com suporte completo a fórmulas, formatação e análise de dados. É ideal para tarefas como construir modelos financeiros, manipular dados tabulares e gerar relatórios dinâmicos. A skill enfatiza o uso de fórmulas do Excel em vez de valores calculados manualmente em Python, garantindo que as planilhas permaneçam atualizáveis e dinâmicas. Compatível com as principais bibliotecas Python (openpyxl para formatação complexa e fórmulas; pandas para análise de dados), ela também inclui um script de recálculo (`recalc.py`) que utiliza o LibreOffice para reavaliar todas as fórmulas e detectar erros como #REF! e #DIV/0!. A documentação detalhada (SKILL.md) fornece padrões rigorosos para modelos financeiros — como convenções de cores (entradas em azul, fórmulas em preto), formatação de números (anos como texto, moeda com $#,##0, zeros como '-') e regras para evitar erros de fórmula (referências a células de premissas, documentação de valores fixos). Também cobre fluxos de trabalho comuns, uma checklist de verificação de fórmulas e boas práticas para trabalhar com openpyxl e pandas.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-claude-skills/tree/master/document-skills/xlsx

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Requisitos para Resultados

Todos os arquivos Excel

Zero Erros de Fórmula

  • Cada modelo Excel DEVE ser entregue com ZERO erros de fórmula (#REF!, #DIV/0!, #VALUE!, #N/A, #NAME?)

Preservar Modelos Existentes (ao atualizar modelos)

  • Estudar e COINCIDIR EXATAMENTE o formato, estilo e convenções existentes ao modificar arquivos
  • Nunca impor formatação padronizada em arquivos com padrões estabelecidos
  • As convenções do modelo existente SEMPRE substituem estas diretrizes

Modelos Financeiros

Padrões de Código de Cores

A menos que especificado pelo usuário ou pelo modelo existente

Convenções de Cores Padrão do Setor

  • Texto azul (RGB: 0,0,255): Entradas fixas e números que o usuário alterará para cenários
  • Texto preto (RGB: 0,0,0): TODAS as fórmulas e cálculos
  • Texto verde (RGB: 0,128,0): Links que puxam de outras planilhas dentro do mesmo arquivo
  • Texto vermelho (RGB: 255,0,0): Links externos para outros arquivos
  • Fundo amarelo (RGB: 255,255,0): Premissas principais que precisam de atenção ou células que precisam ser atualizadas

Padrões de Formatação de Números

Regras de Formatação Obrigatórias

  • Anos: Formatar como strings de texto (ex.: "2024" não "2.024")
  • Moeda: Usar formato $#,##0; SEMPRE especificar unidades nos cabeçalhos ("Receita ($mm)")
  • Zeros: Usar formatação de número para tornar todos os zeros "-", incluindo percentuais (ex.: "$#,##0;($#,##0);-")
  • Percentuais: Padrão para formato 0,0% (uma casa decimal)
  • Múltiplos: Formatar como 0,0x para múltiplos de valuation (EV/EBITDA, P/L)
  • Números negativos: Usar parênteses (123) não sinal de menos -123

Regras de Construção de Fórmulas

Posicionamento de Premissas

  • Colocar TODAS as premissas (taxas de crescimento, margens, múltiplos, etc.) em células de premissas separadas
  • Usar referências de célula em vez de valores fixos nas fórmulas
  • Exemplo: Use =B5*(1+$B$6) em vez de =B5*1,05

Prevenção de Erros de Fórmula

  • Verificar se todas as referências de célula estão corretas
  • Verificar erros de deslocamento (off-by-one) em intervalos
  • Garantir consistência das fórmulas em todos os períodos de projeção
  • Testar com casos extremos (valores zero, números negativos)
  • Verificar se não há referências circulares não intencionais

Requisitos de Documentação para Valores Fixos

  • Comentar ou adicionar ao lado das células (se for final de tabela). Formato: "Fonte: [Sistema/Documento], [Data], [Referência Específica], [URL se aplicável]"
  • Exemplos:
    • "Fonte: 10-K da Empresa, FY2024, Página 45, Nota de Receita, [URL SEC EDGAR]"
    • "Fonte: 10-Q da Empresa, Q2 2025, Exibição 99.1, [URL SEC EDGAR]"
    • "Fonte: Terminal Bloomberg, 15/08/2025, AAPL US Equity"
    • "Fonte: FactSet, 20/08/2025, Tela de Estimativas Consenso"

Criação, edição e análise de XLSX

Visão Geral

Um usuário pode pedir que você crie, edite ou analise o conteúdo de um arquivo .xlsx. Você tem diferentes ferramentas e fluxos de trabalho disponíveis para diferentes tarefas.

Requisitos Importantes

LibreOffice Necessário para Recálculo de Fórmulas: Você pode assumir que o LibreOffice está instalado para recalcular valores de fórmulas usando o script recalc.py. O script configura automaticamente o LibreOffice na primeira execução.

Leitura e análise de dados

Análise de dados com pandas

Para análise de dados, visualização e operações básicas, use pandas, que oferece recursos poderosos de manipulação de dados:

import pandas as pd

# Ler Excel
df = pd.read_excel('arquivo.xlsx')  # Padrão: primeira planilha
todas_planilhas = pd.read_excel('arquivo.xlsx', sheet_name=None)  # Todas as planilhas como dicionário

# Analisar
df.head()      # Visualizar dados
df.info()      # Informações das colunas
df.describe()  # Estatísticas

# Escrever Excel
df.to_excel('saida.xlsx', index=False)

Fluxos de Trabalho com Arquivos Excel

CRÍTICO: Use Fórmulas, Não Valores Fixos

Sempre use fórmulas do Excel em vez de calcular valores em Python e fixá-los. Isso garante que a planilha permaneça dinâmica e atualizável.

❌ ERRADO - Fixar Valores Calculados

# Ruim: Calculando em Python e fixando o resultado
total = df['Vendas'].sum()
planilha['B10'] = total  # Fixa 5000

# Ruim: Calculando taxa de crescimento em Python
crescimento = (df.iloc[-1]['Receita'] - df.iloc[0]['Receita']) / df.iloc[0]['Receita']
planilha['C5'] = crescimento  # Fixa 0,15

# Ruim: Cálculo de média em Python
media = sum(valores) / len(valores)
planilha['D20'] = media  # Fixa 42,5

✅ CORRETO - Usando Fórmulas do Excel

# Bom: Deixe o Excel calcular a soma
planilha['B10'] = '=SUM(B2:B9)'

# Bom: Taxa de crescimento como fórmula do Excel
planilha['C5'] = '=(C4-C2)/C2'

# Bom: Média usando função do Excel
planilha['D20'] = '=AVERAGE(D2:D19)'

Isso se aplica a TODOS os cálculos - totais, percentuais, índices, diferenças, etc. A planilha deve ser capaz de recalcular quando os dados de origem mudarem.

Fluxo de Trabalho Comum

  1. Escolher ferramenta: pandas para dados, openpyxl para fórmulas/formatação
  2. Criar/Carregar: Criar nova pasta de trabalho ou carregar arquivo existente
  3. Modificar: Adicionar/editar dados, fórmulas e formatação
  4. Salvar: Escrever no arquivo
  5. Recalcular fórmulas (OBRIGATÓRIO SE USAR FÓRMULAS): Usar o script recalc.py
    python recalc.py saida.xlsx
    
  6. Verificar e corrigir quaisquer erros:
    • O script retorna JSON com detalhes dos erros
    • Se o status for errors_found, verifique error_summary para tipos e locais específicos de erros
    • Corrija os erros identificados e recalcule novamente
    • Erros comuns para corrigir:
      • #REF!: Referências de célula inválidas
      • #DIV/0!: Divisão por zero
      • #VALUE!: Tipo de dado errado na fórmula
      • #NAME?: Nome de fórmula não reconhecido

Criando novos arquivos Excel

# Usando openpyxl para fórmulas e formatação
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = Workbook()
planilha = wb.active

# Adicionar dados
planilha['A1'] = 'Olá'
planilha['B1'] = 'Mundo'
planilha.append(['Linha', 'de', 'dados'])

# Adicionar fórmula
planilha['B2'] = '=SUM(A1:A10)'

# Formatação
planilha['A1'].font = Font(bold=True, color='FF0000')
planilha['A1'].fill = PatternFill('solid', start_color='FFFF00')
planilha['A1'].alignment = Alignment(horizontal='center')

# Largura da coluna
planilha.column_dimensions['A'].width = 20

wb.save('saida.xlsx')

Editando arquivos Excel existentes

# Usando openpyxl para preservar fórmulas e formatação
from openpyxl import load_workbook

# Carregar arquivo existente
wb = load_workbook('existente.xlsx')
planilha = wb.active  # ou wb['NomePlanilha'] para planilha específica

# Trabalhando com múltiplas planilhas
for nome_planilha in wb.sheetnames:
    planilha = wb[nome_planilha]
    print(f"Planilha: {nome_planilha}")

# Modificar células
planilha['A1'] = 'Novo Valor'
planilha.insert_rows(2)  # Inserir linha na posição 2
planilha.delete_cols(3)  # Excluir coluna 3

# Adicionar nova planilha
nova_planilha = wb.create_sheet('NovaPlanilha')
nova_planilha['A1'] = 'Dados'

wb.save('modificado.xlsx')

Recalculando fórmulas

Arquivos Excel criados ou modificados pelo openpyxl contêm fórmulas como strings, mas não valores calculados. Use o script recalc.py fornecido para recalcular fórmulas:

python recalc.py <arquivo_excel> [tempo_limite_segundos]

Exemplo:

python recalc.py saida.xlsx 30

O script:

  • Configura automaticamente a macro do LibreOffice na primeira execução
  • Recalcula todas as fórmulas em todas as planilhas
  • Examina TODAS as células em busca de erros do Excel (#REF!, #DIV/0!, etc.)
  • Retorna JSON com locais detalhados de erros e contagens
  • Funciona tanto no Linux quanto no macOS

Lista de Verificação de Fórmulas

Verificações rápidas para garantir que as fórmulas funcionem corretamente:

Verificação Essencial

  • Testar 2-3 referências de amostra: Verificar se puxam os valores corretos antes de construir o modelo completo
  • Mapeamento de colunas: Confirmar se as colunas do Excel correspondem (ex.: coluna 64 = BL, não BK)
  • Deslocamento de linhas: Lembre-se de que as linhas do Excel são indexadas a partir de 1 (linha 5 do DataFrame = linha 6 do Excel)

Armadilhas Comuns

  • Manipulação de NaN: Verificar valores nulos com pd.notna()
  • Colunas à extrema direita: Dados de FY geralmente estão nas colunas 50+
  • Múltiplas correspondências: Pesquisar todas as ocorrências, não apenas a primeira
  • Divisão por zero: Verificar denominadores antes de usar / em fórmulas (#DIV/0!)
  • Referências erradas: Verificar se todas as referências de célula apontam para as células pretendidas (#REF!)
  • Referências entre planilhas: Usar o formato correto (Planilha1!A1) para vincular planilhas

Estratégia de Teste de Fórmulas

  • Começar pequeno: Testar fórmulas em 2-3 células antes de aplicar amplamente
  • Verificar dependências: Checar se todas as células referenciadas nas fórmulas existem
  • Testar casos extremos: Incluir valores zero, negativos e muito grandes

Interpretando a Saída do recalc.py

O script retorna JSON com detalhes dos erros:

{
  "status": "success",           // ou "errors_found"
  "total_errors": 0,              // Contagem total de erros
  "total_formulas": 42,           // Número de fórmulas no arquivo
  "error_summary": {              // Presente apenas se erros forem encontrados
    "#REF!": {
      "count": 2,
      "locations": ["Planilha1!B5", "Planilha1!C10"]
    }
  }
}

Boas Práticas

Seleção de Biblioteca

  • pandas: Melhor para análise de dados, operações em lote e exportação simples de dados
  • openpyxl: Melhor para formatação complexa, fórmulas e funcionalidades específicas do Excel

Trabalhando com openpyxl

  • Índices de célula são baseados em 1 (linha=1, coluna=1 refere-se à célula A1)
  • Use data_only=True para ler valores calculados: load_workbook('arquivo.xlsx', data_only=True)
  • Aviso: Se aberto com data_only=True e salvo, as fórmulas são substituídas por valores e perdidas permanentemente
  • Para arquivos grandes: Use read_only=True para leitura ou write_only=True para escrita
  • As fórmulas são preservadas, mas não avaliadas - use recalc.py para atualizar valores

Trabalhando com pandas

  • Especifique tipos de dados para evitar problemas de inferência: pd.read_excel('arquivo.xlsx', dtype={'id': str})
  • Para arquivos grandes, leia colunas específicas: pd.read_excel('arquivo.xlsx', usecols=['A', 'C', 'E'])
  • Lide com datas corretamente: pd.read_excel('arquivo.xlsx', parse_dates=['coluna_data'])

Diretrizes de Estilo de Código

IMPORTANTE: Ao gerar código Python para operações com Excel:

  • Escreva código Python mínimo e conciso, sem comentários desnecessários
  • Evite nomes de variáveis prolixos e operações redundantes
  • Evite instruções print desnecessárias

Para os próprios arquivos Excel:

  • Adicione comentários às células com fórmulas complexas ou premissas importantes
  • Documente fontes de dados para valores fixos
  • Inclua notas para cálculos e seções principais do modelo

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

agent-mail-automation

Automate Agent Mail tasks via Rube MCP (Composio). Always search tools first for current schemas.

agentql-automation

Automate Agentql tasks via Rube MCP (Composio). Always search tools first for current schemas.

agenty-automation

Automate Agenty tasks via Rube MCP (Composio). Always search tools first for current schemas.

Habilidades Relacionadas