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.
npx skills add BlackBeltTechnology/pi-agent-dashboard --skill deck3dgit clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboardWrote 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.
[](https://agentmods.dev/skills/blackbelttechnology/pi-agent-dashboard/deck3d)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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: followdeck3d-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, …).# Titlestarts a slide. Zero headings ⇒ one slide idslide.- The first paragraph after the heading (before bullets) is the subtitle.
- bulletlines are body bullets.- A fenced ```mermaid
flowchart/sequenceDiagramblock becomes the slide's diagram (harvested in headless chromium). Any other diagram type ⇒ warn + no diagram. <!-- deck3d: {...} -->inline overrides win overdeck.jsonand 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:
deck3d parse talk.md→talk.json(derived IR + emptyoverrides).deck3d validate talk.json→ schema + derived-edit + orphan/prop warnings.deck3d build talk.md -o talk.html→talk.json+talk.html; runscheckand printsstyle: <n>/<N> slides styled.- Style — mandatory, and the step that decides whether the deck looks
designed.
deck3d check talk.html --stylewarnsstyle-defaultsfor every slide still running only whatparsechose. 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 withdeck3d 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, andprops search --role ambientfor 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: falselimits the reflection to slide content (one less backdrop pass per frame), andoverrides.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), whileoverrides.deck.floorReflectivity(0-1, default 1) sets how STRONG the reflection is; all deck-scope only; - grade the frame with a
postcard (deck3d fx list --kind post): add{ "id": "outline", "params": { "parts": "diagram" } }(orselective-bloom,god-rays,depth-of-field,pixelate,ascii, …) to the slide'seffects[]. One or two per slide; they stack in a fixed order, andcheckflags declaredconflicts.
- pick a corpus effect (
- Read the
checkfindings. Fix only the suggested key (e.g.overrides.slides["arch"].diagram.scale), then re-run step 3. deck3d snapshot talk.html --slide 5 -o s5.pngto eyeball one slide.- Repeat until
checkis clean and the style line accounts for every slide you meant to design.
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.
- AGENTS.md 1.1 KB
- examples/AGENTS.md 692 B
- examples/deck.json 7.5 KB
- examples/fixture.md 260 B
- examples/snapshot-after.png 186 KB
- examples/snapshot-before.png 297 KB
- reference/AGENTS.md 776 B
- reference/effects.agent.md 3.3 KB
- reference/effects.md 32 KB
- reference/ir-fields.agent.md 2.1 KB
- reference/ir-fields.md 29 KB
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.
- 4d ago Changed · +68 lines f21caaf169bc
- 16d ago Changed · +110 lines c38e0e196f10
- 27d ago First seen · 118 lines · 71 tokens per session scan A 54aa53f8928e
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.
Other skills, from other repositories
goga-cookbook
Principles for applying DSL specification in cell and CODEMANIFEST design.
goga-plan-by-design
Compile a design document into a ralphex execution plan.
goga-review-plan
Verify execution plan completeness and correctness.
goga-define-challenge
Challenge the complete product definition before the PRD is generated.
goga-define-project
Understand the current project before defining a product change that must fit into an existing product.
goga-define-requirements
Define the product requirements that describe what the product must do to deliver the established user experience and achieve the agreed product goals.