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