Slash commands

Press / on an empty line to open the command menu. Type to filter, / to navigate, Enter to insert.

Every command

Three groups, all sharing the same picker.

Basic — text and structure

CommandInsertsMarkdown it writes
/TextPlain paragraph
/Heading 1H1# …
/Heading 2H2## …
/Heading 3H3### …
/Bullet listUnordered list- …
/Numbered listOrdered list1. …
/ChecklistTask list- [ ] …
/Code blockFenced code```
/QuoteBlockquote> …
/DividerHorizontal rule---
/TableMarkdown table| … | … |

Media — images, video, embeds

CommandWhat it does
/ImageUpload, drag, paste, or insert from URL. Saves next to the page.
/VideoUpload a file or paste a direct URL.
/EmbedAuto-detects YouTube, Vimeo, Loom, X, TikTok, Spotify, Facebook, Instagram, more.
/FileGeneric attachment. Renders as a download chip.

Tip. Pasting a recognized URL on an empty line auto-embeds without the popover.

Advanced — callouts, math, more

CommandWhat it does
/CalloutInfo block with a left border.
/WarningAmber warning block.
/MathInline KaTeX (or wrap in $…$ / $$…$$).
/EmojiPicker — or paste 🚀 directly.

Quick commands

You can register your own slash commands per cabinet. Add a YAML to .cabinet/slash-commands.yaml:

commands:
  - name: meeting
    label: Meeting note
    insert: |
      # Meeting — $DATE
      **Attendees:** _
      ## Notes
      -
      ## Action items
      - [ ]
  - name: weekly
    label: Weekly review
    insert: |
      # Week of $YYYY-WW
      ## Wins
      ## Blockers
      ## Next week

Type /meeting on a new line, hit Enter, the template lands. Variables get interpolated, just like in routines.

Read on