libreoffice-writer
Automatizar Documentos de LibreOffice Writer
Editar documentos manualmente consume mucho tiempo y es propenso a errores. Esta habilidad automatiza operaciones de LibreOffice Writer mediante integración UNO, permitiendo creación, edición, formato y exportación programática de documentos.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "libreoffice-writer". Crear un nuevo documento con título y exportar a PDF
Resultado esperado:
- Documento creado exitosamente: /path/to/report.odt
- Exportado a PDF: /path/to/report.pdf
Usando "libreoffice-writer". Buscar y formatear texto en documento existente
Resultado esperado:
- Abierto documento: /path/to/draft.odt
- Rango de texto formateado: negrita, alineado al centro
- Cambios guardados y documento cerrado
Usando "libreoffice-writer". Aplicar parche con múltiples operaciones
Resultado esperado:
- Parche analizado: 3 operaciones
- Operación 1 (replace_text): éxito
- Operación 2 (format_text): éxito
- Operación 3 (insert_table): éxito
- Estado general: ok
- Documento persistido: true
Auditoría de seguridad
Riesgo bajoStatic 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.
Problemas de riesgo bajo (3)
Factores de riesgo
⚙️ Comandos externos (1)
📁 Acceso al sistema de archivos (2)
🔑 Variables de entorno (1)
⚡ Contiene scripts (2)
Puntuación de calidad
Lo que puedes crear
Generación Automatizada de Informes
Generar informes estandarizados creando documentos, insertando texto formateado y tablas, luego exportando a PDF para distribución.
Procesamiento de Plantillas de Documentos
Cargar documentos de plantilla, reemplazar texto de marcador de posición con contenido dinámico, actualizar tablas con nuevos datos y exportar versiones personalizadas.
Operaciones de Documentos por Lotes
Aplicar cambios de formato consistentes en múltiples documentos usando flujos de trabajo de parches con rollback atómico en fallos.
Prueba estos prompts
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.
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.
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.
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.
Mejores prácticas
- Usar siempre rutas de archivo absolutas al trabajar con APIs de Writer basadas en UNO
- Anclar destinos de texto con frases completas o a nivel de párrafo, no palabras sueltas
- Usar límites after y before para restringir búsquedas cuando el texto puede aparecer múltiples veces
- Envolver operaciones de sesión en try/finally o context managers para asegurar limpieza adecuada
- Probar flujos de trabajo de parches en modo best_effort antes de cambiar a atomic para producción
Evitar
- Usar rutas relativas - UNO requiere rutas de archivo absolutas para todas las operaciones de documentos
- Omitir el parámetro occurrence cuando el mismo texto aparece múltiples veces en un documento
- Llamar métodos de sesión después de que session.close() ha sido invocado
- Proporcionar JSON malformado en elementos de parche o campos de datos
- Esperar que la alineación de párrafo se aplique solo al texto coincidente en lugar del párrafo completo