mcpField
Q
qiaomu-bento-ppt

qiaomu-bento-ppt

github.com/joeseesunDocuments127243 installsUpdated 13w ago
Repository

About qiaomu-bento-ppt

qiaomu-bento-ppt is a skill for turning source material into editable, presentable, offline single-file bento/slides decks. It guides new deck creation and existing deck edits, with document-identity safeguards and validation steps.

Key features

  1. 01Create single-file bento/slides decks
  2. 02Plan and organize slides from source material
  3. 03Preserve identity and HTML shell when editing
  4. 04Validate structure and browser presentation

Use cases

  1. 01Turn source material into an offline deck
  2. 02Edit an existing deck while preserving its identity
  3. 03Check deck structure and rendered output

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/joeseesun/qiaomu-bento-ppt --skill qiaomu-bento-ppt

After installing, type/qiaomu-bento-pptin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE
NOTICE.md
README.md
.gitignore
manifest.json
.github/workflows/
sync-bento-upstream.yml
agents/
interface.yaml
evals/
trigger_cases.json
evals/fixtures/
minimal-deck.json
evals/output/
run_fixture.py
evals/upstream/
run_fixture.py
examples/
build_intro_deck.py
qiaomu-bento-ppt-intro.json
qiaomu-bento-ppt-intro-deck-plan.md
references/
workflow.md
upstream-contract.md
references/upstream/
bento-official-skill.md
bento-agents.md
bento-format.md
reports/
intro-deck-validation.json
output_quality_scorecard.md
publication.md
trust.md
upstream-sync-eval.json
intro-deck-json-validation.json
output-eval.json
scripts/
bento_deck.py
export_skill_ir.py
validate_skill.py
THIRD_PARTY_LICENSES/
bento-MIT.txt

Details

From the project README

qiaomu bento ppt

把资料转成可编辑、可演示、可离线分发的单文件 bento/slides deck。

Router Rules

  • 触发:用户明确提到 bento、.bento.html、单文件 HTML 演示文稿、离线可编辑 deck,或点名 $qiaomu-bento-ppt。
  • 近邻:只说“做 PPT”且未指定格式时,优先使用通用 PPT skill;先确认是否接受 bento 格式。
  • 不触发:明确要求 .pptx、Keynote、Google Slides;开发 bento 平台源码;制作 bento/spaces、bento/dash 或 bento/vault。
  • 编辑已有 deck 时保留 docId、未知字段、collab 数据和原始 HTML shell;只改 #bento-doc。
  • 新建 deck 时只生成一次 docId。禁止把既有文档当“新文档”重新生成身份。
  • 不发布、不部署、不签名,不读取 ~/.bento/release-key.json。

Required Sources

开始制作前读取 references/workflow.md 和 references/upstream-contract.md。

本 skill 自带固定版本的官方资料,按顺序读取:

  1. references/upstream/bento-official-skill.md
  2. references/upstream/bento-agents.md
  3. references/upstream/bento-format.md

当前固定 release、commit、文件来源与 SHA-256 记录在 upstream.lock.json。普通 deck 任务禁止临时联网换最新版;只有用户明确提出 维护/同步上游时,才运行:

python3 scripts/sync_upstream.py --report reports/upstream-sync-check.json

需要刷新时加 --update。脚本只接受同一个官方 GitHub release 的完整快照, 全部暂存并验证后才替换;随后必须重跑 standalone、identity、shell、fixture 和 browser gates。定期 GitHub workflow 只创建 PR,不直接更新 main。

用下面的命令检查独立资产:

python3 scripts/bento_deck.py locate

正常结果必须包含 "standalone": true。原始 bento checkout 不是前置条件; 只有更新兼容性检查时才可选传入 --repo。

Compact Workflow

  1. 判定交付物:确认新建还是编辑、语言、受众、场景、时长、比例、是否必须完全离线,以及用户是否明确要求跳过方案确认。
  2. 先做方案:广义主题先给 1a / 2b / 3c 选择卡和默认建议;形成 source-grounded deck-plan.md。用户说“直接生成/跳过确认”时可继续。
  3. 读取官方规范:使用 skill 内置的官方 bento skill/agent/format 快照,禁止凭记忆发明字段。
  4. 提取或起草 JSON:
    • 编辑:python3 scripts/bento_deck.py extract input.bento.html --output deck.json
    • 新建:从官方最小文档骨架起草;不带 collab、template、readonly。
  5. 内容映射:数字→chart,规格/对比→table,连续变化→morph,展开细节→state slide,主视觉→image+scrim+ken-burns,流程→path/dash-march,关键数字→countUp。
  6. 构建新文件:默认不覆盖任何输入。
