amber-lang

Write, debug, and explain Amber code — the modern language that compiles to Bash. Use this skill when the user asks to write shell scripts in Amber, convert Bash to Amber, debug Amber code, or asks about Amber syntax and features. Covers Amber 0.5.1-alpha syntax, types, error handling, standard library, and compilation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "amber-lang" with this command: npx skills add aaronflorey/agent-skills/aaronflorey-agent-skills-amber-lang

This skill provides comprehensive knowledge of Amber (amber-lang.com), a modern programming language that compiles to Bash script. Use it to write, review, debug, convert, and explain Amber code.

Quick Reference

Amber compiles to Bash 3.2+ compatible scripts. It provides ECMAScript-inspired syntax, type safety, and mandatory error handling.

CLI: amber run <file.ab> | amber build <in.ab> <out.sh> | amber check <file.ab> | amber eval '<code>'

Shebang: #!/usr/bin/env amber | File extension: .ab

Types: Text, Int, Num (needs bc), Bool, Null, [T] (typed array, no nesting)

Key syntax patterns:

let x = 10                          // variable
const Y = 20                        // constant
fun add(a: Int, b: Int): Int { }    // typed function
fun risky(): Int? { fail 1 }        // failable function (? = can fail)
pub fun exported(): Null { }        // public/exportable
fun modify(ref arr: [Int]) { }     // pass by reference
$ command $                          // shell execution
$ cmd $ failed(code) { }            // error handling (MANDATORY)
$ cmd $?                             // propagate failure
import { fn } from "std/module"     // stdlib import
import { fn } from "./file.ab"     // local import
main (args) { }                     // entry point

Modifiers: silent (suppress output), trust (skip error handling), sudo (privilege escalation)

Control flow: if/else, if { cond: expr } (chain), ternary (x then a else b), loop, for i in 0..n, while

Code Style Guidelines

  1. Always handle errors — use failed, succeeded, exited, or ? for every failable operation
  2. Use typed function signatures for clarity
  3. Prefer stdlib over raw commands (e.g., file_read over $ cat file $)
  4. Use main blocks so scripts work correctly when imported
  5. Use const for values that don't change
  6. Avoid trust — handle errors explicitly
  7. Use ranges (0..n) instead of manual counter loops

Additional References

For detailed syntax, types, operators, and all language features, see references/syntax.md

For standard library documentation:

For real-world example scripts, see references/examples.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

laravel-actions

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

num30-config

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

pelican-panel-plugins

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

Planning with files

Implements Manus-style file-based planning to organize and track progress on complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when aske...

Registry SourceRecently Updated
8.5K22Profile unavailable