This skill should be used when the user asks to "create a poster from a paper", "generate a poster from a PDF", "make a conference poster", "convert paper to poster", "poster from arxiv", "poster from URL", or mentions creating an academic poster from a research paper PDF or paper URL.
Convert an academic paper PDF into a polished 3-column Postergeist markdown poster. This is a multi-pass process: extract content, generate poster, review for accuracy, and optimize whitespace.
Get the PDF path or URL from $ARGUMENTS. If no path is provided, ask the user for the PDF file path or URL. Optionally, the user may also provide a conference name or style notes after the path.
URL support: If the argument is a URL (starts with http:// or https://), download the PDF first:
curl -L -o /tmp/paper.pdf "<url>"
Common academic PDF URL patterns to handle:
https://arxiv.org/abs/XXXX.XXXXX → convert to https://arxiv.org/pdf/XXXX.XXXXXhttps://arxiv.org/pdf/XXXX.XXXXX → use directly.pdfDetermine the output directory. If the input was a URL, create a new directory based on the paper title (determined after extraction). If the input was a local file, create the poster in the same directory as the PDF. Create an images/ subdirectory for extracted figures.
Ensure the environment is installed:
uv sync --extra nougat
Run the built-in extraction module to extract text and figures from the PDF:
uv run python -m postergeist.extract "<pdf_path>" "<output_dir>/images"
To skip Nougat (faster, but no equation support):
uv run python -m postergeist.extract "<pdf_path>" "<output_dir>/images" --no-nougat
This produces:
<output_dir>/extracted_text.txt — full text organized by page<output_dir>/figures_meta.json — metadata for each extracted figure (filename, page, caption, aspect ratio, dimensions)<output_dir>/images/fig1_p1.png ... — extracted figure images at 150 DPIAfter extraction, read the extracted_text.txt and figures_meta.json files to understand the paper's content and available figures.
Read the extracted text carefully. Identify these sections from the paper:
Read figures_meta.json to understand available images and their aspect ratios. Assign figures to columns:
Create poster.md with the following Postergeist frontmatter and 3-column layout:
Frontmatter:
---