python3 scripts/bento_deck.py build deck.json \
  --output result.bento.html \
  --new-document \
  --report reports/deck-validation.json

编辑已有 deck 时去掉 --new-document,用原文件同时锚定身份和 shell:

python3 scripts/bento_deck.py build deck.json \
  --identity-source input.bento.html \
  --output input.updated.bento.html \
  --report reports/deck-validation.json

脚本会拒绝 deck.json 与原文件 docId 不一致的构建。只有用户明确要求时 才加 --overwrite。

  1. 验证:结构校验、bento shell gate、真实浏览器打开、编辑态与演示态检查。视觉任务不能只以脚本通过作为完成证据。
  2. 交付:给出 .bento.html、deck-plan.md、可选 deck.json、验证结果和仍属 missing evidence 的项目。

Authoring Rules

  • 默认 1280×720;遵循实际 doc.size。常规内容保留约 96px 侧边距。
  • 每页一个视觉主语;画面与字幕/正文不要完整复读同一句。
  • 一套主色、最多两套字体。不要用左侧彩色竖线、默认网格或施工线制造廉价层级。
  • 使用真实图片、图标和数据;外部 URL 媒体会破坏离线承诺,必须明确说明。
  • 同一对象跨页变化时使用稳定、确定性的 id;同一页的有效 morph key 不得重复。
  • 每页写 speaker notes。控制文字密度,数字能图表化时不要堆文字。
  • chart option 必须是纯 JSON;bar/line 数据用纯数字;禁止函数 formatter。
  • 写入文档块时所有 < 转义为 \u003c,文档块中不得出现字面 script 结束标签。

Gate Ladder

  • Route gate:触发和近邻边界通过 evals/trigger_cases.json。
  • Structure gate:scripts/bento_deck.py validate 无 error。
  • Shell gate:生成文件必须通过内部 gate;可选 checkout 存在时再跑其 scripts/shell-gate.mjs 做兼容性复核。
  • Identity gate:编辑时 docId 与源文件一致;新建时只 mint 一次。
  • Quality gate:无越界、关键文字过小、空 notes、断链、无动效等未解释 warning。
  • Browser gate:真实打开后检查封面、至少一页内容页、演示模式、字体/图片/图表和无横向溢出。
  • Rollback boundary:默认写新文件;源 .bento.html 与源资料保持不变。
  • Upstream gate:upstream.lock.json 与四个内置快照的 SHA-256 必须一致;自动同步只能开 PR,合并前仍需浏览器复核。
  • 缺少浏览器、人工审阅、外部媒体可用性或发布安装证明时标为 missing evidence,不得写成“已验证”。

Output Contract

  1. deck-plan.md:受众、目标、叙事弧、逐页结构、素材映射、视觉方向、证据来源。
  2. deck.json:纯 bento/slides 文档数据;编辑场景保留身份和未知字段。
  3. <title>.bento.html:可独立打开、编辑和演示的单文件交付物。
  4. reports/deck-validation.json:errors、warnings、shell gate 和身份结果。
  5. 简短交付说明:路径、页数、离线边界、已验证项、missing evidence。

Permissions And Exclusions

  • 允许:读取用户指定资料和 skill 内置 shell/规范;在任务输出目录写计划、JSON、报告和新 deck;运行 Python 校验与本地浏览器。
  • 需用户明确授权:手动联网更新 shell/规范、覆盖既有 deck、把大型媒体改成外链、修改 bento 项目源码。仓库维护者启用的定期同步 workflow 仅限官方 release 元数据和快照,并只创建待审 PR。
  • 禁止:发布/部署/release、触碰签名密钥、向 main 直接推送、把 token/cookie/账号写入 deck 或报告。

版权与联系:Copyright (c) 向阳乔木 · X · GitHub

Comments

Markdown supported