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
.skriptbefore 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/--datacommand lines you verified it with, as comments. The next person runs them first. - Name variables for strangers.
set followup_delay to 2invites 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"
▶ 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.