Agent skill

Bento Slides

by Prism-Shadow in Prism-Shadow/penguin-harness

Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON.

Apache-2.0Auto-check passedDocuments & Office

Install Bento Slides

skills CLI
$ npx skills add Prism-Shadow/penguin-harness --skill bento-slides -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Prism-Shadow/penguin-harness bento-slides --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Prism-Shadow/penguin-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/use-bento-slides/skills/bento-slides .claude/skills/bento-slides && rm -rf skills-src

Use ~/.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/

Facts

Skill name
bento-slides
GitHub stars
2.5k
Token cost
~1.6k tokens
SKILL.md length
874 words
Files
1
Skills in repo
31
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON.

  • Works in 6 steps: Find the document. Locate the #bento-doc… → Read the source material the user gave… → Map material to a feature; do not… → …
  • The user wants a slide deck
  • SKILL.md covers Before you start, Starting from nothing, Workflow and Critical gotchas
  • Calls curl; reaches bento.page

What it does

Bento Slides is an agent skill from Prism-Shadow/penguin-harness. Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON. Use whenever the user wants a slide deck or presentation: from scratch, from source material, or by improving an existing file.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering Slides and decks. The repository describes itself as: 🐧 Unified and Stable RSI Platform. The licence is Apache-2.0.

When your agent uses it

  • The user wants a slide deck
  • Presentation: from scratch
  • From source material
  • By improving an existing file

Example prompts

  • “/bento-slides”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Find the document. Locate the #bento-doc block and parse its JSON. Note doc.size (canonical 1280×720), doc.theme, existing element ids…
  2. Read the source material the user gave you and classify each piece — a stat, a table, a process, a definition to expand, a photo.
  3. Map material to a feature; do not default to bullet text. This is the step that makes it a Bento deck rather than a slideshow of paragraphs
  4. Author using the schema, keeping https://bento.page/agents.md open for the element shapes, the morph / chart / state / ken-burns snippets…
  5. Self-audit before finishing
  6. Write back the edited #bento-doc block (escaping < as \u003c), or return the replacement JSON. Never regenerate the whole HTML file.

What it can do on your machine

Read from SKILL.md and the folder at commit d56d9ce. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • bento.page

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bento Slides loads about 1.6k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 874 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from Prism-Shadow/penguin-harness at commit d56d9ce, republished under its Apache-2.0 licence (© Prism-Shadow). 874 words, ~1,636 tokens.

