Skip to content

Cheat sheet

The syntax on one page. Each section links to the page that explains it.

MarkerAnswerDrawn as
[x]YesCheck, solid green
[-]PartlyDash, solid amber
[!]NoCross, solid red
[?]Unknown — looked, cannot settle? in a hollow ring
[ ]Open — not looked yetEmpty hollow ring
[/]Does not applySlash, solid gray, label struck
- [!] Load test failed at peak ← bare, in a layout that reads markers
Residency `[x]` · SOC 2 `[?]` ← inline, on any slide

Bare markers work in: checklist · verdict-grid · pricing · obligation-matrix · roadmap · any table with state-cells.

WriteDoes
<!-- _class: table state-cells -->A table’s leading cell markers draw discs
`[{[x], In force}, {[/], Exempt}]`Renames key entries (obligation-matrix, roadmap); own paragraph, above the grid
checks-ringed · checks-knockout · checks-bold · checks-outline · checks-tonalDisc style, per slide or per deck
heatYes turns red, no turns green, for a risk reading
`{LABEL, shape, color, size}` modifiers in any order, all optional
KindModifiers
Shape(capsule) · chip · tag · tag-bordered · circle · chevron-right · chevron-left · diamond
Colorc1 … c12 — numbered slots, never a meaning
Size(automatic: large in headings, small in notes and footers) · sm · lg

circle and diamond hold one character or a number up to two digits; longer labels get a lint warning. An unknown modifier leaves the span as plain code.

GoodCarefulBadNotedParked
on-track done liveat-risk warnblocked failpilot decisiondeferred
ComponentSlot
progressSecond trailing span — `68%` `at-risk`
timeline-listTrailing span after the title
kanbanTrailing span on the card’s lane bullet
ganttA token on the task bullet (live is informational here)
state-chartTrailing span on the state line
slopeTrailing span on the entity line

Hyphenate: at-risk, not at risk. On progress and timeline-list an unknown word still draws, in the informational color. Only gantt warns.

PillWhere
Datetimeline-list: leading span · regulatory-update: last nested bullet · roadmap: phase header
MetadataTrailing code span on a row, where the component has the slot
Rangeglossary heading, automatic
WriteGets
`\[x]` · `\{LIVE}`The literal text
inline-code: literal in front matterPills and inline marks off, whole deck
<!-- _class: inline-code-literal -->The same, one slide
Studio: Settings → Deck → General → Inline pills and marksThe front-matter switch

[X], [~], {x} and fenced code blocks never draw anything.

CommandCatches
npm run lint:deck -- deck.mdLabel-set keys, words in circle, {x} in braces, typed ✓ ✗
npm run lint:deck -- --fix deck.mdApplies every machine fix in place

Upgrading a deck written before the six answers? See Upgrading an older deck.