Agent Skills

Academic Poster Generator

AIPOCH

Complete workflow for generating academic research posters from PDF literature; use when you need to extract paper content from PDFs and produce a LaTeX-based poster (beamerposter/tikzposter/baposter) with mandatory figure generation and a final rendered HTML deliverable.

2
0
FILES
academic-poster-generator/
skill.md
scripts
check_poster_quality.py
convert_pdf_to_images.py
convert_poster.py
extract_metadata.py
generate_figures.py
insert_figures.py
review_poster.py
run_poster_pipeline.py
structure_content.py
references
design_principles.md
latex-packages.md
latex_poster_packages.md
pdf-extraction.md
poster-design.md
poster_content_guide.md
poster_layout_design.md
poster_quality_checklist.md
troubleshooting.md
assets
templates
baposter-template.tex
beamerposter-template.tex
tikzposter-template.tex
86100Total Score
View Evaluation Report
Core Capability
87 / 100
Functional Suitability
11 / 12
Reliability
10 / 12
Performance & Context
7 / 8
Agent Usability
14 / 16
Human Usability
8 / 8
Security
10 / 12
Maintainability
10 / 12
Agent-Specific
17 / 20
Medical Task
15 / 20 Passed
86You have one or more research paper PDFs and need a conference-style poster draft with standard sections (Intro/Methods/Results/Conclusions)
3/4
86You want to automatically extract title/authors/abstract/sections from a PDF and restructure them into concise poster bullet points
3/4
86End-to-end pipeline: PDF → metadata extraction → content structuring → figure generation → LaTeX poster assembly → HTML base conversion → agent rendering → final HTML
3/4
86Scripted PDF processing:
3/4
86End-to-end case for End-to-end pipeline: PDF → metadata extraction → content structuring → figure generation → LaTeX poster assembly → HTML base conversion → agent rendering → final HTML
3/4

SKILL.md

When to Use

  • You have one or more research paper PDFs and need a conference-style poster draft with standard sections (Intro/Methods/Results/Conclusions).
  • You want to automatically extract title/authors/abstract/sections from a PDF and restructure them into concise poster bullet points.
  • You need a LaTeX poster scaffold using beamerposter, tikzposter, or baposter, with standard poster sizes (A0/A1/36×48").
  • You must ensure posters are visual-first (at least 2–3 generated figures) and pass an automated quality gate before delivery.
  • You want a browser-viewable final output (poster.rendered.html) rather than a compiled PDF (PDF compilation is optional).

Key Features

  • End-to-end pipeline: PDF → metadata extraction → content structuring → figure generation → LaTeX poster assembly → HTML base conversion → agent rendering → final HTML.
  • Scripted PDF processing:
    • Convert PDF pages to images for reference.
    • Extract metadata (title, authors, abstract, section structure).
    • Structure content into poster-ready bullet points with word limits.
  • Mandatory figure workflow:
    • Generate at least 2–3 figures (schematics/flowcharts/mechanisms/comparison charts).
    • Insert figures into LaTeX templates automatically or via config.
  • Template support:
    • assets/templates/beamerposter-template.tex
    • assets/templates/tikzposter-template.tex
    • assets/templates/baposter-template.tex
  • HTML-first delivery policy:
    • Final deliverables: poster.rendered.html + figures/
    • Intermediate artifacts are temporary and must not be returned.
  • Quality control:
    • Automated checks for HTML/LaTeX outputs.
    • Manual checklist reference: references/poster_quality_checklist.md
  • Design guidance:
    • Poster design principles: references/design_principles.md

Dependencies

  • Python >=3.8
  • pypdf (version not pinned)
  • pdfplumber (version not pinned)
  • pdf2image (version not pinned)
  • pytesseract (version not pinned; required for OCR on scanned PDFs)
  • pandas (version not pinned; optional for table handling)
  • Pillow (version not pinned)
  • matplotlib (version not pinned)

Install (example):

pip install pypdf pdfplumber pdf2image pytesseract pandas pillow matplotlib

System tools

  • tesseract-ocr (for OCR; required only for scanned PDFs)
  • Poppler utilities (commonly required by pdf2image, e.g., pdftoppm)

LaTeX (optional, only if compiling PDF)

  • TeX Live / MiKTeX / MacTeX
  • TeX packages (via tlmgr, names may vary by distribution):
    • beamerposter
    • tikzposter
    • baposter
    • qrcode
    • xcolor
    • tcolorbox
    • subcaption
    • graphics

Example:

tlmgr install beamerposter tikzposter baposter qrcode xcolor tcolorbox subcaption graphics

HTML conversion

  • pandoc (required for --html-only base HTML generation)
  • pdf2htmlEX (optional; only if doing PDF → HTML rendering)

Example Usage

Creates a timestamped directory under output/ and supports HTML-only mode.

python scripts/run_poster_pipeline.py paper.pdf --html-only

Expected final structure:

output/YYYYMMDD_HHMMSS/
├── poster.rendered.html
└── figures/
    ├── mechanism.png
    ├── process_flowchart.png
    └── comparison_chart.png

2) Run stages manually (fully reproducible)

