visuals-skills01
Three skills for turning content into something you can show
A self-contained HTML deck or dashboard, a vertical scroll deck built from a
Markdown report, or an Excalidraw architecture diagram. Packaged as a single
plugin named visuals.
visualize, md-to-scrolldeck, excalidraw-diagram.
Claude Code, Codex, Kimi, Gemini / Antigravity, Hermes, OpenCode.
One flat repo, manifests at the root, skills in ./skills/.
What ships02
Three deliverables, three skills
Each one writes exactly one output file per run and reports a
file:// path — never the generated markup.
Writes one self-contained HTML file — deck, dashboard, infographic, poster, flowchart, timeline, carousel. Starts from a fixed skeleton and a design system, never from a blank page. The general-purpose default.
Compresses one Markdown document into a vertical scroll-snap deck for leadership review: progress bar, phase header, dot rail, arrow-key nav, print-ready. Prints its slide outline before writing anything.
Generates .excalidraw JSON that argues visually rather than
labelling boxes, renders it to PNG, looks at the render, and fixes it
against a 27-item checklist before delivering.
The boundary03
Pick by deliverable, not by topic
The three skills overlap on subject matter and never on output format. That is the whole routing rule.
excalidraw-diagram
THE OUTPUT A VERTICAL SCROLL DECK a scrollytelling deck
md-to-scrolldeck
visualize
Each SKILL.md ends with a Related Skills section stating that boundary — all three stay in sync when one changes.
Install04
Six harnesses, one line each
Antigravity shares ~/.gemini, so it inherits the Gemini install.
/plugin marketplace add dEitY719/visuals-skills
/plugin install visuals@visuals-skills
codex plugin install dEitY719/visuals-skills
kimi plugin install dEitY719/visuals-skills
hermes plugins install dEitY719/visuals-skills
gemini extensions install https://github.com/dEitY719/visuals-skills
npx skills add https://github.com/dEitY719/visuals-skills
OpenCode has its own .opencode/INSTALL.md.
Harness support05
Written for Claude Code, portable by design
The skills read files, write one output file, and run a shell command. Very little of that is Claude-Code-specific.
| Skill | Claude Code | Codex | Kimi | Gemini / Antigravity | Hermes | OpenCode |
|---|---|---|---|---|---|---|
| visualize | full | full | full | full | full | full |
| md-to-scrolldeck | full | full | full | full | full | full |
| excalidraw-diagram | full | image read-back | image read-back | image read-back | image read-back | image read-back |
The per-harness tool mappings live in the sibling repo
dEitY719/harness-skills — one file per harness, not fifteen copies.
Degraded, not broken06
When a harness cannot look at its own output
Step 5 of excalidraw-diagram renders the diagram to PNG and then reads the image back to catch overlapping text and misaligned arrows.
A harness without image read-back still writes the
.excalidraw and renders the PNG.
It reports the visual audit as skipped — never as 27 of 27 quality items passed.
That step needs uv and a Playwright Chromium on the machine.
xdg-open and open are no-ops in a headless
session; the skills report the file:// path instead.
Layout07
Manifests at the root, one flat skills tree
Seven harness manifests, all pointing at the same
./skills/ directory.
.
├── skills/{visualize,md-to-scrolldeck,excalidraw-diagram}/
│ ├── SKILL.md
│ ├── references/
│ └── examples/ · evals/
├── docs/ GitHub Pages guides + samples
├── .claude-plugin/{marketplace,plugin}.json Claude Code
├── .codex-plugin/plugin.json Codex
├── .kimi-plugin/plugin.json Kimi CLI
├── .hermes-plugin/{plugin.yaml,__init__.py} Hermes Agent
├── .opencode/plugins/visuals.js + INSTALL.md OpenCode
├── .agents/plugins/marketplace.json Antigravity
├── gemini-extension.json + GEMINI.md Gemini CLI
├── package.json
├── CLAUDE.md · AGENTS.md -> CLAUDE.md
└── LICENSE
The decision08
Nesting would have made this Claude-Code-only
The repo shipped a nested plugins/<name>/skills/ layout
through v0.4.0. It is gone.
Only Claude Code understands the nested layout. The other five harnesses resolve
manifests at the repo root and a skills tree at ./skills/ — so
nesting would have silently cut this plugin down to one harness.
The flat layout is a checked invariant, not a convention.
Kimi CLI is not installed on the maintainer's machines yet. Shipping the manifest now costs nothing and saves a migration later.
CI09
The one repo that does not call the shared workflow
Every other dEitY719/*-skills repo validates through
harness-skills/.github/workflows/skill-check.yml. This one
inlines everything on purpose.
Manifests, skill frontmatter, progressive-disclosure line limits, the
Codex description budget, version agreement across all seven
version-bearing manifests, plugin-name consistency, the
AGENTS.md symlink, the flat layout, and shell scripts.
The shared workflow includes that check. This repo's visualize skill ships example HTML — posters, decks, infographics — using emoji as intentional design glyphs in the rendered artwork. Fifteen tracked files carry them.
Tracked work10
Converting back is gated on one boolean
Until then, a check added to the shared workflow must be mirrored here by hand.
skill-check.yml grows a check-emojis boolean input
(required: false, default: true) guarding its
emoji step.
Once that ships on @main, validate.yml collapses
to a call passing plugin-name: visuals and
check-emojis: false.
Filed against the sibling repo that owns the shared workflow.
Provenance11
Extracted as a snapshot, credited in the manifest
Lifted from dEitY719/dotfiles
(claude/skills/devx-*) as a content snapshot — no history
rewriting. The source SHA is recorded in the conversion commit.
careerhackeralex
coleam00
dEitY719
Thedevx-prefix is dropped here because the plugin namespace (visuals:) now supplies it. This is Phase 1 of the dotfiles #1410 migration.
Start12
Add the marketplace, install the plugin
MIT licensed. See LICENSE.
/plugin marketplace add dEitY719/visuals-skills /plugin install visuals@visuals-skills
Then point any of the three at your content —/visuals:visualize,/visuals:md-to-scrolldeck, or/visuals:excalidraw-diagram.