Guide · Agent skill
How to use the PPTX Scientific Posters agent skill (pptx-posters)
Updated · written with AI from the project's own documentation and checked against our catalogue data
The pptx-posters skill is a set of instructions and local scripts that lets an AI agent create and check a scientific poster as an editable, one-slide PowerPoint (.pptx) file. It is for researchers who have final text, sources and images ready for a conference, and for teams that want a repeatable, reviewable poster process. After this guide you will know what the skill does, how to install it, how to phrase a request so it triggers, and what it needs from you before it will produce anything.
Quick start
- 1Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 2Create the environment. In your poster project directory, run uv venv, activate the environment, and install the exact pinned python-pptx, Pillow and lxml packages listed in the skill.
- 3Gather requirements. Record the conference and printer rules, including trim, bleed, margins, canvas size, colour mode and proof requirements, each with a source.
- 4Build and approve the manifest. Fill in the manifest from the template with author-verified sources and author-approved elements and assets, then get approval against the content hash.
- 5Audit assets and palette. Run the inventory, palette and export-plan scripts, and fix any DPI, contrast or metadata blockers they report.
- 6Generate the PPTX. Run generate_poster.py with a new output path and a report file, then run the package inspector and layout checker.
- 7Do manual review. Open the file in PowerPoint, check accessibility and reading order, export a PDF and review colour proofs before printing.
What the skill makes the agent do
The skill tells the agent to build a poster from a strict JSON manifest that lists your approved text, images, source records and layout rules. The agent then runs local scripts to check the manifest and assets, generate a new blank PowerPoint file, and audit the result for layout, size, resolution, contrast, reading order and file safety.
The skill is deliberately cautious. It stops instead of guessing when content, citations, author approval or printer rules are missing or unverified. It does not write placeholder text, invent references or research your results, so the poster only contains material you supplied.
- Produces one editable .pptx slide with native text boxes and local pictures.
- Checks physical size, canvas, effective image resolution (DPI), font size and contrast.
- Requires author approval tied to a content hash of the final manifest.
- Rejects .pptm macro files and templates it cannot trust; it never loads a user template.
Install the skill (ZIP download or upload)
Download the skill ZIP from this page. You can install it in one of two ways. For Claude Code, unzip it into your personal skills folder at ~/.claude/skills/ or into a project's .claude/skills/ folder, so the skill directory is named pptx-posters. Alternatively, in the Claude apps, open Settings, go to Capabilities, and upload the skill under Skills.
After installing, start a new session so the agent can see the skill. The skill folder should contain SKILL.md, the scripts/ folder, the references/ folder and the assets/ folder.
- Option A: unzip into ~/.claude/skills/ for all your projects.
- Option B: unzip into a project's .claude/skills/ for that project only.
- Option C: upload in the Claude apps under Settings → Capabilities → Skills.
Set up the Python environment
The generation tools need Python 3.10 or later and uv, a Python package manager. Create a virtual environment in your poster project directory, not inside the skill folder, and install the exact pinned packages the skill lists. Package installation needs network access unless the wheels are already cached. The poster tools themselves run locally.
On Windows PowerShell, activate the environment with .venv\Scripts\Activate.ps1 instead. Keep the environment active while running the skill's CLI commands from the skill directory.
- Requires Python 3.10+ and uv.
- Required packages: python-pptx, Pillow and lxml, at the exact pinned versions.
- Scripts use lazy imports, so python -B scripts/<tool>.py --help works before the packages are installed.
uv venv
source .venv/bin/activate
uv pip install "python-pptx==1.0.2" "Pillow==12.3.0" "lxml==6.1.3"Gather requirements before any layout work
Before asking for a layout, record the conference rules and the printer rules separately. The skill needs the physical trim width and height, bleed, safe margin, the PowerPoint canvas size, the print scale, the conference maximum dimensions and delivery format, and the printer's colour-mode and proof requirements. It also needs the fonts you will use and whether they can be embedded.
There is no universal poster size. PowerPoint limits custom dimensions, so check the limit that applies to your chosen size. If the physical poster is larger than the canvas, the printer must confirm scaling.
- Physical trim size and orientation, plus bleed and safe margin.
- Conference maximum dimensions and file format.
- Printer colour mode and proof requirements.
- Required font faces and whether substitution is acceptable.
Build and approve the manifest
Ask the agent to copy the manifest template into your project and fill in every field with reviewed values. The template is intentionally invalid until every placeholder, false confirmation and draft approval is resolved. Every source needs an author-verified flag, every element and asset needs author approval, and every image needs a local path, a lowercase SHA-256 hash, provenance and a licence or permission record.
When all other fields pass, the agent generates a content hash of the manifest. Give the exact manifest and hash to the author. After approval, the approval status, approver and timestamp are recorded. Any later non-approval edit invalidates the approval, so the hash must be regenerated and re-approved.
- Every source record is marked author-verified.
- Every element and asset is marked author-approved.
- Images need local PNG or JPEG files and lowercase SHA-256 hashes.
- Each local QR image needs a visible fallback URL or text.
- Approval is bound to the canonical content hash.
python -B scripts/validate_manifest.py poster.json --print-content-hash
python -B scripts/validate_manifest.py poster.jsonAudit assets and generate the PPTX
Run the asset, palette and export-plan checks before generating. Effective DPI is calculated from pixel count divided by the final placed size in inches, not from the DPI value stored in the image file. If the printer requires CMYK, the export plan blocks print readiness until a printer-approved conversion and proof exist.
Generation writes to a new output path and refuses existing destinations. It creates a blank presentation, sets the approved canvas, adds elements in approved reading order, writes alt text and language tags, and does not embed fonts, audio, video, OLE objects or links.
- Effective DPI, not metadata DPI, decides image resolution.
- Images that carry EXIF, XMP or comment metadata must be stripped offline, then rehashed and re-approved.
- Generation refuses overlaps, out-of-bounds shapes, low font size or DPI, and unsafe packages.
python -B scripts/inventory_images.py poster.json --output poster.assets.json
python -B scripts/check_palette.py poster.json --output poster.palette.json
python -B scripts/plan_export.py poster.json --output poster.export-plan.json
python -B scripts/generate_poster.py poster.json --output poster.pptx --report poster.generation.jsonRun the final technical checks
After generation, run the package inspector and the layout checker. The inspector reads bounded ZIP metadata and selected XML only. It does not extract files or open the presentation. It rejects non-.pptx files, macro parts, ActiveX, OLE, embedded objects, external relationships and binary parts outside the expected profile.
Passing these scripts is necessary but not sufficient. A person must still open the file in PowerPoint, check accessibility, export a PDF, and review colour proofs using the release checklist in the skill.
- The package inspector writes a package report.
- The layout checker compares the generated file with the manifest.
- Manual review remains required for PowerPoint rendering, accessibility, PDF and CMYK proofs.
python -B scripts/inspect_pptx.py poster.pptx --output poster.package.json
python -B scripts/check_layout.py poster.pptx --manifest poster.json --output poster.layout.jsonHow to trigger the skill with natural requests
You do not need special syntax. Say clearly that you want an editable PowerPoint research or conference poster, and point the agent to your approved material. Mention that you need checks on print size, accessibility and sources if those matter to you. Vague requests such as a poster idea or a design mockup will not trigger the workflow, and the skill will stop if your content is incomplete.
- Make an editable PowerPoint conference poster from my approved abstract, sources and figures in this folder.
- Build a one-slide research poster in .pptx for the printer spec I will paste in, and check the sources before generating.
- Audit my existing poster.pptx package for macros, external links and layout problems.
- Create a repeatable poster pipeline that generates a .pptx from a JSON manifest and an author approval hash.
Example workflow from start to finish
A typical project starts with an evidence packet: accepted abstract, final figures with captions, bibliography, funding and ethics statements, and the printer's specification. The agent turns these into a manifest, you approve it, and the agent runs the audits. If a check fails, the skill reports a blocker and you fix the source material rather than letting the agent fill the gap.
Expect several rounds. Each text, image or layout change means regenerating the hash and getting approval again.
- Collect source material and printer rules.
- Fill in the manifest and validate it.
- Get author approval against the hash.
- Run asset and palette checks, then generate the PPTX.
- Run the package and layout audits, then do manual review.
What the skill needs and what it does over the network
You need Python 3.10 or later, uv, the three pinned Python packages, and a PowerPoint application for manual review. The skill's scripts are local and make no network requests. Network access is only used when you install the packages, unless they are already cached.
The scripts run local Python code, so review the skill's files before you install it, especially if you use it in a shared pipeline. The skill is licensed under MIT.
- Scripts run locally and do not use the network for poster generation or validation.
- The skill rejects remote asset paths and assets outside the manifest directory.
- The skill does not use API keys or environment files, according to its description.
- Use -B with the scripts to avoid writing bytecode files.
What people use it for
- A researcher turning an accepted abstract, final figures and references into an editable conference poster.
- A lab team that wants a documented author approval step tied to a content hash before printing.
- A developer building a repeatable poster pipeline that produces deterministic, macro-free .pptx output from JSON.
- Auditing an existing PowerPoint poster package for macros, OLE objects, external links and layout problems.
Frequently asked questions
How do I install the pptx-posters skill?
Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for all projects or into a project's .claude/skills/ folder for one project. In the Claude apps you can instead upload it under Settings → Capabilities → Skills.
Is the pptx-posters skill free?
The skill is published under the MIT licence. Check the licence file in the skill for the exact terms before reusing or redistributing it.
What do I need to run the pptx-posters skill?
You need Python 3.10 or later, uv, and the exact pinned python-pptx, Pillow and lxml packages. Network access is needed only to install the packages, and a person must review the output in PowerPoint before printing.
Why does the skill refuse to generate my poster?
The skill stops when any hard gate is unmet, such as missing source records, unverified citations, unconfirmed printer rules, or approval that does not match the current content hash. Fix the missing item and rerun the checks rather than adding placeholder text.
Can the skill write my poster content or find references for me?
No. The generator renders only the approved manifest content and does not research, summarise or correct scientific claims. You must supply the final text, sources and images.
Can I use this skill for a quick poster idea or design mockup?
No. The skill is for final, source-bound editable posters. For unspecified ideas or mockups, use a general presentation or design tool, since this skill will stop when content, sources or printer specifications are missing.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use pptx-posters if you are preparing a conference poster as an editable PowerPoint file, you can supply final text, sources and images, and you want strict checks on size, resolution, contrast and file safety. Pick another approach if you only want a quick design idea, need a template to edit, or work with .pptm macro files, which this skill rejects.
Download the skill