Stage A — Extract metadata and structure content (temporary artifacts)

python scripts/extract_metadata.py paper.pdf metadata.json
python scripts/structure_content.py paper.pdf --json poster_content.json --latex content.tex --max-words 800
python scripts/convert_pdf_to_images.py paper.pdf paper_images/ --dpi 600

Stage B — Generate figures (mandatory)

At least 2–3 figures are required.

python scripts/generate_figures.py schematic "Cell signaling pathway" mechanism.png
python scripts/generate_figures.py flowchart "Step 1;Step 2;Step 3" process_flowchart.png
python scripts/generate_figures.py comparison '{"Control":[65],"Our Method":[87]}' comparison_chart.png

Or generate from a config:

python scripts/generate_figures.py config figures_config.json

Stage C — Create poster LaTeX from a template (temporary artifact)

cp assets/templates/beamerposter-template.tex poster.tex
# (Edit poster.tex: title/authors/institute + paste structured content)

Stage D — Insert figures into LaTeX (temporary artifact)

python scripts/insert_figures.py poster.tex --all
# or:
python scripts/insert_figures.py poster.tex --config figures_config.json

Stage E — Convert to base HTML and render final HTML (final artifact)

python scripts/convert_poster.py poster.tex --html-only
# Agent step: read poster.html, validate <img> paths, inject CSS/layout, output poster.rendered.html

Stage F — Quality control (mandatory)

python scripts/check_poster_quality.py poster.rendered.html

Implementation Details

Pipeline and file policy

All generated files must be placed under output/ (preferably a timestamped subdirectory). Only the following are considered final deliverables:

  • poster.rendered.html
  • figures/ directory (PNG figures)

All other files are intermediate/temporary and must not be returned to the user, including (non-exhaustive):

  • poster.tex, poster.html
  • metadata.json, poster_content.json, figures_config.json, figures.json
  • LaTeX auxiliary files (.aux, .log, .out, etc.)

Conceptual flow:

PDF → metadata extraction (temp) → content structuring (temp) → figure generation (final figures/)
→ LaTeX poster (temp) → base HTML (temp) → agent rendering → poster.rendered.html (final)

PDF extraction approach

  • Text and tables are extracted via pdfplumber.
  • For scanned PDFs, OCR is performed by converting pages to images (pdf2image) and running pytesseract.

Typical extraction targets:

  • Title/authors (first-page patterns)
  • Abstract (from “Abstract” header to next section)
  • Section blocks (Introduction/Methods/Results/Conclusion)
  • Tables (converted to summaries for poster bullets)

Content structuring rules

  • Convert paragraphs to bullet points suitable for poster blocks.
  • Enforce a poster-friendly word budget (commonly 600–800 words total).
  • Prefer 3–6 key visuals; summarize tables into a small set of metrics.

Figure requirements (mandatory)

  • Every poster must include at least 2–3 generated figures.
  • Target 40–50% of poster area as visual content.
  • Figures should be ≥300 DPI, with clear labels and concise captions.

Supported figure categories:

  • Schematics (systems, pathways, conceptual diagrams)
  • Flowcharts (procedures, pipelines, algorithms)
  • Mechanism diagrams (biological/chemical processes)
  • Comparison charts (bar charts, benchmarks)

LaTeX package selection

Use one of the supported poster packages depending on style needs:

  • beamerposter (traditional academic)
  • tikzposter (modern, colorful)
  • baposter (multi-column layouts)

Templates are provided in assets/templates/.

HTML rendering requirements (agent step)

After pandoc produces poster.html, the renderer must:

  1. Verify all <img> references exist and paths resolve to figures/.
  2. Apply poster-grade CSS (grid columns, typography, spacing, captions).
  3. Ensure accessibility: WCAG AA contrast ≥ 4.5:1.
  4. Output poster.rendered.html as the only final HTML artifact.

Minimum layout expectations:

  • 2–3 column grid on desktop; single column on narrow screens.
  • Clear hierarchy: title/authors/institution, section headers, bullet lists, figure blocks with captions.

Quality control requirements (mandatory)

Run scripts/check_poster_quality.py on the final output:

  • Validate that images exist and render correctly.
  • Confirm layout integrity (columns/blocks).
  • Ensure readability (font sizes, spacing).
  • Confirm contrast compliance (≥ 4.5:1).
  • Confirm figure count (≥ 2–3) and that no placeholder text remains.

References:

  • Design principles: references/design_principles.md
  • Manual checklist: references/poster_quality_checklist.md