Habilidades libreoffice-writer
📄

libreoffice-writer

Baixo Risco ⚙️ Comandos externos📁 Acesso ao sistema de arquivos🔑 Variáveis de ambiente⚡ Contém scripts

Automatizar Documentos do LibreOffice Writer

Editar documentos manualmente é demorado e propenso a erros. Esta skill automatiza operações do LibreOffice Writer através da integração UNO, permitindo criação, edição, formatação e exportação programática de documentos.

Suporta: Claude Codex Code(CC)
🥉 74 Bronze
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "libreoffice-writer". Create a new document with a title and export to PDF

Resultado esperado:

  • Document created successfully: /path/to/report.odt
  • Exported to PDF: /path/to/report.pdf

A utilizar "libreoffice-writer". Find and format text in existing document

Resultado esperado:

  • Opened document: /path/to/draft.odt
  • Formatted text range: bold, center-aligned
  • Changes saved and document closed

A utilizar "libreoffice-writer". Apply patch with multiple operations

Resultado esperado:

  • Patch parsed: 3 operations
  • Operation 1 (replace_text): success
  • Operation 2 (format_text): success
  • Operation 3 (insert_table): success
  • Overall status: ok
  • Document persisted: true

Auditoria de Segurança

Baixo Risco
v2 • 3/19/2026

Static analysis flagged 175 patterns but evaluation confirms these are false positives. The skill legitimately uses subprocess to launch LibreOffice with hardcoded arguments, tempfile for secure temp directories, and importlib for module detection. All external command usage has no user input injection vectors. Risk is low due to filesystem and external command dependencies requiring LibreOffice installation.

14
Arquivos analisados
2,550
Linhas analisadas
7
achados
2
Total de auditorias
Problemas de Baixo Risco (3)
External Process Execution
subprocess.Popen launches LibreOffice soffice binary. All arguments are hardcoded strings with no user input injection. This is legitimate automation of installed software.
Temporary Directory Creation
Uses tempfile.mkdtemp() to create isolated profile directories for LibreOffice instances. Directories are cleaned up in finally blocks.
Environment Variable Access
Reads LIBREOFFICE_PROGRAM_PATH environment variable to locate UNO module. Value is used only for path resolution, not executed.

Fatores de risco

Auditado por: claude Ver Histórico de Auditoria →

Pontuação de qualidade

64
Arquitetura
100
Manutenibilidade
87
Conteúdo
25
Comunidade
84
Segurança
91
Conformidade com especificações

O Que Você Pode Construir

Geração Automatizada de Relatórios

Gere relatórios padronizados criando documentos, inserindo texto e tabelas formatadas, e exportando para PDF para distribuição.

Processamento de Modelos de Documentos

Carregue documentos de modelo, substitua textos de espaço reservado por conteúdo dinâmico, atualize tabelas com novos dados e exporte versões personalizadas.

Operações em Lote de Documentos

Aplique alterações de formatação consistentes em vários documentos usando fluxos de trabalho de patch com reversão atômica em caso de falhas.

Tente Estes Prompts

Criar e Popular Documento
Create a new LibreOffice Writer document at /path/to/report.odt. Insert a title "Monthly Report", add a section heading "Summary", then insert a paragraph describing this month's achievements. Export the final document to PDF.
Editar com Direcionamento Estruturado
Open /path/to/draft.odt and find the sentence "Quarterly revenue grew significantly" that appears after "Financial Overview" and before "Next Steps". Make it bold and centered. Then insert a bulleted list after "Action Items" with three tasks: Review budget, Schedule meeting, Send updates.
Operações de Tabela com Dados
Open the document at /path/to/data-report.odt. Insert a table with 4 rows and 3 columns named "Sales Data". Populate it with headers [Region, Q1, Q2] and data rows for North, South, East regions. Later update the Q2 values when new numbers arrive.
Fluxo de Trabalho de Patch Atômico
Apply this patch to /path/to/manuscript.odt in atomic mode: First, replace all instances of "Draft" with "Final". Second, format the chapter titles bold with 14pt font. Third, insert a table of contents. If any operation fails, rollback all changes and report the error.

Melhores Práticas

  • Sempre use caminhos de arquivo absolutos ao trabalhar com APIs Writer baseadas em UNO
  • Ancore alvos de texto com frases completas ou frases em nível de parágrafo, não palavras isoladas
  • Use limites after e before para restringir pesquisas quando o texto pode aparecer várias vezes
  • Envolva operações de sessão em try/finally ou gerenciadores de contexto para garantir limpeza adequada
  • Teste fluxos de trabalho de patch em modo best_effort antes de mudar para atomic para produção

Evitar

  • Usar caminhos relativos - UNO requer caminhos de arquivo absolutos para todas as operações de documento
  • Omitir o parâmetro de ocorrência quando o mesmo texto aparece várias vezes em um documento
  • Chamar métodos de sessão após session.close() ter sido invocado
  • Fornecer JSON malformado em itens de patch ou campos de dados
  • Esperar que o alinhamento de parágrafo se aplique apenas ao texto correspondido em vez do parágrafo completo

Perguntas Frequentes

Por que a skill requer que o LibreOffice esteja instalado?
Esta skill usa a API UNO (Universal Network Objects) do LibreOffice para interagir com documentos do Writer. UNO é a interface nativa de automação do LibreOffice, requerendo uma instalação local do LibreOffice com bindings Python UNO.
Para quais formatos de arquivo posso exportar?
A skill suporta exportação para formatos PDF e DOCX prontamente. Formatos adicionais podem estar disponíveis dependendo da sua instalação do LibreOffice e disponibilidade de filtros.
Como corrigir 'ModuleNotFoundError: No module named uno'?
Adicione o caminho Python do LibreOffice do seu sistema ao PYTHONPATH. No Linux, isso tipicamente é /usr/lib/python3/dist-packages. Defina PYTHONPATH para incluir tanto o diretório de scripts da skill quanto os módulos Python do LibreOffice.
Qual é a diferença entre os modos atomic e best_effort de patch?
O modo atomic para na primeira falha, redefine a sessão e não persiste nada. O modo best_effort continua através de todas as operações e registra quais tiveram sucesso, persistindo alterações bem-sucedidas mesmo se algumas operações falharem.
Posso editar documentos que estão abertos no LibreOffice?
Não. Documentos devem ser fechados antes de editar via UNO. Tentar abrir um documento já bloqueado por outra instância do LibreOffice falhará ou causará conflitos.
Como direciono um texto específico quando a mesma frase aparece várias vezes?
Use o campo occurrence para especificar qual correspondência direcionar (índice baseado em zero), ou adicione limites after e before para restringir a janela de busca a uma seção específica do documento.

Detalhes do Desenvolvedor

Estrutura de arquivos