alterlab-pptx-posters — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alterlab-pptx-posters (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill only when the user explicitly asks for a PowerPoint/PPTX or HTML poster. For a standard research poster, alterlab-latex-posters is the default: it gives better typographic control and is what most academic conferences expect.
This skill creates research posters using HTML/CSS, which can then be exported to PDF or converted to PowerPoint format. The web-based approach offers:
Use this skill when:
| Scenario | Use Instead |
|---|---|
| A "poster", "research poster", or "conference poster" with no format named | alterlab-latex-posters |
| Any mention of LaTeX, tikzposter, beamerposter, or baposter | alterlab-latex-posters |
| A slide deck for an oral talk | alterlab-scientific-slides |
| Auto-generating a poster (plus website/video) directly from a finished paper | alterlab-paper-2-web |
| A single infographic or data-story graphic rather than a full poster | alterlab-infographics |
If a diagram or figure would aid comprehension, invoke the alterlab-scientific-schematics skill (diagrams/schematics) or the alterlab-generate-image skill (images). Figures are optional — add them only where they improve clarity.
A practical workflow for a visual poster:
Posters generally read best when visuals carry much of the message and text stays concise.
Text within poster visualizations needs to be poster-readable. Poster graphics are viewed from 4-6 feet away, so text must be large. When generating a figure, describe these readability constraints in the prompt:
POSTER FORMAT GUIDELINES:
- Keep to 3-4 elements per graphic (3 is ideal)
- Around 10 words total in the entire graphic
- Avoid complex workflows with 5+ steps (split into 2-3 simple graphics instead)
- Avoid multi-level nested diagrams (flatten to a single level)
- One key point per case study (not multiple sub-sections)
- Large bold text (80pt+ for labels, 120pt+ for key numbers)
- High contrast (dark on white OR white on dark; avoid gradients behind text)
- Generous white space (around 50%)
- Thick lines (5px+), large icons (200px+)
- One single message per graphicBefore generating, review the prompt and count elements:
Example — too dense (7-stage workflow): "Drug discovery workflow: Target ID, Synthesis, Screening, Lead Opt, Validation, Clinical Trial, FDA Approval with metrics" — this crams in too many stages and renders as tiny, unreadable text.
Example — readable (3 mega-stages): "POSTER FORMAT for A0. Ultra-simple 3-box workflow: 'DISCOVER' → 'VALIDATE' → 'APPROVE'. Each word in giant bold (120pt+). Thick arrows (10px). 60% white space. Only these 3 words, no substeps. Readable from 12 feet." — same content, simplified to a readable poster format.
Text or figures cut off at the poster edges is the most common defect and is easy to miss on screen, so budget sections and words up front and check all four edges after export.
1. Limit content sections (5-6 at most):
✅ GOOD - 5 sections with room to breathe:
- Title/Header
- Introduction/Problem
- Methods
- Results (1-2 key findings)
- Conclusions
❌ BAD - 8+ sections crammed together2. Word count limits:
The HTML template (assets/poster_html_template.html) provides:
Standard Layout:
┌─────────────────────────────────────────┐
│ HEADER: Title, Authors, Hero Image │
├─────────────┬─────────────┬─────────────┤
│ Introduction│ Results │ Discussion │
│ │ │ │
│ Methods │ (charts) │ Conclusions │
│ │ │ │
│ (diagram) │ (data) │ (summary) │
├─────────────┴─────────────┴─────────────┤
│ FOOTER: References & Contact Info │
└─────────────────────────────────────────┘Each section should prominently feature AI-generated visuals:
Hero Image (Header):
<img src="figures/hero.png" class="hero-image">Section Graphics:
<div class="block">
<h2 class="block-title">Methods</h2>
<div class="block-content">
<img src="figures/workflow.png" class="block-image">
<ul>
<li>Brief methodology point</li>
</ul>
</div>
</div>Generate figures via alterlab-scientific-schematics (diagrams) or alterlab-generate-image (images), as noted above. Example prompts that keep poster graphics simple and readable (save into a figures/ directory):
Keep each generated figure simple — one message, few elements — because dense graphics turn into unreadable text at poster viewing distance.
mkdir -p figures
# Generate each element with POSTER FORMAT specifications
# (See examples in Section 4 above)assets/ directory: cp assets/poster_html_template.html poster.html open poster.html # macOS
# or
xdg-open poster.html # LinuxThe template's @page rule (added in the template <style>) fixes the PDF page to the poster size, so exports come out at full dimensions instead of being cropped to Letter/A4.
Browser Print Method:
@page rule sets, or pick a custom size matching the posterCommand Line (Chrome headless):
# Use the new headless mode (Chrome 132+ ships old --headless only as the
# separate chrome-headless-shell binary). On macOS the binary lives at:
# /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--headless=new \
--no-pdf-header-footer \
--print-to-pdf=poster.pdf \
"file://$PWD/poster.html"--no-pdf-header-footer replaces the older --print-to-pdf-no-header; on Chrome versions before ~118 fall back to the old flag name. Page size and zero margin come from the template's @page rule, not a CLI flag.
Pick the path based on what "PPTX" needs to be:
Option 1 — Single-image slide (fast, NOT editable). Convert the exported PDF page (or a rasterized PNG of it) into one full-bleed picture on a poster-sized slide. This is the right choice when the user just wants a .pptx container to project or submit. LibreOffice's PDF import treats the PDF as a drawing, so the slide content is effectively a flattened image — text is not editable in PowerPoint.
# Rasterize the PDF to a PNG, then place it as one slide (see python-pptx below).
# A direct `libreoffice --convert-to pptx poster.pdf` produces a non-editable,
# image-like slide and often misplaces content — prefer the python-pptx path.
magick -density 150 poster.pdf poster.pngOption 2 — Native PPTX with python-pptx (editable). Use this when the user actually wants to edit the poster in PowerPoint. Build the slide from the same figures/ and text so each element is a real, movable PowerPoint object. Match the slide size to the poster orientation — the template is portrait 36in wide × 48in tall:
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
prs.slide_width = Inches(36) # portrait: width < height (match the template)
prs.slide_height = Inches(48)
slide = prs.slides.add_slide(prs.slide_layouts[6]) # Blank
# Add images from figures/ (positions in inches from top-left)
slide.shapes.add_picture("figures/hero.png", Inches(0), Inches(0), width=Inches(36))
# ... add text boxes and other images for each section
prs.save("poster.pptx")Install with uv pip install python-pptx (or uvx); magick is ImageMagick.
The provided template (assets/poster_html_template.html) includes:
/* Poster dimensions */
body {
width: 2592pt; /* 36 inches */
height: 3456pt; /* 48 inches */
}
/* Color scheme - customize these */
.header {
background: linear-gradient(135deg, #1a365d 0%, #2b6cb0 50%, #3182ce 100%);
}
/* Typography */
.poster-title { font-size: 108pt; }
.authors { font-size: 48pt; }
.block-title { font-size: 52pt; }
.block-content { font-size: 34pt; }| Class | Purpose | Font Size |
|---|---|---|
.poster-title | Main title | 108pt |
.authors | Author names | 48pt |
.affiliations | Institutions | 38pt |
.block-title | Section headers | 52pt |
.block-content | Body text | 34pt |
.key-finding | Highlight box | 36pt |
For EACH planned graphic, verify:
Reject these patterns:
For EACH generated figure at 25% zoom:
✅ PASS criteria (ALL must be true):
❌ FAIL criteria (regenerate if ANY true):
AI-Generated Graphics Mistakes:
HTML/Export Mistakes:
Content Mistakes:
This skill works with:
Available in assets/ directory:
poster_html_template.html: Main HTML poster template (36×48 inches)poster_quality_checklist.md: Pre-submission validation checklistAvailable in references/ directory:
poster_content_guide.md: Content organization and writing guidelinesposter_design_principles.md: Typography, color theory, and visual hierarchyposter_layout_design.md: Layout principles and grid systemsPart of the AlterLab Academic Skills suite.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.