Agent skill

exportando-arquivos

Gera arquivos Excel, CSV ou JSON para download pelo usuario. Use quando o usuario pedir para exportar dados, criar planilha, gerar relatorio ou baixar informacoes. SEMPRE use esta skill em vez de Write para criar arquivos que o usuario precisa baixar.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/exportando-arquivos

SKILL.md

Exportando Arquivos - Gerar Downloads para Usuario

Skill para criacao de arquivos que o usuario pode baixar.

ESCOPO: Esta skill CRIA arquivos Excel, CSV e JSON para download. Para LER arquivos enviados pelo usuario, use lendo-arquivos. IMPORTANTE: SEMPRE use esta skill em vez da tool Write para arquivos de download!

Script Principal

exportar.py

bash
source .venv/bin/activate && \
echo '{"dados": [...]}' | python .claude/skills/exportando-arquivos/scripts/exportar.py [opcoes]

Formatos de Saida

FORMATOS SUPORTADOS
│
├── Excel (.xlsx)
│   Engine: xlsxwriter
│   Recursos: Formatacao, cabecalho colorido, largura auto
│
├── CSV (.csv)
│   Separador: ponto-e-virgula (;)
│   Encoding: UTF-8 com BOM
│
└── JSON (.json)
    Formatacao: indentado, UTF-8
    Uso: Integracao com outros sistemas

Parametros

Parametros Principais

Parametro Obrigatorio Descricao Exemplo
--formato Sim Formato do arquivo --formato excel
--nome Sim Nome do arquivo (sem extensao) --nome pedidos_atacadao
--titulo Nao Titulo da planilha (Excel) --titulo "Pedidos Atacadao"
--colunas Nao Colunas a incluir (JSON array) --colunas '["Pedido","Cliente"]'

Entrada de Dados

Dados sao recebidos via stdin no formato JSON:

json
{
  "dados": [
    {"Pedido": "VCD123", "Cliente": "ATACADAO 123", "Valor": 50000},
    {"Pedido": "VCD456", "Cliente": "ATACADAO 456", "Valor": 75000}
  ]
}

Exemplos de Uso

Gerar Excel simples

bash
source .venv/bin/activate && \
echo '{"dados": [{"col1": "val1"}]}' | python .claude/skills/exportando-arquivos/scripts/exportar.py \
  --formato excel \
  --nome relatorio

Gerar Excel com titulo

bash
echo '{"dados": [...]}' | python .../exportar.py \
  --formato excel \
  --nome pedidos_atacadao \
  --titulo "10 Maiores Pedidos"

Gerar CSV

bash
echo '{"dados": [...]}' | python .../exportar.py \
  --formato csv \
  --nome exportacao

Gerar JSON

bash
echo '{"dados": [...]}' | python .../exportar.py \
  --formato json \
  --nome dados

Selecionar colunas

bash
echo '{"dados": [...]}' | python .../exportar.py \
  --formato excel \
  --nome resumo \
  --colunas '["Pedido", "Valor"]'

Retorno JSON

json
{
  "sucesso": true,
  "arquivo": {
    "nome": "abc123_pedidos.xlsx",
    "nome_original": "pedidos.xlsx",
    "url": "/agente/api/files/default/abc123_pedidos.xlsx",
    "tamanho": 15234,
    "tamanho_formatado": "14.9 KB",
    "registros": 10,
    "formato": "excel"
  },
  "mensagem": "Arquivo EXCEL criado com 10 registros!",
  "instrucao_agente": "Informe ao usuario... 📥 **[Clique aqui para baixar](URL)**"
}

Fluxo de Uso Completo

Quando o usuario pedir "exporte os 10 maiores pedidos para Excel":

  1. Buscar dados usando skill apropriada (ex: gerindo-expedicao)
  2. Formatar como JSON: {"dados": [...]}
  3. Executar script:
    bash
    echo '{"dados": [...]}' | python .../exportar.py --formato excel --nome pedidos
    
  4. Ler URL do campo arquivo.url no retorno
  5. Responder ao usuario com link para download:
    📥 **[Clique aqui para baixar](/agente/api/files/default/abc_pedidos.xlsx)**
    Arquivo: pedidos.xlsx | 10 registros
    

Formatacao Automatica (Excel)

Tipo de Coluna Formatacao Aplicada
Valor, Preco, Custo, Total R$ #,##0.00
Cabecalho Negrito, fundo azul, texto branco
Largura Auto-ajuste ate 50 caracteres

Tratamento de Erros

Erro Causa Solucao
Nenhum dado via stdin echo vazio Verificar pipe do echo
JSON invalido Formato incorreto Validar estrutura JSON
Campo "dados" vazio Lista vazia Verificar dados de entrada
Dependencia faltando Biblioteca ausente pip install pandas xlsxwriter

Notas

  • Arquivos salvos em /tmp/agente_files/default/
  • URL retornada eh acessivel via HTTP
  • Nome do arquivo inclui prefixo UUID para evitar colisoes
  • Tamanho maximo recomendado: 10MB
  • Arquivos removidos automaticamente apos 24h (limpeza do /tmp)

Relacionado

Skill Uso
lendo-arquivos LER arquivos enviados pelo usuario
gerindo-expedicao Consultas de carteira para exportar
rastreando-odoo Consultas Odoo (NF, PO, SO, titulos) para exportar

NOTA: Esta skill eh para CRIAR arquivos para download. Para ler arquivos do usuario, use lendo-arquivos. NUNCA use a tool Write para criar arquivos que o usuario precisa baixar!

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results