Download SKILL.mdSave it as .claude/skills/bento-slides/SKILL.md (or your agent's skills folder).
name
bento-slides
description
Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON. Use whenever the user wants a slide deck or presentation: from scratch, from source material, or by improving an existing file.

Authoring Bento decks

A Bento deck is one self-contained .bento.html file. The document is plain JSON in a single block:

html
<script type="application/bento+json" id="bento-doc"> { "format":"bento/slides", ... } </script>

Edit that block only, in place. Escape every < in the JSON as \u003c so it can never contain a literal </script>. Leave the rest of the file — the compressed runtime — untouched. In a chat context the user copies the JSON out instead (Save ▾ → Copy document JSON) and pastes the replacement back (Save ▾ → Replace from JSON…); window.bento.loadDoc(json) does the same from the console.

Adapted from the Bento project's own skill, https://bento.page/skills/bento-slides/SKILL.md (MIT, © 2026 The Bento/Suite authors). The authoritative schema and recipe reference is https://bento.page/agents.md.

Before you start

If the user's message only invokes this skill (e.g. "use bento-slides skill") without a concrete request, ask what deck they want before doing anything: the topic, the source material to build it from, and whether to start from scratch or edit an existing .bento.html. Do not download anything or write a document until the goal is clear.

Starting from nothing

The user does not need Bento installed — the app ships inside every deck. When there is no .bento.html to edit, fetch the latest signed release and author into it:

bash
# 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"

On Windows without curl: iwr https://bento.page/releases/slides/Bento_Slides.bento.html -OutFile <Topic>.bento.html.

Verify the download contains id="bento-doc", then replace that block's JSON — it ships with a showcase deck, which is discarded. For a fresh document:

  • Fetch https://bento.page/agents.md before authoring and start from its "Minimal valid document" skeleton. size and theme (including theme.fontFamily) are required; the app will not boot without them.
  • Fully specify element fields as the skeleton shows — shapes need stroke / strokeWidth, text needs fontFamily / align / valign. Missing fields render wrong or not at all.
  • Omit docId and collab entirely. The app mints a fresh identity and dormant collaboration credentials on first open.

When done, offer to open it (open / xdg-open / start): the file boots straight into the editor with the finished deck. Aim for one pass from request to opened deck.

Workflow

  1. Find the document. Locate the #bento-doc block and parse its JSON. Note doc.size (canonical 1280×720), doc.theme, existing element ids, and whether doc.template / doc.readonly are set.
  2. Read the source material the user gave you and classify each piece — a stat, a table, a process, a definition to expand, a photo.
  3. Map material to a feature; do not default to bullet text. This is the step that makes it a Bento deck rather than a slideshow of paragraphs:
    • numbers to compare visually (trend, magnitude, share) — a chart element
    • a comparison, spec, pricing or feature grid — a table element (columns weights, rows of cells, a style object)
    • consecutive slides about the same thing changing — morph: give shared elements the same id on both slides and transition:"morph" on the later one (Bento's signature move; reach for it liberally)
    • a point to drill into — a state slide (stateOf plus an element link)
    • a hero or full-slide image — full-bleed image, scrim rect and text, with ken-burns drift
    • a sequence, flow or timeline — a line or path with a dash-march loop, or morph a highlight through the steps
    • a headline number — big text with fx:{countUp:true}
    • every cover and divider — at least one ambient motion
    • repeated chrome or a logo — keep its id stable across slides so it morphs in place
    • a demo clip, recording or soundbite — a media element (kind: video|audio); embed short clips as a data URI, link big ones by URL to keep the file small
  4. Author using the schema, keeping https://bento.page/agents.md open for the element shapes, the morph / chart / state / ken-burns snippets and the gotchas. Respect one accent colour, at most two typefaces, 96px side margins (right-most x ≤ 1184), and write speaker notes on every slide.
  5. Self-audit before finishing:
    • any numbers rendered as text that should be a chart?
    • do consecutive slides on one subject share ids and transition:"morph"?
    • at least one motion moment (ken-burns, loop, count-up), especially on the cover?
    • a drill-down that would work better as a state slide?
    • one accent colour, at most two typefaces, 96px margins?
    • speaker notes on every slide?
  6. Write back the edited #bento-doc block (escaping < as \u003c), or return the replacement JSON. Never regenerate the whole HTML file.
Show full SKILL.md (182 more words)Show less

Critical gotchas

  • Charts: bar and line series data must be plain numbers — {value,…} item objects coerce to 0, and only pie takes {name,value}. Colour by series, not per bar. option is pure JSON: template formatters only ({b} / {c} / {d}), never functions.
  • Morph needs deterministic, stable ids shared across the slides that should animate together. Different ids mean no morph — the elements just cut.
  • Images and fonts must be embedded as data URIs in doc.assets and referenced by "asset:<key>", so the file stays self-contained.
  • Media: a media element (kind: video|audio) embeds short clips as a data URI in src, or references a URL for big files. autoplay runs only in present mode and needs muted:true for video. Do not embed large videos — they bloat the file.
  • Never regenerate docId when editing an existing deck; it is the document's identity. Fresh decks omit it and the app mints one.
  • template:true means every open mints a fresh deck; readonly:true means the file boots straight into the show with no editor.

Working examples of every technique: open any template at https://bento.page and read its #bento-doc block.

© Prism-Shadow, 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

Files

Just SKILL.md in plugins/use-bento-slides/skills/bento-slides of Prism-Shadow/penguin-harness.

Open the folder on GitHubat commit d56d9ce

Compare with similar skills

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.

Bento Slides compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bento Slides this skillPrism-Shadow/penguin-harness2.5k—~1.6kAutomated safety check: PassApache-2.0
Image To Editable Pptningzimu/image-to-editable-ppt-skill2.8k—~4.3kAutomated safety check: PassMIT
Slidesfcakyon/claude-codex-settings1.2k1 repos~1.1kAutomated safety check: PassMIT
Ppt Image FirstNyxTides/ppt-image-first1.2k—~1.6kAutomated safety check: PassApache-2.0
Vibe to Agentic Engineering Frameworkshanraisshan/claude-code-best-practice67k—~3.3kAutomated safety check: PassMIT
Gpt Image2 PptJuneYaooo/gpt-image2-ppt-skills1.3k—~8.9kAutomated safety check: NotesApache-2.0

Similar skills

  • Image To Editable Ppt

    ningzimu/image-to-editable-ppt-skill

    Rebuild slide images, scanned or image-based PPT/PPTX files, and PDF decks into object-level editable PowerPoint (.pptx), preserving speaker notes when supplied.

    2.8k GitHub stars~4.3k tokensUpdated 23 days ago
    Documents & OfficeAuto-check passed
  • Slides

    fcakyon/claude-codex-settings

    Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.

    1.2k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Ppt Image First

    NyxTides/ppt-image-first

    Build presentation plans for PPT / slides / decks through a conversation-first workflow, then propose multiple visual directions with preview images before writing deck specs.

    1.2k GitHub stars~1.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Vibe to Agentic Engineering Framework

    shanraisshan/claude-code-best-practice

    Explains the conceptual model behind a presentation on moving from unstructured vibe coding to fully configured agentic engineering, including its 4-level scoring system and slide conventions.

    67k GitHub stars~3.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Gpt Image2 Ppt

    JuneYaooo/gpt-image2-ppt-skills

    Generate visually striking PPT slides via OpenAI's gpt-image-2 -- use any style in styles/<collection/STYLEID.md or mimic a user-supplied .pptx template; outputs high-res slide PNGs and a 16:9 .pptx.

    1.3k GitHub stars~8.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Compiledeck

    scunning1975/MixtapeTools

    Create and compile beautiful Beamer presentations following the Rhetoric of Decks philosophy.

    473 GitHub starsUsed in 2 repos~3.1k tokens
    Documents & OfficeAuto-check passed

More from Prism-Shadow/penguin-harness

All 31 skills in this repo
  • A2ui

    Prism-Shadow/penguin-harness

    Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that collects several answers, a procedure as steps with warnings in place, a…

    2.5k GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Penguin Harness Dev

    Prism-Shadow/penguin-harness

    A skill your agent uses when developing PenguinHarness itself — changing packages/{core,server,web,cli,desktop,landing,docs,skills}, the built-in model catalog, the installers or the release…

    2.5k GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Penguin Harness Manual Test

    Prism-Shadow/penguin-harness

    A skill your agent uses when standing PenguinHarness up to try a change by hand — launching the Web App, the desktop shell, the landing page, the docs site or the component gallery to click through…

    2.5k GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Penguin Harness Frontend

    Prism-Shadow/penguin-harness

    A skill your agent uses when changing the PenguinHarness Web App (packages/web) or the shared UI package — adding or restyling any UI, picking a status colour, adding an icon, laying out a row or a…

    2.5k GitHub stars~6.4k tokensUpdated 2 days ago
    Auto-check passed
  • Browser Automation

    Prism-Shadow/penguin-harness

    Drive the PenguinHarness agent browser — the desktop app's built-in browser or the user's own Chrome — from the shell with penguin browser: open pages, read them as simplified HTML or text, act with…

    2.5k GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check: warnings
  • Penguin SDK

    Prism-Shadow/penguin-harness

    A skill your agent uses whenever the user wants to build an agent application — their own program with an embedded agent, such as an AI app, an agentic app or a RAG app.

    2.5k GitHub stars~11k tokensUpdated 2 days ago
    Auto-check passed

Questions about Bento Slides

What does Bento Slides do?

Create and edit Bento presentations — self-contained .bento.html decks whose document is JSON. Bento Slides is an agent skill from Prism-Shadow/penguin-harness.html decks whose document is JSON.

When should I use Bento Slides?

Bento Slides fits situations like: the user wants a slide deck; presentation: from scratch; from source material; by improving an existing file.

How do I install Bento Slides in Claude Code?

Run `npx skills add Prism-Shadow/penguin-harness --skill bento-slides -a claude-code`. Or copy the skill folder (plugins/use-bento-slides/skills/bento-slides in Prism-Shadow/penguin-harness) into .claude/skills/bento-slides in your project. Claude Code loads it when a task matches its description.

How do I install Bento Slides in Codex?

Run `npx skills add Prism-Shadow/penguin-harness --skill bento-slides -a codex`. Or copy the skill folder (plugins/use-bento-slides/skills/bento-slides in Prism-Shadow/penguin-harness) into .agents/skills/bento-slides in your project. Codex loads it when a task matches its description.

Can I use Bento Slides in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Prism-Shadow/penguin-harness --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.

What does Bento Slides need to run?

Going by SKILL.md and its folder, Bento Slides needs the command-line tools its instructions call (curl).

Does Bento Slides access the network?

SKILL.md names 1 domain. In commands or code: bento.page; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Bento Slides safe to install?

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. Review the folder before installing.

What licence does Bento Slides use?

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.

How many tokens does Bento Slides use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bento Slides?

Skills that share tags, products or a category with Bento Slides: Image To Editable Ppt (ningzimu/image-to-editable-ppt-skill, 2.8k stars), Slides (fcakyon/claude-codex-settings, 1.2k stars), Ppt Image First (NyxTides/ppt-image-first, 1.2k stars) and Vibe to Agentic Engineering Framework (shanraisshan/claude-code-best-practice, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bento Slides?

Prism-Shadow (a GitHub organization) maintains it in Prism-Shadow/penguin-harness, which has 2,464 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.

Source: Prism-Shadow/penguin-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.