PPTX Scientific Poster Builder
Generates and audits macro-free, editable PowerPoint conference posters from author-approved local content only.
Docs & OfficeAdvanced★ 33,030⑂ 3,248AI score 8/10Last updated: Aug 9, 2026
What it does
Takes a strict local JSON manifest and builds a real one-slide .pptx research poster with python-pptx — no HTML conversion, no external templates, no network calls. Along the way it enforces:
- Physical specs (trim, bleed, safe margin), PowerPoint canvas size, and print scale planning
- SHA-256 hashes, provenance, licensing, and effective DPI (pixels ÷ final placed inches) for every image
- WCAG 2.2 sRGB contrast math plus redundant, non-color-only data encoding
- Overlap, out-of-bounds, final font size, and reading-order checks
- Package security: macros/VBA, ActiveX, OLE, external relationships, unsafe ZIP paths — inspected via bounded ZIP/XML reads without ever opening or executing the file
Author approval is bound to the manifest content hash, so any non-approval edit invalidates it. Drafts fail closed rather than filling in plausible placeholders.
Who it's for
- Researchers and grad students responsible for a printed large-format conference poster
- Labs with accessibility requirements (alt text, reading order) and source-traceability obligations
- Anyone who must match a print shop's trim/bleed/CMYK proof requirements exactly
Examples
- A0 conference poster: fill the manifest within the conference size limits, get the hash from
validate_manifest.py --print-content-hash, record PI approval, then rungenerate_poster.py. - Figure preflight: run
inventory_images.pyto see effective DPI and leftover EXIF/XMP metadata, and swap out figures that fall below threshold. - Audit an inherited deck: run
inspect_pptx.pyto confirm a received.pptxhas no macros, OLE objects, or external links — without opening it.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/pptx-posters folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/pptx-posters/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git /tmp/scientific-agent-skills && mkdir -p ~/.claude/skills && cp -r /tmp/scientific-agent-skills/skills/pptx-posters ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Confirm Python 3.10+ and
uvare installed:python3 --version,uv --version. - Clone the repository:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Copy the skill into place:
mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/pptx-posters ~/.claude/skills/ - Install the exact pinned dependencies:
cd ~/.claude/skills/pptx-posters && uv venv && uv pip install "python-pptx==1.0.2" "Pillow==12.3.0" "lxml==6.1.1" - Restart Claude Code and ask for something like "build my PowerPoint conference poster".
- Start by copying
assets/poster_manifest_template.jsoninto your project and replacing every token with real content, sources, and local image paths.
View source on GitHub ↗License: MIT