Saltar al contenido principal

Skill para agentes: portar una publicación a Postext

Actualizado: 2026-09-23|8 min|enes

Convierte una publicación existente en un proyecto de Postext con un agente de programación.

Mucha gente llega a Postext con un libro que ya existe: un manual en PDF de imprenta, un informe en Word, un curso en PowerPoint, un catálogo en InDesign, un EPUB. Portarlo supone dos trabajos:

  • El contenido: el Markdown enriquecido de cada capítulo, con sus directivas y microformatos.
  • El diseño: un manifiesto de configuración que reproduzca las reglas de maquetación del original (geometría de página, retícula de líneas base, tipografía, aperturas, cornisas, recuadros, flotantes, tablas, partes).

Un LLM puede hacer buena parte de este trabajo, pero solo si sabe cómo funciona Postext. El Markdown de Postext no es CommonMark, y la configuración tiene trampas que solo aparecen cuando una página se compone mal. La skill postext-port empaqueta ese conocimiento junto con las herramientas con las que construimos cada preset del sandbox, para que tu agente haga el porte bien.

Sigue el formato abierto Agent Skills, así que funciona con Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode y muchos otros agentes.

#Qué contiene la skill

  • Un flujo de trabajo:
    1. acordar el encargo;
    2. inventariar la fuente;
    3. medir el diseño en una ficha de especificaciones;
    4. crear el esqueleto del proyecto;
    5. extraer el contenido;
    6. curarlo como Markdown de Postext;
    7. preparar fuentes e imágenes;
    8. verificar página a página;
    9. empaquetar.
  • Referencias:
    • el formato de documento y el manifiesto de configuración, ambos comprobados contra el motor;
    • el formato de proyecto (bundle);
    • una guía por formato de origen;
    • un método de análisis del diseño;
    • un catálogo de casos de maquetación ya resueltos: partes con color propio, aperturas de capítulo, verso, glosas al margen, notas al pie, recuadros flotantes, partidos y anidados, originales vectoriales para imprenta, figuras con texto vivo, imágenes en celdas, tablas apaisadas, ediciones bilingües y más.
  • Scripts (Python y Node), descritos en la sección siguiente.

#Scripts

ScriptQué hace
inventory.pyPrimera mirada a cualquier fuente: geometría, fuentes, estilos en uso, imágenes, páginas que necesitan OCR
measure_layout.pyMárgenes, columnas, medianil e interlineado (la retícula de líneas base) de un PDF
pdf_extract.pyPDF → capítulos en borrador por rol tipográfico (fuente/cuerpo/color): orden de lectura, párrafos, deshifenado, negritas/cursivas, superíndices y subíndices, listas, pies
pdf_figures.pyRecorta figuras de un PDF: fotos a resolución nativa, previsualizaciones SVG, originales vectoriales en PDF para imprenta
extract_tables.pyTablas de PDF → TableModel de Postext
pandoc_to_postext.pyDOCX, PPTX, ODT, EPUB, HTML, LaTeX, Markdown, JATS, DocBook → capítulos en borrador, con los estilos de Word asignados a recuadros y estilos de párrafo
idml_extract.pyIDML de InDesign → capítulos en borrador por estilo de párrafo, tablas e imágenes ancladas
fonts.py, images.py, convert_assets.pyInstanciar, subconjuntar, escalar y separar fuentes; pasar imágenes a sRGB, recortarlas y unirlas; convertir ilustraciones .ai/.pdf en SVG
preset_kit.pyCrea el proyecto y su script generador, construye preset.json y empaqueta el .postext
lint_project.pyDetecta todo lo que el parser y el cargador hacen mal en silencio
render.mjsCompone el proyecto (una carpeta o un archivo .postext) sin navegador con el motor real, muestra los avisos y escribe el PDF
compare_pages.pyPone las páginas de la fuente y de Postext lado a lado

#Instalación

#Cualquier agente (skills.sh)

La CLI skills detecta tus agentes e instala la skill para ellos:

npx skills add drnachio/postext --skill postext-port

Elige agentes concretos con -a e instálala para todos tus proyectos con -g:

npx skills add drnachio/postext --skill postext-port -a codex -a claude-code -g

La web publica la misma skill, así que esto también funciona:

npx skills add https://postext.dev

#Plugin de Claude Code

El repositorio de Postext es también un marketplace de plugins de Claude Code. Dentro de Claude Code:

/plugin marketplace add drnachio/postext
/plugin install postext@postext

O desde la terminal:

claude plugin marketplace add drnachio/postext
claude plugin install postext@postext

#Que la instale el agente

