agentsclimarketplace

Open show

Skill bg-szy/TOP-SKILLS/skills/marketplace/open-show

全球最大的 Claude Code 技能聚合库 · 收录 3900+ 来自 12+ 来源的技能,提供在线搜索与趋势分析看板 / The world's largest Claude Code skill aggregation hub — 3900+ skills from 12+ sources with online search and trend dashboard

Install
npx -y skills add bg-szy/TOP-SKILLS --skill open-show

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

将 Markdown、Word (.docx)、PDF、Text (.txt)、本地 HTML 或任意网址转换为单个可全屏播放的 HTML 幻灯片。触发词:「幻灯片」「转幻灯片」「生成演示稿」「做 deck」「文档转 html 播放」。

SKILL.md

4.8 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

OpenShow 技能

触发条件

用户提及以下任意关键词时激活:

  • 「幻灯片」「转幻灯片」「生成演示稿」「做 deck」
  • 「把这个文档转成可播放的 html」
  • 「把这篇文章做成 PPT 一样的网页」
  • 「这个网页能不能全屏播放」

支持的输入

类型识别方式处理方式依赖
Markdown.md / .markdown 后缀markdown 库解析markdown
Word.docx 后缀python-docx 提取标题/段落python-docx
本地 HTML.html / .htm 后缀BeautifulSoup 解析 DOMbeautifulsoup4
网址http:// / https:// 前缀requests 抓取 + 正文提取requests, beautifulsoup4
PDF.pdf 后缀PyMuPDF 逐页转图片嵌入pymupdf
Text.txt 后缀按空行/标题分块解析

执行流程(严格按顺序)

第一步:依赖检查

首次使用或不确定时,检查依赖:

python3 -c "import markdown, docx, requests, bs4, fitz; print('ok')"

若失败,安装:

python3 -m pip install markdown python-docx requests beautifulsoup4 pymupdf

第二步:判断输入并调用脚本

基础用法:

python3 ~/.hermes/skills/open-show/scripts/openshow.py -i "<输入>" -o ~/openshow_outputs

生成后自动用系统默认浏览器打开:

python3 ~/.hermes/skills/open-show/scripts/openshow.py -i "<输入>" -o ~/openshow_outputs --open

生成后用 openclaw browser 打开:

python3 ~/.hermes/skills/open-show/scripts/openshow.py -i "<输入>" -o ~/openshow_outputs --openclaw
  • 输入可以是文件绝对路径或 URL
  • 输出目录固定为 ~/openshow_outputs(不存在则自动创建)
  • 生成文件命名规则:openshow_<标题>_<时间戳>.html

第三步:返回结果并告知交互方式

已生成可播放 HTML:{path}

操作方式:

  • / 翻页
  • 空格 / PageDown 下一页
  • F 键切换全屏
  • T 键显示/隐藏计时器
  • 手机支持左右滑动翻页
  • 点击屏幕右侧 2/3 下一页,左侧 1/3 上一页
  • 左上角计时器点击可暂停/继续

适配场景:手机、电脑、大屏幕投影全屏播放

核心机制(内部实现要点)

内容解析

  • 所有输入统一转换为 Block 列表(heading, paragraph, image, list, code, quote)
  • HTML/URL 输入会启发式提取正文容器(最大文本密度的 article/main/div/section
  • 自动清理导航栏、广告、脚本、样式表
  • 本地/远程图片自动内联为 data URI,确保单文件离线可用

分页算法

  1. h1/h2/h3 为天然章节边界分 Section
  2. 单节内按容量拆页:文字 > 300 字、图片 > 3 张、块数 > 6 时自动拆分
  3. 超长段落(>300 字)先按句子拆分为多个 block,避免一页文字爆炸
  4. 自动避免标题独占一页:若某页只有 heading,从下一页借一个 block

布局模板

根据内容自动匹配:

  • cover:H1 大标题页,居中
  • text:纯文字内容页,左对齐
  • list:bullet points 页,字体放大
  • split:左图右文(1 张图)或上图下文(多张图)
  • image:单图全屏居中
  • closing:最后一页,居中总结风格

幻灯片引擎

  • 零外部 CDN,CSS + JS 全部内联
  • 每页 100vw × 100vh 绝对定位
  • 翻页动画:transform: translateX() + cubic-bezier(0.22, 1, 0.36, 1),0.5s
  • 性能优化:will-change + backface-visibility: hidden + touch-action: none
  • 响应式:clamp() 字体 + @media 适配手机

计时器

  • 页面加载 1 秒后自动开始
  • 左上角显示 MM:SS
  • 点击暂停/继续,暂停时变橙色
  • T 键切换显示/隐藏

品牌水印

  • 每页右下角内置 OpenShow logo(极简几何线条风格)
  • 低透明度(rgba(255,255,255,0.04~0.07)),不影响阅读
  • 切换到活动页时透明度微增,高端大气

常见错误与限制

  • ❌ 不支持 .pptx 输入
  • ❌ 不支持 .doc(老版本 Word),必须先转换为 .docx
  • ⚠️ PDF 转换为图片嵌入,文件较大时可能产生较大的 HTML
  • ⚠️ 某些复杂网页的 DOM 结构可能提取不完全,可建议用户先保存为本地 HTML 再转换
  • ⚠️ 远程图片下载失败时会保留原 URL,离线播放可能缺失

文件位置

  • Skill 配置:~/.hermes/skills/open-show/SKILL.md
  • 核心脚本:~/.hermes/skills/open-show/scripts/openshow.py
  • Logo 资源:~/.hermes/skills/open-show/assets/logo.svg
  • 输出目录:~/openshow_outputs/

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.