write-a0
Installation
SKILL.md
Writing A0 Programs
A0 is a line-oriented scripting language for automation agents. Programs are sequences of statements producing a JSON result. Every program must end with return <expr> (any expression: record, literal, variable, arithmetic, list, etc.).
Core Syntax
# Comments start with #
cap { fs.read: true } # capability declaration (top of file)
let name = expr # bind a value
expr -> name # bind result of expression statement
return expr # required, must be last statement (any expression)
Types
Primitives: int float bool str null — literals: 42 3.14 true false null "hello"
Records: { key: value, nested: { a: 1 } } — keys may be dotted: { fs.read: true }. Spread syntax: { ...base, extra: 42 } merges base into the new record; later keys override earlier ones. Spreading a non-record produces E_TYPE.