deck3d

deck3d is a skill for Claude Code, Codex from BlackBeltTechnology/pi-agent-dashboard. It costs 71 tokens per session (4,633 once invoked), scanned A, original, MIT.

A tool that turns a Markdown outline into one self-contained 3D presentation file that works offline in a browser. It can turn supported Mermaid flowcharts and sequence diagrams into slide diagrams.

In plain words
What is it for?
Use it to build and tune offline presentation decks from headings, bullets, and supported Mermaid diagrams.
Why use it?
It removes much of the manual work of turning notes and diagrams into a presentation that can be opened without a network connection.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to build and tune offline presentation decks from headings, bullets, and supported Mermaid diagrams.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/blackbelttechnology/pi-agent-dashboard/deck3d
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add BlackBeltTechnology/pi-agent-dashboard --skill deck3d
Clone the repo
git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for deck3d

README.md
[![agentmods](https://agentmods.dev/badge/skills/blackbelttechnology/pi-agent-dashboard/deck3d/github.svg)](https://agentmods.dev/skills/blackbelttechnology/pi-agent-dashboard/deck3d)
Your own site
<a href="https://agentmods.dev/skills/blackbelttechnology/pi-agent-dashboard/deck3d"><img src="https://agentmods.dev/badge/skills/blackbelttechnology/pi-agent-dashboard/deck3d/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for deck3d

Your own site · 80×15
<a href="https://agentmods.dev/skills/blackbelttechnology/pi-agent-dashboard/deck3d"><img src="https://agentmods.dev/badge/skills/blackbelttechnology/pi-agent-dashboard/deck3d.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 71 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,633 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00071 $0.04633
Opus 5.5 $0.00028 $0.01853
Sonnet 5.5 $0.00014 $0.00927
Haiku 4.5 $0.00007 $0.00463

Measured 4d ago against content hash f21caaf169bc, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

deck3d scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

packages/deck3d/.pi/skills/deck3d/SKILL.md · 296 lines

How it starts

The opening of the file, as written. The whole thing — 296 lines — stays where its author put it; the contents beside it link to each section on GitHub.

deck3d

Turn a Markdown outline into one self-contained, offline deck.html: extruded 3D titles, harvested mermaid diagrams built as 3D objects, animated backgrounds, and an optional glTF prop. The converter code is deterministic; you tune the result by writing overrides in deck.json, never by editing the HTML.

When to use

  • The user has an existing .pptx: follow deck3d-from-pptx (import, reference renders, then a variant-and-ask step per styling decision).
  • The user has a Markdown outline (headings + bullets + ```mermaid blocks) and wants a presentation they can open offline in a browser.
  • You need to tune placement, legibility, mode, effects or props of an existing deck.json.

Markdown grammar

  • --- front-matter: deck defaults (mode, palette, material, quality, transition, …).
  • # Title starts a slide. Zero headings ⇒ one slide id slide.
  • The first paragraph after the heading (before bullets) is the subtitle.
  • - bullet lines are body bullets.
  • A fenced ```mermaid flowchart / sequenceDiagram block becomes the slide's diagram (harvested in headless chromium). Any other diagram type ⇒ warn + no diagram.
  • <!-- deck3d: {...} --> inline overrides win over deck.json and warn on clobber. The comment may span several lines or be written as a bullet (- <!-- deck3d: {...} -->); in every form it is read as an override and is never the subtitle or a bullet.
  • Pin a slide id with # Final {#outro} so renames never orphan tuning.

The tune loop

Interactive authoring path: deck3d serve talk.md [--check]. Watches sources, rebuilds on change, reloads in place, re-pins local fx hashes, and lets the configurator save or apply overrides directly.

Manual headless / agent / CI path:

  1. deck3d parse talk.md → talk.json (derived IR + empty overrides).
  2. deck3d validate talk.json → schema + derived-edit + orphan/prop warnings.
  3. deck3d build talk.md -o talk.html → talk.json + talk.html; runs check and prints style: <n>/<N> slides styled.
  4. Style — mandatory, and the step that decides whether the deck looks designed. deck3d check talk.html --style warns style-defaults for every slide still running only what parse chose. For each one:
    • pick a corpus effect (deck3d fx list --topic geo, --kind background; the stylistic set — clipped-solids, extruded-shapes, volume-cloud, curve-flow, … — is never auto-picked, so it is always an explicit choice) or write a per-deck one with deck3d fx scaffold <name> --for <slideId>;
    • give a content slide without a mermaid block a built topology (overrides.slides["<id>"].diagram.kind + data);
    • illustrate the section: deck3d props search <kw> --role hero, --role illustration, and props search --role ambient for low-triangle background instances;
    • if extruded titles read as a solid block, set titleEdge: "contrast" (deck default, or per slide) — it outlines every character in the palette text colour;
    • for a deck that wants a horizon, set overrides.deck.floor: "water" (one global surface; per-slide is not a thing);
    • the floor reflects the backgrounds too; overrides.deck.reflectBackdrop: false limits the reflection to slide content (one less backdrop pass per frame), and overrides.deck.floorMatte (0-1) roughens it — 0 is a perfect mirror, ~0.35 reads as polished concrete, ~0.85 as scattered stone (the ⚙ panel drags it on a slider), while overrides.deck.floorReflectivity (0-1, default 1) sets how STRONG the reflection is; all deck-scope only;
    • grade the frame with a post card (deck3d fx list --kind post): add { "id": "outline", "params": { "parts": "diagram" } } (or selective-bloom, god-rays, depth-of-field, pixelate, ascii, …) to the slide's effects[]. One or two per slide; they stack in a fixed order, and check flags declared conflicts.
  5. Read the check findings. Fix only the suggested key (e.g. overrides.slides["arch"].diagram.scale), then re-run step 3.
  6. deck3d snapshot talk.html --slide 5 -o s5.png to eyeball one slide.
  7. Repeat until check is clean and the style line accounts for every slide you meant to design.

Read the full file on GitHub · 296 lines

Files

What ships with it

11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +68 lines f21caaf169bc
  2. 16d ago Changed · +110 lines c38e0e196f10
  3. 27d ago First seen · 118 lines · 71 tokens per session scan A 54aa53f8928e

Subscribe to this mod's changes

deck3d is a skill published in the GitHub repository BlackBeltTechnology/pi-agent-dashboard (319 stars, last pushed yesterday), licensed MIT. It adds 71 tokens to every session and 4,633 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-19.