Skip to main content

TL;DR

This creates a public marketplace listing pinned to the deck’s current version. Anyone can then browse it at slideless.ai/marketplace and slideless remix <slug> it. Publishing is free and instant.

What this does

  • Creates a listing — a public catalog entry — for the presentation linked to the current folder.
  • Pins the listing to the deck’s current immutable version. Later pushes do not move the listing until you explicitly republish.
  • Derives a slug from the title (override with --slug). The slug is the listing’s permanent id in every URL and command.
  • Defaults the listing to public status — it shows up in search and the catalog immediately.
It does not change the underlying presentation, its share tokens, or its collaborators in any way. A listing is a layer on top.
If the deck was created by remixing another listing, publishing carries that origin forward automatically — the new listing records remixedFromSlug and its marketplace page shows a “Remixed from <original>” link. There is no flag for this: the lineage rides along from the remix marker through the first push. See Marketplace › remix lineage.

Prerequisites

  • A presentation already pushed, so the folder has a slideless.json linking it. Get there with slideless push.
  • An authenticated CLI session — slideless auth login-request + login-complete, or slideless login to paste a dashboard key.
  • The active key needs the marketplace:publish scope. See API keys.
  • You must be the deck owner. Dev collaborators cannot publish.

Step by step

slideless publish runs inside a linked deck folder — the one with slideless.json. If you started from generate-presentation or a remix, push it first:

2. Publish

Run publish from the deck folder. --kind and --description are required; everything else is optional.
Pick the kind deliberately — categorize by purpose (message / machine / blueprint):
  • --kind presentation — the message: a deck people are meant to view, whose value is your content. Static or interactive.
  • --kind app — the machine: a self-contained browser app people are meant to operate (e.g. a single-file calculator). Always interactive.
  • --kind plan — the blueprint: an agent-executable build plan. Publishable now; its full agent-executable format lands in a later phase.
Then decide on --interactive. Interactivity is a badge, not a category: a presentation can be static or interactive — pass --interactive to flag it. An app is always interactive (the flag is forced on). An interactive parametric cost-quote is a presentation --interactive, not an app, because its value is your content. Optionally declare a --stack — the technologies the listing is built with or built for, as free-form slugs (--stack nextjs,firebase,tailwind). This is most valuable for plan listings: a remixer searching for a build plan can run slideless search --kind plan --stack nextjs to find one that targets their stack. You can also set or change it afterwards with slideless listing update --stack. Useful flags: On success the CLI prints the slug and the public URL:

3. Manage the listing

Inspect it any time — no key needed for get:
Edit metadata, change visibility, or move the version pin with listing update:
--republish-version re-pins the listing to the deck’s current version. Until you run it, the listing keeps serving whatever version you originally published — see Marketplace › lifecycle.

4. Take it down

unpublish removes the listing from the catalog. The presentation itself is untouched. It prompts for confirmation first — pass --yes to skip it, which is required in --json / non-interactive mode. You must unpublish before you can slideless delete the underlying deck.

From the plugin (Claude Code / Cursor)

Invoke the publish-to-marketplace skill from a linked deck folder:
The skill wraps slideless publish --json, checks the folder is linked and the key has marketplace:publish, and reports the resulting slug and URL.

From Claude Desktop (MCP)

Ask Claude: “Publish my linked deck to the Slideless marketplace as a presentation.” Claude calls the slideless_publish_listing tool. See Claude Desktop (MCP).

Troubleshooting