Skills open-show
📝

open-show

Medium Risk ⚙️ External commands🌐 Network access📁 Filesystem access

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.

Supports: Claude Codex Code(CC)
🥉 73 Bronze
1

Download the skill ZIP

2

Upload in Claude

Go to Settings → Capabilities → Skills → Upload skill

3

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 Risk
v1 • 4/16/2026

The 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.

4
Files scanned
1,342
Lines analyzed
8
findings
1
Total audits
Medium Risk Issues (2)
SSL Certificate Verification Disabled
When the initial HTTPS request fails, the script retries with verify=False (scripts/openshow.py:286), disabling SSL certificate validation. This could expose the connection to man-in-the-middle attacks when fetching URLs or remote images from untrusted sources.
Subprocess Execution for Browser Launch
The script uses subprocess.run to execute the 'openclaw' command (scripts/openshow.py:936). The file URL passed to subprocess is derived from user-provided input, though it is a local file path rather than shell-interpreted content. Risk is moderate because the subprocess arguments are passed as a list (not a shell string), preventing command injection.
Low Risk Issues (3)
HTTP Requests to User-Supplied URLs
The script fetches arbitrary user-supplied URLs via requests.get (scripts/openshow.py:78, 281). This is expected functionality for URL-to-slideshow conversion, but users should be aware that the script makes outbound network connections to convert web URLs.
File Read and Write Operations
The script reads input files and writes output HTML files (scripts/openshow.py:926). The output directory is created if it does not exist. This is expected behavior for a document conversion tool.
Archive Library Usage for DOCX Parsing
The script uses zipfile to read embedded images from .docx files (scripts/openshow.py:235-237). This is standard practice for DOCX parsing and poses minimal risk.

Detected Patterns

SSL Verification Bypass on Fallback
Audited by: claude

Quality Score

73
Architecture
100
Maintainability
87
Content
50
Community
49
Security
83
Spec Compliance

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

Basic document conversion
Convert the file at [file path] into an HTML slideshow.
Web page to slides
Convert the web page at [URL] into a slideshow and open it in the browser.
PDF presentation
Create a slideshow from the PDF at [file path] with the --open flag to preview immediately.
Multi-format batch conversion
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

Frequently Asked Questions

What file formats does this skill support as input?
It supports Markdown (.md, .markdown), Word (.docx), PDF (.pdf), plain text (.txt), HTML (.html, .htm) files and web URLs (http or https).
Does the output HTML require an internet connection to display?
No. The generated HTML file is completely self-contained with all CSS, JavaScript, and images inlined. It works offline without any external dependencies.
Can I use PowerPoint (.pptx) files as input?
No. The tool does not support .pptx format. You need to convert PowerPoint files to .docx or PDF first before using this skill.
How does the tool decide where to split slides?
It uses heading levels (H1, H2, H3) as natural section boundaries, then splits further within sections if content exceeds 300 characters, 3 images, or 6 blocks per slide.
What keyboard controls are available in the slideshow?
Arrow keys or Page Up/Down for navigation, F for fullscreen, T to show or hide the timer, Space for next slide. Mobile users can swipe left or right to change slides.
Does the tool work with Chinese and other non-English languages?
Yes. The skill supports UTF-8 encoding and handles Chinese, Japanese, Korean, and other languages in input documents and output slideshows.

Developer Details

Author

lumacoder

License

MIT

Ref

main

File structure

📁 assets/

📄 logo.svg

📁 scripts/

📄 openshow.py

📄 README.md

📄 SKILL.md