Qiaomu Bento Ppt
joeseesun/qiaomu-bento-ppt
Use the standalone qiaomu-bento-ppt skill to create or edit qiaomu-style bento presentations as self-contained .bento.html files from briefs, notes, reports, URLs, data, or existing bento decks.
A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.
$ npx skills add sammcj/agentic-coding --skill bento-slides -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sammcj/agentic-coding bento-slides --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/bento-slides .claude/skills/bento-slides && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bento-slides" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slides into .claude/skills/bento-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bento-slides", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slidesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sammcj/agentic-coding --skill bento-slides -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sammcj/agentic-coding bento-slides --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Skills/bento-slides .agents/skills/bento-slides && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bento-slides" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slides into .agents/skills/bento-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bento-slides", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sammcj/agentic-coding --skill bento-slides -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sammcj/agentic-coding bento-slides --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Skills/bento-slides .cursor/skills/bento-slides && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bento-slides" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slides into .cursor/skills/bento-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bento-slides", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sammcj/agentic-coding.git --path Skills/bento-slides--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sammcj/agentic-coding --skill bento-slides -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sammcj/agentic-coding bento-slides --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Skills/bento-slides .gemini/skills/bento-slides && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bento-slides" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slides into .gemini/skills/bento-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bento-slides", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sammcj/agentic-coding bento-slidesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sammcj/agentic-coding --skill bento-slides -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .github/skills && cp -r skills-src/Skills/bento-slides .github/skills/bento-slides && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bento-slides" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slides into .github/skills/bento-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bento-slides", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sammcj/agentic-coding --skill bento-slides -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sammcj/agentic-coding bento-slides --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Skills/bento-slides .opencode/skills/bento-slides && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bento-slides" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/bento-slides into .opencode/skills/bento-slides/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bento-slides", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bento-slidesA skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.
Bento Slides is an agent skill from sammcj/agentic-coding. Use when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `CHANGELOG.md`, `CLAUDE.md` and `evals/trigger.json`).
It sits in Documents & Office, covering Slides and decks and HTML artifacts. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2f25ced. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodecurlgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
bento.pagegithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bento Slides loads about 2.9k tokens when it runs, and up to ~8.5k if it reads all its reference files. Until then it costs about 33 tokens; SKILL.md has 1,624 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 1,624 words, ~2,852 tokens.
.claude/skills/bento-slides/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.A Bento deck is one self-contained .bento.html file: a compressed app runtime plus the document as plain JSON in one block:
<script type="application/bento+json" id="bento-doc"> { "format":"bento/slides", ... } </script>render_check.mjs --write writes the block for you. A hand-written splice must escape every < in the JSON as its unicode escape (a backslash followed by u003c), so the block never contains a literal </script> and a build script can find the block's end at the first </script> after the opening tag.window.bento.loadDoc(json) does the same from the console.docId, so a stale tab offers to "restore" the old version on the next open; tell the user to pick Discard.#bento-doc block contains "format":"bento/enc", the deck is password-encrypted. Stop and tell the user; plain JSON written over it destroys the ciphertext.collab as found. Keys mint at creation and every save writes them, so nearly every saved deck carries ownerPriv: anyone with the file can join its live session.collab severs the owner from their own room while sent copies keep the old one.collab.sync; the next open merges it with the room, so elements a script deleted come back. render_check.mjs --write drops collab.sync. If edits still reappear, the owner's other tabs are in the room: set collab.on to false and have the user Share > Reset access.collab.on to false only when the user asks to stop sharing. Change that one field and keep the keys.The user does not need Bento installed; the app ships inside every deck. Fetch the latest release and author into it:
# name the file after the deck's topic, e.g. Q4_Review.bento.html
curl -fsSL https://bento.page/releases/slides/Bento_Slides.bento.html -o "<Topic>.bento.html"Verify the download contains id="bento-doc". The block is empty on disk (a browser mints a demo deck on first open), so there is nothing to discard. Omit docId and collab. render_check.mjs --write saves freshly minted keys with sharing off (collab.on:false); the user turns sharing on with Share. Never author a collab object: one without keys never gets any, so Share silently connects nothing.
When the user asks for a themed deck or names a theme from bento-themes, use the local clone at ~/git/sammcj/bento-themes if it exists (it may hold unreleased work). Otherwise clone it there: git clone https://github.com/sammcj/bento-themes ~/git/sammcj/bento-themes.
themes/<name>/preview/*.png.themes/<name>/<Name>.bento.html to <Topic>.bento.html.doc.json from themes/<name>/<Name>.doc.json (full form). Keep theme, fonts, assets, present, meta and layouts. Delete collab, docId and template so the deck is not a template and --write saves it with sharing off.id, and replace its text, data and notes. A layout with a detail state needs its state slide copied too, with stateOf and link updated. Theme layouts carry no role, so compact role placement does not apply.Create a task per step below, each with its completion criterion, then work them to completion.
references/agents-1.2.3.md (element shapes, chart/state/hidden-slide rules, column arithmetic) and references/format-reference.md (compact form, fields since 1.0.18, runtime rules). Every key, generated from the runtime: https://bento.page/schema/slides.json.#bento-doc JSON. Note doc.size, doc.theme, element ids, docId, and whether template or readonly is set. Keep docId unchanged.chart elementtable element (columns weights + rows of cells + a style object)stateOf + element link)from/to) or a pathcode elementunnumbered:true on the continuationsid stable across slidesmedia elementdoc.json in compact form ("compact": true), per format-reference "Compact form". Its typography and role-placement rules fail silently: read both before writing text. Compact fills size (1280x720) and theme when omitted.h:"auto"; otherwise window.bento.measure({html, w, fontSize, fontFamily}) via render_check.mjs --eval, always passing fontFamily.render_check.mjs "<Topic>.bento.html" --doc doc.json --write "<Topic>.bento.html" (add --motion if the user asked for animation). In a chat context, return the replacement JSON instead.dropped entries or errors, and no warnings on content you authored, then read every PNG. On an existing deck, report warnings about the user's own content (motion, notes, fonts) instead of rewriting it. Overflow, crowding and a dropped chart key are invisible in the JSON and obvious on screen.Static decks: transition:"none" or "fade", no fx, no loops, no ken-burns. Most decks are shown over a video call, where frame drops smear motion and loops pull attention from the speaker. Bento's templates lean on animation; ignore that. Only when the user asks for animation, read references/motion.md (morph, entrances, step reveals, count-up, ken-burns, loops).
Bento's examples use a display band (y:72 h:84, content from y:208, 96px bottom margin) that leaves 416px of 720 for content. Pick a tier per slide:
y:64, rule at y:132, content from y:156 to y:656 (500px), 96px side margins kept.h:"auto"), sum, then split the remainder across the gaps.node scripts/render_check.mjs <deck> [--doc doc.json [--write <deck>]] boots the deck in headless Brave/Chrome with DNS off, prints the load report, validate() findings and the skill's own checks, and saves one PNG per page. --help lists the options.node scripts/inflate_runtime.mjs <deck> extracts the compressed runtime as searchable minified JS; rg it to settle a question about app behaviour.$TMPDIR; a sandbox that blocks it kills the run, so run outside it. Outside the sandbox $TMPDIR differs: keep doc.json and the deck on project paths.<ul><li> in html (nested <ul> for sub-bullets, <ol> for numbered). A typed "•" or "-" is inline, so a wrapped line returns under the bullet instead of hanging under the text. Compact md bullets produce those glyph lines, so a bulleted element uses html. Lists cost height and <ul> already breaks (no <br> beside it): re-measure after converting. Centre or right aligned lists lose the hanging indent.html keeps tags only (b i u br p div span ul ol li h1 h2 a code strong em s). Every attribute except http(s) href is stripped, so inline colour or size needs a separate text element. $…$ on one line renders as maths ($typst: …$ for Typst); write \$ for a literal dollar.validate() misses ignored sub-keys. Write charts only from agents "chart" and format-reference "Chart rules".fit:"contain" draws smaller than its box. Margin and coverage checks read the box, so a portrait image in a landscape box passes while leaving dead space. Give the box the asset's aspect ratio.borderWidth applies to every edge. For horizontal rules only, set borderWidth:0 and draw rect shapes of h:1 at the row pitch.line shape draws at 2px minimum. A 1px rule is a rect with h:1.{{date}} renders the viewer's today. {{date:YYYY-MM-DD}} pins the format only. Write a literal date for a fixed event.template:true -> every open mints a fresh deck, so the runtime strips the flag on load; render_check.mjs --write restores template and layouts from the input JSON. readonly:true -> the file boots straight into the show with no editor (validate/measure absent).doc.layouts insert semantics: deep-clones, preserves element ids, clears notes, name and stateOf. Leave link out of layouts.Working examples of every technique: open any template at https://bento.page and read its #bento-doc block.
© sammcj, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references) in Skills/bento-slides of sammcj/agentic-coding.
Open the folder on GitHubat commit 2f25ced
Bento Slides next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bento Slides this skillsammcj/agentic-coding | 162 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Qiaomu Bento Pptjoeseesun/qiaomu-bento-ppt | 127 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder | 117 | — | ~5.7k | Automated safety check: Pass | None | |
| PPT as CodeRussell-cell/PPT-as-code | 190 | — | ~11k | Automated safety check: Pass | MIT | |
| Sci HTMLShZhao27208/Aut_Sci_Write | 209 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Karpathy Output EvolutionLearnPrompt/andrej-karpathy-skills | 110 | — | ~1.5k | Automated safety check: Pass | MIT |
joeseesun/qiaomu-bento-ppt
Use the standalone qiaomu-bento-ppt skill to create or edit qiaomu-style bento presentations as self-contained .bento.html files from briefs, notes, reports, URLs, data, or existing bento decks.
KyrieCheungYep/ky-markdown-rebuilder
Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.
Russell-cell/PPT-as-code
Plans and builds HTML-based web presentations through staged quick, basic or advanced workflows, with optional visualization planning, motion, a workbench and PPTX export handoff.
ShZhao27208/Aut_Sci_Write
Generate academic presentation-style HTML slide decks and browser reports from PDFs, structured text, Markdown, paper summaries, outlines, or research notes.
LearnPrompt/andrej-karpathy-skills
Upgrade LLM outputs from plain text to structured, rendered formats like HTML, Marp slides, or interactive dashboards.
NikiforovAll/claude-code-rules
Generate self-contained HTML pages that visually explain technical material — systems, code changes, plans, data.
sammcj/agentic-coding
A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…
sammcj/agentic-coding
A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS
sammcj/agentic-coding
Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.
sammcj/agentic-coding
Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.
sammcj/agentic-coding
You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
sammcj/agentic-coding
Delays execution of a task until a specified time or after a duration.
Categories
A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck. Bento Slides is an agent skill from sammcj/agentic-coding.html) slide decks, including any request for a single-file HTML slide deck.
Bento Slides fits situations like: editing Bento (.bento.html) slide decks; including any request for a single-file HTML slide deck.
Run `npx skills add sammcj/agentic-coding --skill bento-slides -a claude-code`. Or copy the skill folder (Skills/bento-slides in sammcj/agentic-coding) into .claude/skills/bento-slides in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sammcj/agentic-coding --skill bento-slides -a codex`. Or copy the skill folder (Skills/bento-slides in sammcj/agentic-coding) into .agents/skills/bento-slides in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sammcj/agentic-coding --skill bento-slides -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bento-slides, .gemini/skills/bento-slides, .github/skills/bento-slides and .opencode/skills/bento-slides in your project.
Going by SKILL.md and its folder, Bento Slides needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node, curl and git). Our summary lists: Node.js.
SKILL.md names 2 domains. In commands or code: bento.page and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Bento Slides is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bento Slides: Qiaomu Bento Ppt (joeseesun/qiaomu-bento-ppt, 127 stars), Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars), PPT as Code (Russell-cell/PPT-as-code, 190 stars) and Sci HTML (ShZhao27208/Aut_Sci_Write, 209 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.
Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.