blockslisted
Install: claude install-skill atrislabs/atris
# Atris block-creator
Author documents the Atris desktop editor renders as **live blocks**: charts, gauges,
metric cards, tables, and images inside plain markdown. Same file is a one-pager or a
deck — the only difference is slide breaks.
The whole thing is one `.md` file. Prose is prose. A fenced code block with a known
language becomes a live visual. A `---` on its own line starts a new slide.
## Where things live
The renderer lives in the Atris desktop app (obelisk repo), at
`project-obelisk/src/lib/markdownEditorIo.cjs` (engine) and `renderEmbedBlockHtml` in
`project-obelisk/src/components/AppExperience.tsx` (block defs). Present mode:
`MarkdownPresentView.tsx`. Working templates: `project-obelisk/atris/decks/`
(`blocks-demo.md`, `generative-blocks.md`). Validate against the engine (below) —
it's the source of truth, no app needed.
## Doc shape
- **One-pager:** no `---`. Just headings, prose, and blocks. Scrolls.
- **Deck:** `---` alone on a line between slides. Present mode splits on it; export makes a PDF.
- A leading `---...---` frontmatter block is skipped by the slide splitter, so it's safe.
## The blocks
Each is a fenced code block. The body must be **valid JSON** — invalid JSON silently
falls back to a plain code block (no error), so validate. Colors/accents are hex strings.
### metric — a stat card
```metric
{"label":"MRR from paying customers","value":"$20K+","accent":"#f0a13a"}
```
`label`, `value` (string), optional `accent`. Put several in a row; they