open-show
Convert documents and web pages to HTML slideshows
Creating presentations from documents requires copying content into slide software and formatting each page manually. This skill converts Markdown, Word, PDF, text, HTML files or URLs directly into a single self-contained HTML slideshow with smooth animations and responsive design.
Download the skill ZIP
Upload in Claude
Go to Settings → Capabilities → Skills → Upload skill
Toggle on and start using
Test it
Using "open-show". A Markdown document about climate change with headings, paragraphs, and images
Expected outcome:
- A single HTML file with a cover slide from the H1 heading
- Content slides split by H2/H3 sections with appropriate layouts
- Images converted to inline data URIs for offline viewing
- Navigation via arrow keys, click zones, and touch swipe
Using "open-show". A web URL pointing to a technical blog post
Expected outcome:
- A self-contained HTML slideshow with content extracted from the page body
- Navigation elements, ads, and footers automatically removed
- Remote images downloaded and inlined as data URIs
- Built-in timer and fullscreen toggle for presentation mode
Security Audit
Medium RiskThe static analyzer reported 214 findings with a risk score of 100/100, but most are false positives. The 119 'Ruby/shell backtick execution' detections in README.md and SKILL.md are Markdown code block examples showing bash commands, not actual Ruby code execution. The 9 'weak cryptographic algorithm' findings in README.md, SKILL.md, and scripts/openshow.py are false positives matching CSS template strings and embedded JavaScript, not cryptography. The critical heuristic findings about 'code execution + network + credential access' are false positives built on incorrect credential file detections that matched SVG attributes and CSS values in the HTML template. All documentation URL detections are expected for a project README. Real concerns: the script disables SSL certificate verification as a fallback (scripts/openshow.py:286), invokes subprocess to launch an external browser (scripts/openshow.py:936), and makes HTTP requests to user-supplied URLs. These are legitimate for the tool purpose but warrant user awareness.
Medium Risk Issues (2)
Low Risk Issues (3)
Risk Factors
⚙️ External commands (1)
🌐 Network access (3)
📁 Filesystem access (3)
Detected Patterns
Quality Score
What You Can Build
Quick presentation from meeting notes
Convert a Markdown document of meeting notes or project updates into a presentation-ready HTML slideshow without opening presentation software.
Research paper to lecture slides
Transform academic papers in PDF format into slide decks for classroom lectures or conference presentations.
Web article into shareable deck
Convert a blog post or online article URL into a self-contained slideshow that can be shared via a single HTML file.
Try These Prompts
Convert the file at [file path] into an HTML slideshow.
Convert the web page at [URL] into a slideshow and open it in the browser.
Create a slideshow from the PDF at [file path] with the --open flag to preview immediately.
I have several documents in different formats (.md, .docx, .pdf). Convert each one into a separate HTML slideshow in the output directory [directory path].
Best Practices
- Use clear heading levels (H1, H2, H3) in your source documents to control slide boundaries and hierarchy
- Keep individual paragraphs under 300 characters for optimal slide readability, the tool will auto-split longer text
- Test the generated HTML file in a browser before presenting to verify layout and image rendering
Avoid
- Do not use the tool with PowerPoint (.pptx) files, this format is not supported and will fail
- Avoid converting extremely large PDF files with hundreds of pages, the output HTML will be very large and slow to load
- Do not rely on the tool for complex web pages with heavy JavaScript rendering, save the page as local HTML first for better results