Skip to main content

Quick Start

Create your first Luminarys skill in 5 minutes.

Prerequisites​

Download luminarys and lmsk from releases. Generate a developer signing key (once):

lmsk genkey

1. Create a project​

mkdir my-skill && cd my-skill
npm init -y
npm install --save-dev assemblyscript
npm install @luminarys/sdk-as
npx asinit .

Replace the generated asconfig.json with:

asconfig.json
{
"targets": {
"release": {
"outFile": "dist/my-skill.wasm",
"optimizeLevel": 3,
"shrinkLevel": 1,
"exportRuntime": false,
"runtime": "incremental"
}
}
}

2. Write a handler​

assembly/skill.ts
import { Context } from "@luminarys/sdk-as";

/**
* @skill:id my-company.my-skill
* @skill:name "My Skill"
* @skill:version 1.0.0
* @skill:desc "My first skill."
*/

// @skill:method greet "Greet by name."
// @skill:param name required "User name"
// @skill:result "Greeting text"
export function greet(_ctx: Context, name: string): string {
return "Hello, " + name + "!";
}

3. Generate dispatch code​

lmsk generate -lang as -out assembly .
# Creates assembly/lib.ts

4. Build & sign​

npx asc assembly/lib.ts --target release
lmsk sign dist/my-skill.wasm
# → my-company.my-skill.skill

Verify the package:

lmsk info my-company.my-skill.skill

5. Deploy​

Create a manifest and add it to your host config:

config/skills/my-skill.yaml
id: my-skill
path: skills/my-company.my-skill.skill
permissions:
fs: { enabled: false }
invoke_policy:
can_invoke: []
can_be_invoked_by: ["*"]
mcp:
mapping: per_method
config/host.yaml
http:
addr: ":8080"

skills:
- skills/my-skill.yaml

Start the host:

luminarys -config config/host.yaml

Your skill is now available at http://localhost:8080/mcp. Connect any MCP client and call my-skill/greet with {"name": "World"}.

Using LLM for skill development​

Each SDK repository includes an AGENTS.md file — a system prompt for AI coding assistants. It contains the full annotation syntax, SDK API reference, build instructions, and manifest format for the corresponding language.

Copy AGENTS.md into your project root or point your LLM agent to it so it can generate correct skill code out of the box.

SDKAGENTS.md
AssemblyScriptsdk-as/AGENTS.md
Gosdk-go/AGENTS.md
Rustsdk-rust/AGENTS.md

Next steps​