Skroll CLI

A terminal client with the same OAuth 2.1 flow as the MCP server, and one command per MCP tool. Install @skrollai/cli, run skroll login, then call the tools by name.

Install and sign in

Login opens your browser, you approve access, and the CLI stores tokens in ~/.config/skroll/credentials.json. Pass --token or SKROLL_TOKEN to use an organization API key instead.

bash
pnpm add -g @skrollai/cli
skroll login
skroll whoami
skroll list_decks --scope mine

Agent skill

Coding agents (Claude Code, Cursor, Codex, and others) can install a skill that teaches them when and how to drive this CLI. The skill lives in the hamburgerlabs/skroll repo and is listed on skills.sh.

bash
npx skills add hamburgerlabs/skroll

How to create a skroll

You write the skroll, in one deck-tsx module. skroll instructions prints the brief to write it from: the rules a deck has to meet, how the module is compiled, what it may import, and what the engine already does. That command is essential. Do not write a skroll until you have run it and read it in full. Do not skip it. Do not write from memory of what slides usually look like.

bash
skroll instructions
skroll create_deck --title "Q3 review"
skroll set_deck_content --id <deck-id> --source @deck.tsx --tokens-css @tokens.css
skroll update_deck --id <deck-id> --visibility public

A module that does not compile is rejected with the compiler's message and nothing is saved, so fix and send it again. To change a skroll later, read it back with skroll get_deck and save the whole module again.

After publishing, the JSON includes publicUrl in the form https://skrollai.com/d/{slug} (example: https://skrollai.com/d/f4zqohxo7d). Share that field. Do not invent a link from the deck id.

Templates

A template is an ordinary skroll your organization starts new work from: same versions, same editing, same export. Find one with --kind template and build on it with --from-deck-id, which accepts any skroll you can read. To create one, pass --kind template rather than making a skroll and converting it.

bash
skroll list_decks --kind template
skroll create_deck --title "Q3 board" --from-deck-id <template-id>
skroll set_deck_content --id <deck-id> --source @deck.tsx

skroll create_deck --title "Monthly board update" --kind template \
  --description "Numbers first, one slide per business unit"

A starting point is not a copy: the first version is written fresh into that design. This API only authors slides, so a webpage starting point is refused. Brand comes from it unless you pass --brand-id. Use update_deck --kind template to promote a skroll the team already likes, and --archived true to retire one: skrolls built from a retired template still name it.

Commands

Each command is the MCP tool of the same name. See the MCP guide and the API reference for fields. Prefix a flag value with @ to read it from a file.

  • get_authoring_instructions
  • list_decks
  • create_deck
  • get_deck
  • update_deck
  • delete_deck
  • set_deck_content
  • list_deck_versions
  • get_deck_version
  • revert_deck_version
  • create_export
  • get_export
  • list_brands
  • get_brand
  • delete_brand
  • download_export (HTTP only: follows the file redirect)