Communitygithub.com

David-Li0406/meta-skill-evloving

Criação, edição e análise abrangente de planilhas com suporte a fórmulas, formatação, análise de dados e visualização. 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) Análise de dados e visualização em planilhas, ou (5) Recalcular fórmulas.

O que é meta-skill-evloving?

Este skill para agentes de IA (como Claude Code, Cursor, Codex) capacita o agente a criar, editar e analisar arquivos de planilha do Excel (.xlsx, .xlsm) e outros formatos tabulares (.csv, .tsv). Ele é projetado para tarefas que vão desde a construção de modelos financeiros complexos até a análise exploratória de dados. O skill impõe rigorosos padrões de qualidade, como zero erros de fórmula (#REF!, #DIV/0!) e a preservação de templates existentes, garantindo que as planilhas geradas sejam robustas e profissionais. Para modelos financeiros, ele aplica convenções de mercado, como codificação de cores para entradas (azul), fórmulas (preto) e links (verde/vermelho), além de regras de formatação de números para anos, moedas e porcentagens. O skill promove o uso de bibliotecas Python como `openpyxl` para fórmulas e formatação complexa e `pandas` para análise de dados, com um fluxo de trabalho obrigatório de recálculo de fórmulas via `recalc.py` para garantir que todos os valores calculados estejam corretos. A abordagem central é usar fórmulas do Excel em vez de valores duros, mantendo as planilhas dinâmicas e atualizáveis. Inclui também uma checklist de verificação de fórmulas para evitar erros comuns, como referências incorretas e divisão por zero.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/David-Li0406/meta-skill-evloving/tree/HEAD/AgentSkillOS/data/skill_seeds/xlsx

Perguntar na sua IA favorita

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

Documentação

Requisitos para Saídas

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 Templates Existentes (ao atualizar templates)

  • Estudar e COMBINAR 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 template existente SEMPRE substituem estas diretrizes

Modelos Financeiros

Padrões de Codificação de Cores

A menos que seja especificado de outra forma pelo usuário ou template existente

Convenções de Cores Padrão da Indústria

  • Texto azul (RGB: 0,0,255): Entradas fixas e números que os usuários alterarão 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 workbook
  • Texto vermelho (RGB: 255,0,0): Links externos para outros arquivos
  • Fundo amarelo (RGB: 255,255,0): Premissas-chave que precisam de atenção ou células que precisam ser atualizadas

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

Regras de Formato 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 porcentagens (ex.: "$#.##0;($#.##0);-")
  • Porcentagens: 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: Usar =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 em intervalos
  • Garantir fórmulas consistentes 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 em células ao lado (se for final da tabela). Formato: "Fonte: [Sistema/Documento], [Data], [Referência Específica], [URL se aplicável]"
  • Exemplos:
    • "Fonte: 10-K da Empresa, AF2024, Página 45, Nota de Receita, [URL SEC EDGAR]"
    • "Fonte: 10-Q da Empresa, T2 2025, Anexo 99.1, [URL SEC EDGAR]"
    • "Fonte: Terminal Bloomberg, 15/08/2025, AAPL US Equity"
    • "Fonte: FactSet, 20/08/2025, Tela de Estimativas de Consenso"

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

Visão Geral

Um usuário pode solicitar 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 Recalcular Fórmulas: Você pode assumir que o LibreOffice está instalado para recalcular valores de fórmula usando o script recalc.py. O script configura automaticamente o LibreOffice na primeira execução

Lendo e analisando dados

Análise de dados com pandas

Para análise de dados, visualização e operações básicas, use pandas que fornece capacidades poderosas de manipulação de dados:

import pandas as pd

# Ler Excel
df = pd.read_excel('arquivo.xlsx')  # Padrão: primeira planilha
todas_as_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 de 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 - Valores Calculados Fixos

# 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 = soma(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, porcentagens, índices, diferenças, etc. A planilha deve ser capaz de recalcular quando os dados de origem mudam.

Fluxo de Trabalho Comum

  1. Escolher ferramenta: pandas para dados, openpyxl para fórmulas/formatação
  2. Criar/Carregar: Criar novo workbook 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 do erro
    • Se status for errors_found, verifique error_summary para tipos e locais específicos de erro
    • Corrigir os erros identificados e recalcular novamente
    • Erros comuns a 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 por 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> [segundos_timeout]

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
  • Escaneia TODAS as células em busca de erros do Excel (#REF!, #DIV/0!, etc.)
  • Retorna JSON com locais de erro detalhados e contagens
  • Funciona tanto em Linux quanto em macOS

Checklist 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 elas puxam 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 linha: Lembrar que as linhas do Excel são indexadas a partir de 1 (linha 5 do DataFrame = linha 6 do Excel)

Armadilhas Comuns

  • Tratamento de NaN: Verificar valores nulos com pd.notna()
  • Colunas à direita: Dados de AF 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 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: Verificar 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 do erro:

{
  "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 encontrados
    "#REF!": {
      "count": 2,
      "locations": ["Planilha1!B5", "Planilha1!C10"]
    }
  }
}

Melhores 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 recursos específicos do Excel

Trabalhando com openpyxl

  • Índices de célula são baseados em 1 (linha=1, coluna=1 refere-se à célula A1)
  • Usar 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 permanentemente perdidas
  • Para arquivos grandes: Usar 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 os valores

Trabalhando com pandas

  • Especificar tipos de dados para evitar problemas de inferência: pd.read_excel('arquivo.xlsx', dtype={'id': str})
  • Para arquivos grandes, ler colunas específicas: pd.read_excel('arquivo.xlsx', usecols=['A', 'C', 'E'])
  • Lidar 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:

  • Escrever código Python mínimo e conciso, sem comentários desnecessários
  • Evitar nomes de variáveis verbosos e operações redundantes
  • Evitar declarações print desnecessárias

Para os próprios arquivos Excel:

  • Adicionar comentários em células com fórmulas complexas ou premissas importantes
  • Documentar fontes de dados para valores fixos
  • Incluir notas para cálculos-chave e seções do modelo

Individual skills in this repo

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

David-Li0406/meta-skill-evloving

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

David-Li0406/meta-skill-evloving

Create technical diagrams using Mermaid syntax for architecture, sequences, ERDs, flowcharts, and state machines. Use for visualizing system design, data flows, and processes. Triggers: diagram, mermaid, architecture diagram, sequence diagram, flowchart, ERD, entity relationship, state diagram, C4 model, component diagram, visualize, draw.

David-Li0406/meta-skill-evloving

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

David-Li0406/meta-skill-evloving

Complete color manipulation and green screen effects system. PROACTIVELY activate for: (1) Green screen/chromakey removal, (2) Color grading with LUTs, (3) Color correction (levels, curves, white balance), (4) Colorkey/color removal effects, (5) Hue/saturation manipulation, (6) Color space conversions (BT.709, BT.2020, HDR), (7) Color isolation effects, (8) Teal and orange look, (9) Vintage/film looks, (10) Color keying for transparency. Provides: chromakey and colorkey filters, LUT application (lut3d), curves and levels adjustment, color balance, selective color manipulation, color space handling, HDR tone mapping, professional color grading chains.

David-Li0406/meta-skill-evloving

Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.

David-Li0406/meta-skill-evloving

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

David-Li0406/meta-skill-evloving

Build with OpenAI's stateless APIs - Chat Completions (GPT-5, GPT-4o), Embeddings, Images (DALL-E 3), Audio (Whisper + TTS), and Moderation. Includes Node.js SDK and fetch-based approaches for Cloudflare Workers. Use when: implementing chat completions with GPT-5/GPT-4o, streaming responses with SSE, using function calling/tools, creating structured outputs with JSON schemas, generating embeddings for RAG (text-embedding-3-small/large), generating images with DALL-E 3, editing images with GPT-Image-1, transcribing audio with Whisper, synthesizing speech with TTS (11 voices), moderating content (11 safety categories), or troubleshooting rate limits (429), invalid API keys (401), function calling failures, streaming parse errors, embeddings dimension mismatches, or token limit exceeded.

David-Li0406/meta-skill-evloving

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

David-Li0406/meta-skill-evloving

Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks

David-Li0406/meta-skill-evloving

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

David-Li0406/meta-skill-evloving

Best practices for Remotion - Video creation in React

David-Li0406/meta-skill-evloving

Provides bidirectional translation (Chinese/English), grammar checking, and sentence polishing. Supports specific tense constraints, context-aware tone adjustment, and natural expression optimization. Outputs direct text without formatting.

David-Li0406/meta-skill-evloving

指导如何通过自定义注解(如@Unicom)标识Dubbo接口,利用BeanDefinitionRegistryPostProcessor在启动时扫描并动态注册ReferenceBean,实现RPC调用的封装。

David-Li0406/meta-skill-evloving

生成Python脚本,利用FFmpeg将图片序列按3x3布局合并,或将合并图拆分。要求使用subprocess模块执行命令,并支持用户交互式输入路径。

David-Li0406/meta-skill-evloving

SOP for extracting and analyzing promotional activity details, handling time formatting, location mapping, payment logic, and step-by-step process validation.

David-Li0406/meta-skill-evloving

Specializes in creating TikTok short video scripts using an anthropomorphic 'Chef' perspective to explain wildlife food chains and survival environments, utilizing real field footage.

David-Li0406/meta-skill-evloving

针对TikTok平台,以拟人化视角(如动物作为厨师)创作系列短视频脚本。重点介绍野生动物、食物链及生态环境,要求使用野外实拍素材,风格幽默且具有教育意义。

David-Li0406/meta-skill-evloving

Generates KWL (Know, Want to know, Learned) charts for educational videos, specifically BrainPOP, using simple 7th-grade language and short, concise bullet points.

David-Li0406/meta-skill-evloving

Develops DAX measures to calculate promo and regular volumes and generates a calculated table of dates excluding continuous promo date ranges, handling multiple periods and nulls.

David-Li0406/meta-skill-evloving

Tracks complex, multi-session work using the Beads issue tracker and dependency graphs, and provides persistent memory that survives conversation compaction. Use when work spans multiple sessions, has complex dependencies, or needs persistent context across compaction cycles. Trigger with phrases like "create task for", "what's ready to work on", "show task", "track this work", "what's blocking", or "update status".

Habilidades Relacionadas