Puedes pedírselo a tu agente, por ejemplo: «Instala la skill de Postext para portar publicaciones (npx skills add drnachio/postext --skill postext-port) y úsala para portar este PDF». Los agentes que leen https://postext.dev/llms.txt encuentran ahí esta página y el comando de instalación.

#Herramientas que usan los scripts

python3 -m pip install pymupdf pillow fonttools brotli
brew install pandoc poppler
mkdir -p ~/.cache/postext-tools && cd ~/.cache/postext-tools && npm init -y && npm i postext postext-pdf react @pdf-lib/fontkit

Pandoc hace falta para fuentes en Word, PowerPoint, EPUB y HTML, y poppler para las imágenes de página. Los paquetes de Node mueven el renderizador sin navegador (Node 22.15 o posterior). Herramientas opcionales: ocrmypdf para escaneos, ImageMagick, y veraPDF para comprobar PDF/UA.

#Cómo usarla

Deja los ficheros de origen en tu carpeta de trabajo y pide el porte. Por ejemplo:

  • «Porta los capítulos 1 a 3 de manual.pdf a Postext, reproduciendo su maquetación a dos columnas, las aperturas de capítulo y los recuadros.»
  • «Convierte curso.docx en un libro de Postext. Los estilos "Nota" y "Actividad" son recuadros.»
  • «Convierte presentacion.pptx en un dossier de Postext: las diapositivas son secciones y las notas del orador, el texto.»
  • «Tenemos el paquete de InDesign (IDML + PDF de imprenta) de este manual. Construye el preset de Postext del capítulo 1 en español e inglés.»

El agente sigue el flujo de trabajo:

  1. Encargo. Pregunta lo que no puede deducir: reproducción fiel o rediseño, un capítulo de muestra o el libro entero, idiomas, impresión o pantalla, y los derechos sobre textos, imágenes y fuentes.
  2. Inventario y medición. Lee la fuente y escribe una ficha de datos medidos: formato, márgenes, columnas, interlineado, roles tipográficos, paleta, aperturas, cornisas, familias de recuadros y costumbres de colocación.
  3. Proyecto. Crea mi-libro/ con un generador build_preset.py que guarda la ficha como constantes y produce preset.json.
  4. Contenido. Extrae capítulos en borrador con el extractor adecuado y los cura como Markdown de Postext: recuadros, estilos de párrafo, partes, atributos de encabezado para las aperturas, citas :ref, recursos de tablas y figuras.
  5. Verificación. Pasa el linter, compone el proyecto sin navegador y lo compara con la fuente página a página hasta que coinciden los saltos de página, las figuras y los recuadros.
  6. Entrega. Empaqueta mi-libro.postext.

Abre el resultado en el Sandbox: Proyectos → Importar .postext…. La importación toma los capítulos y textos del idioma del sandbox. Para trabajar con una carpeta de proyectos en una copia local de Postext, define POSTEXT_PRIVATE_PRESETS_DIR (consulta Sandbox).

#Cargar el resultado desde código

El archivo entregado no depende del Sandbox. El paquete postext lo abre con openBundle, compone el libro con buildBundle y lo renderiza en canvas, HTML o PDF (consulta Paquetes). Así, una adaptación puede alimentar directamente un programa. Cuando lo que produce ese programa necesita ajustes, vuelve a exportarlo a un .postext con createBundle, retócalo en el Sandbox y carga de nuevo el archivo corregido. El render.mjs del skill, que compone sin navegador, acepta tanto un .postext empaquetado como una carpeta de proyecto.

#Qué esperar

  • Los extractores producen borradores; el agente los cura. Cuenta con una revisión por capítulo frente a las páginas originales. Esa revisión es la que da la calidad.
  • Solo configuración y Markdown. La skill nunca modifica el motor para encajar un libro. Cuando Postext no puede expresar algo, el agente elige la expresión más cercana y lo anota como diferencia conocida.
  • Los derechos los decides tú. El agente pregunta antes de reproducir imágenes o fuentes con licencias dudosas. Las fuentes con licencia se marcan redistributable: false, así que los proyectos exportados las dejan fuera.
  • Fidelidad donde importa. El objetivo es la misma retícula, tipografía, aperturas, recuadros, colocación de figuras y saltos de página en la mayoría de las páginas (con un margen de una página por capítulo), no cortes de línea idénticos.

#Dónde está

La skill está en el repositorio en plugins/postext/skills/postext-port. Cubre todos los casos que surgieron al construir los presets del sandbox, públicos y privados. Si un porte se encuentra con un caso que aún no cubre, abre una incidencia o una pull request que mejore la skill, y el siguiente porte lo tendrá resuelto.