The Skript book · Chapter 15

The Marketplace

Nobody should write the fifth copy of "send a receipt when an invoice is paid." The Skode developer hub hosts an open-source marketplace — connectors, widgets, templates, and ready-made skripts, published by the community — and the CLI you already have is its package manager.

Installing a package

Browse at developer.skode.ai/marketplace, or install directly if you know the name:

$ skript add invoice-pdf-skript
▼ Invoice → PDF Skript v1.0.0 · Skript · MIT · by Lin
  + invoice-pdf.skript

✔ installed invoice-pdf-skript (1/1 file)
  next: skript run invoice-pdf.skript

skript add downloads the package's files into your current directory — no hidden directories, no lockfiles, no dependency graph. A skript package is its files, and the first thing you should do with one is the same thing you would do with any skript: open it, read it (it is a page of English), and run it in the simulator. The command even suggests the run line when the package contains a .skript file.

Because the alias skode points at the same CLI, package pages usually print the command as skode add <name> — same thing, friendlier sentence.

Every listing on the marketplace is open source with a declared license, shows a repository link, and counts stars and installs so you can gauge what the community actually uses. Installing never talks to your Skode workspace — it copies files to your laptop, nothing more, which is also why it needs no login.

Publishing your own

The reverse direction is one form on the marketplace page: Publish. You give it a name, a type (Skript, Connector, Widget, App, or Template), the product it belongs with, a one-line description, a readme, a license, your repository link — and, for a skript package, the file itself. The install command (skript add your-name) is derived from the name automatically, and the listing is live the moment you submit. You can edit or unpublish anything you published, from the same page.

What makes a package worth publishing is mostly what makes any skript good, plus generosity at the edges:

  • Make the file self-explanatory. The reader gets your .skript before your readme. Comments at the top stating what event it expects and what it does are worth more than a wiki.
  • Ship it tested. Include the --score/--data command lines you verified it with, as comments. The next person runs them first.
  • Name variables for strangers. set followup_delay to 2 invites tuning; magic numbers do not.
  • State the seams. If your skript assumes a tag, a teammate name, or a custom event that the installer must adapt, say so at the top — those are the three things every adopter edits.

A worked example

Here is the shape of a package worth sharing — a complete, self-documenting skript of the kind you find on the marketplace (and yes, it runs; everything in this book runs):

# thank-and-receipt.skript — send a thank-you when an invoice is paid.
# Expects: invoice.paid events. Adapt: the teammate name in the task.
# Tested with: skript run thank-and-receipt.skript --event invoice.paid

when an invoice is paid
  reply on email
    "Thank you! Invoice {number} is settled — receipt attached."
  add tag "receipt-sent"
  if amount is above 5000 then
    create task "Send a handwritten note to {name}" for "Maya"
output — real, executed at build time
▶ example.skript — Skode Skript · local simulation

  ● event: invoice.paid                → number: INV-0461 · amount: 990 · name: Margaret H
  ✉ reply on email                     → "Thank you! Invoice INV-0461 is settled — receipt attached."
  ⚑ add tag "receipt-sent"             → tagged
  ✗ if amount above 5000               → no

  ✔ done in 2.1ms — 1 message · tags: receipt-sent

Twelve lines, and a stranger could deploy it in the time it took to read them. That is the marketplace's real product: not code, but confidence — the sense that adopting someone's automation is as safe as reading a paragraph. Keep your packages that honest and the stars take care of themselves.