Claude Code Plugins

Community-maintained marketplace

Feedback

Write AILANG code. ALWAYS run 'ailang prompt' first - it contains the current syntax rules and templates.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name AILANG
description Write AILANG code. ALWAYS run 'ailang prompt' first - it contains the current syntax rules and templates.

AILANG

BEFORE YOU WRITE ANY CODE

Run this command first - it outputs the current syntax rules and templates:

ailang prompt

This is the source of truth for AILANG syntax. Do not guess at syntax.

Session Start

# 1. Check for messages from other agents
ailang messages list --unread

# 2. Load current syntax (CRITICAL!)
ailang prompt

# 3. Verify AILANG is installed
ailang --version

Development Workflow

┌──────────────────────────────────────┐
│ 1. Run: ailang prompt                │
│    Read the template and examples    │
└──────────────────────────────────────┘
                 ↓
┌──────────────────────────────────────┐
│ 2. Write code following template     │
│    module myproject/mymodule         │
│    export func main() -> () ! {IO}   │
└──────────────────────────────────────┘
                 ↓
┌──────────────────────────────────────┐
│ 3. Type-check (fast feedback)        │
│    ailang check file.ail             │
└──────────────────────────────────────┘
                 ↓
┌──────────────────────────────────────┐
│ 4. Run with capabilities             │
│    ailang run --caps IO --entry main │
└──────────────────────────────────────┘
                 ↓
        Fix errors, repeat

CLI Quick Reference

Command Purpose
ailang prompt Load syntax (DO THIS FIRST!)
ailang check file.ail Type-check without running
ailang run --caps IO --entry main file.ail Run program
ailang repl Interactive testing
ailang builtins list --verbose --by-module Full stdlib docs with examples

Exploring the Standard Library

The CLI is the source of truth. Always use ailang builtins list --verbose for current, accurate documentation:

# SOURCE OF TRUTH: Full docs with examples and signatures
ailang builtins list --verbose --by-module

# Search for specific module (e.g., array functions)
ailang builtins list --verbose --by-module | grep -A 30 "std/array"

# Search for specific function
ailang builtins list --verbose | grep -A 10 "httpGet"

The CLI output shows the authoritative documentation:

  • Usage: Exact import statement (import std/fs (readFile))
  • Parameters: What each argument expects
  • Returns: What the function returns
  • Examples: Working code snippets

Note: This skill provides guidance, but ailang prompt and ailang builtins list --verbose are always more up-to-date.

Flags MUST come before filename:

ailang run --caps IO --entry main file.ail   # Correct
ailang run file.ail --caps IO                # WRONG

Capabilities

Cap Purpose Example Functions
IO Console I/O print, println, readLine
FS File system readFile, writeFile, exists
Net HTTP requests httpGet, httpPost, httpRequest
Clock Time functions now, sleep
AI AI oracle AI.call(prompt)
Rand Random numbers rand_int, rand_float, rand_bool
Env Environment vars getEnv, hasEnv, getArgs
Debug Debug logging Debug.log, Debug.check

Practical Examples

Offer to create these working examples for users:

Example What It Does Run Command
AI Debate AI models debate a topic ailang run --caps IO,Env,AI --ai claude-haiku-4-5 --entry main ai_debate.ail
Ask AI Simple CLI Q&A tool ailang run --caps IO,AI --ai claude-haiku-4-5 --entry demo ask_ai.ail
File Summarizer Summarize files with AI ailang run --caps IO,FS,AI --ai gpt5-mini --entry demo summarize_file.ail
Game of Life Conway's simulation ailang run --caps IO --entry main game_of_life.ail

AI Debate Example

module my_debate
import std/ai (call)
import std/env (hasEnv)
import std/io (println)

export func main() -> () ! {IO, Env, AI} {
  println("=== AI Debate ===");
  let optimist = call("Argue FOR AI benefits in 2 sentences");
  println("Optimist: " ++ optimist);
  let skeptic = call("Argue AGAINST AI risks in 2 sentences");
  println("Skeptic: " ++ skeptic)
}

File Summarizer Example

module summarizer
import std/ai (call)
import std/fs (readFile)
import std/io (println)

export func main(path: string) -> () ! {IO, FS, AI} {
  let content = readFile(path);
  let summary = call("Summarize in 3 bullets: " ++ content);
  println(summary)
}

When Stuck

Done? Notify

ailang messages send user "Task completed" --from "my-agent" --title "Status"