Installing it
The interpreter ships as a small command-line tool named skript. It needs Node.js 18 or newer, and nothing else. The quickest installation is one line:
curl -fsSL https://developer.skode.ai/skript/install.sh | bash
That installs the CLI and — if you use VS Code, Cursor, Windsurf or VSCodium — drops in syntax highlighting and snippets for .skript files. If you prefer plain npm:
npm install -g https://developer.skode.ai/skript/skode-skript-latest.tgz
Either way you end up with two commands on your PATH, skript and skode, which are the same program under two names. The second exists so that marketplace instructions such as skode add zoho-crm-connector read naturally; use whichever you like.
Verify the installation:
$ skript version 0.2.0
Your first run
The interpreter has a scaffolding command that writes a starter program for you:
$ skript new ✔ created lead-autopilot.skript next: skript run lead-autopilot.skript
Open the file in any editor. Any editor really is fine — a skript is an ordinary UTF-8 text file — though editors in the VS Code family will highlight it after skript install-editor. Now run it:
$ skript run lead-autopilot.skript
Two things about what happens next. First, no lead actually arrived: the interpreter simulated one, a demo lead named Ada Lovelace with a phone number, an email address and a budget. Second, everything your program did in response was printed as a trace — one line per step, with an arrow showing each step's result. The trace is the interpreter's answer to the question you will ask most often while learning: what exactly did my program just do?
You will see hundreds of these traces in this book. They look like this (this one is real, like every output shown in this tutorial):
when a new lead arrives score it with ai if score is hot then assign to "Maya" and reply on whatsapp "Thanks! We'll call you in 10 minutes"
▶ example.skript — Skode Skript · local simulation ● event: lead.created → name: Ada Lovelace · phone: +1 555 0100 · email: [email protected] ⚡ score it with ai → score 91 · HOT ✓ if score is hot → yes → assign to "Maya" → lead assigned ✉ reply on whatsapp → "Thanks! We'll call you in 10 minutes" ✔ done in 2.1ms — 1 message · assigned to Maya
The ● line describes the simulated event. Each following line is one step: the AI scored the lead, the condition was checked (✓ means it passed), the lead was assigned, the reply was sent. The final ✔ line is a summary. Nothing here left your machine — messages in the simulator are printed, not sent.
The commands
The CLI has five commands. This is all of them:
| Command | What it does |
|---|---|
skript run file.skript | run the program against a simulated event |
skript check file.skript | parse only; report errors with line numbers; exit 1 on failure |
skript new [name] | scaffold a starter program |
skript add <name> | install a package from the Skode marketplace (Chapter 15) |
skript install-editor | add highlighting + snippets to VS Code-family editors |
There is also a lazy path: skript lead-autopilot.skript with no subcommand simply runs the file.
skript run accepts a few options you will use constantly while testing:
| Option | Meaning |
|---|---|
--score 91 | pin the AI score instead of simulating it — great for forcing a branch |
--data '{"name":"Zed"}' | override fields of the simulated event |
--event lead.created | when a file has several rules, run just the matching one |
--json | machine-readable output instead of the human trace |
The interpreter and its environment
A skript file is plain text, so everything you already know about files applies. A few conventions worth adopting from day one:
- Name files after what they automate:
lead-autopilot.skript,invoice-receipts.skript. - Use the
.skriptextension — the editor tooling and the marketplace both key off it. - Keep one automation concern per file. Files are cheap; tangled rules are not.
Indentation matters in Skript (it is how the language expresses structure, as the next chapter shows), and the interpreter treats a tab as two spaces. Mixing tabs and spaces will work, but your eyes deserve better: configure your editor to indent .skript files with two spaces.
One last environmental note. The skript CLI is a local simulator. It parses with exactly the same grammar and executes with exactly the same semantics as Skode's production runtime, but events are simulated, wait does not really pause, and messages are printed instead of delivered. Chapter 16 describes precisely what changes in production. Everything in between — the language itself — is identical in both worlds, which is the point: test on your laptop, deploy the same file.