Skip to main content

Skill Development

Luminarys skills are sandboxed modules that expose callable methods. They can be as simple as a string echo or as complex as a full language runtime — the same SDK and toolchain covers both.

Skills are written in any language that compiles to WebAssembly. SDKs are available for AssemblyScript, Go, and Rust.

What skills can do

Every skill has access to the same set of host capabilities through the SDK:

  • File system — read, write, search, glob, copy files within allowed directories
  • HTTP — outbound GET, POST, and custom requests to allowed URLs
  • TCP — raw TCP and TLS connections to allowed hosts
  • Shell — execute allowed commands in restricted directories
  • Inter-skill calls — invoke methods of other skills
  • Archive — create and extract tar.gz/zip archives
  • File transfer — copy files between cluster nodes
  • System — read host info, current time, disk usage, environment variables
  • Logging — emit structured log messages to the host

What each skill can actually use is controlled by its deployment manifest — permissions are deny-by-default.

From simple to complex

Lightweight skills

Small, focused skills that wrap a single capability:

SkillDescriptionLanguagesSource
echoEcho, ping, reverse — ABI smoke testAS, Go, Rust~30 lines
fsFile system operations (read, write, edit, search)AS, Go, Rust~200 lines
webHTTP/HTTPS outbound requestsAS, Go, Rust~80 lines
gitGit repository operations via shellAS, Go, Rust~150 lines

These skills demonstrate core SDK capabilities and serve as starting templates.

Complex skills

Skills that embed entire runtimes or ML models:

SkillDescriptionSource
js-engineSandboxed JavaScript execution.Go
python-engineSandboxed Python 3 execution.Rust
tree-sitterSource code parsing to AST and symbol extraction. 11 built-in language grammars (Go, Python, JS, TS, Rust, C, Java, JSON, Bash, HTML, CSS).Rust
intent-classifierML-based intent classification for request routing. Embeds an ONNX model via Tract. Multilingual (EN/RU).Rust

These demonstrate that skills are not limited to simple wrappers — you can embed interpreters, parsers, and neural networks while staying within the sandboxed execution model.

Toolchain

The lmsk CLI handles the full skill lifecycle:

CommandPurpose
lmsk genkeyGenerate a developer signing key
lmsk generateGenerate dispatch code from annotated source
lmsk signSign a compiled skill into a .skill package
lmsk infoInspect a .skill package (metadata, methods, signature)

SDKs

LanguagePackageInstall
AssemblyScript@luminarys/sdk-asnpm install @luminarys/sdk-as
Gosdk-gogo get github.com/LuminarysAI/sdk-go
Rustluminarys-sdkcargo add luminarys-sdk

Next steps

  • Quick Start — create your first skill in 5 minutes
  • Annotations — skill metadata and method declarations
  • Manifest — deployment permissions reference
  • Skill Examples — complete working examples in all three languages