{"id":50765669,"url":"https://github.com/ortus-boxlang/skills","last_synced_at":"2026-06-11T13:31:52.538Z","repository":{"id":350540168,"uuid":"1207263109","full_name":"ortus-boxlang/skills","owner":"ortus-boxlang","description":"BoxLang AI skills repository and Claude Plugin","archived":false,"fork":false,"pushed_at":"2026-04-29T20:43:25.000Z","size":432,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-29T22:33:47.919Z","etag":null,"topics":["agent-skills","ai-skills","boxlang","claude-skills","commandbox","jvm","mvc","skills","testing"],"latest_commit_sha":null,"homepage":"https://boxlang.io","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ortus-boxlang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.YML","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"ortussolutions"}},"created_at":"2026-04-10T18:49:18.000Z","updated_at":"2026-04-29T20:43:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ortus-boxlang/skills","commit_stats":null,"previous_names":["ortus-boxlang/boxlang-skills"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ortus-boxlang/skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortus-boxlang%2Fskills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortus-boxlang%2Fskills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortus-boxlang%2Fskills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortus-boxlang%2Fskills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ortus-boxlang","download_url":"https://codeload.github.com/ortus-boxlang/skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ortus-boxlang%2Fskills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34201840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","ai-skills","boxlang","claude-skills","commandbox","jvm","mvc","skills","testing"],"created_at":"2026-06-11T13:31:52.370Z","updated_at":"2026-06-11T13:31:52.525Z","avatar_url":"https://github.com/ortus-boxlang.png","language":null,"funding_links":["https://patreon.com/ortussolutions"],"categories":[],"sub_categories":[],"readme":"# BoxLang Skills\n\n\u003e AI agent skills for [BoxLang](https://boxlang.ortusbooks.com/) — a Modern Dynamic JVM Language built on JRE 21+.\n\nThis repository provides reusable **AI skills** for BoxLang development, compatible with any agent that supports the [skills.sh](https://skills.sh) open standard — including Claude Code, Cursor, Copilot, and more.\n\nSkills inject BoxLang domain knowledge directly into your AI agent so it can write accurate, idiomatic BoxLang code for you.\n\n**You can find all our skills published to our online directory at https://skills.boxlang.io/.**\n\n---\n\n## What Are Skills?\n\nSkills are Markdown files (`SKILL.md`) that give your AI agent expert-level context on a specific topic. They are discovered and loaded automatically by the agent when relevant — a query about async programming loads the async skill, a question about deployment loads the deployment skill, and so on.\n\nEach skill in this repo contains:\n\n- Language syntax and idioms with working code examples\n- API references and BIF signatures\n- Configuration patterns\n- Best practices and gotchas\n\nSkill identifiers now use the `boxlang-dev-*` naming convention for easier discovery in installed skill lists.\n\n---\n\n## Quick Install\n\nRequires [Node.js](https://nodejs.org) — no installation needed, just `npx`:\n\n```bash\n# Install ALL BoxLang skills (all categories)\nnpx skills add ortus-boxlang/skills\n```\n\nThat's it. Your AI agent now has BoxLang and CommandBox expertise.\n\n## Claude Plugin Install\n\nInstall this repository as a Claude plugin:\n\n```bash\nclaude plugin install https://github.com/ortus-boxlang/skills\n```\n\nIf you use plugin marketplace commands:\n\n```bash\n/plugin marketplace add ortus-boxlang/skills\n/plugin install boxlang-agent-skills@ortus-boxlang\n```\n\n## ColdBox CLI\n\n```bash\n# Install the ColdBox CLI if you haven't already\nbox install coldbox-cli\n\n# Install AI integration into your app\n# This reads your app, box.json and installs skills based on your stack and preferences\ncoldbox ai install\n\n# Skills Management\n\n# List installed skills\ncoldbox ai skills list\n# Add a skill\ncoldbox ai skills add Ortus-Solutions/skills/vuejs-expert\n# Remove a skill\ncoldbox ai skills remove vuejs-expert\n```\n\nAll skills are installed at `.agents/skills/` in your project.\n\n---\n\n## Categories\n\n### `boxlang-developer` — Building Applications with BoxLang\n\nFor developers writing BoxLang applications: web apps, APIs, database access,\nasync pipelines, caching, Java interop, module usage, and deployment.\n\n```bash\nnpx skills add ortus-boxlang/skills/boxlang-developer\n```\n\n| Skill | What It Covers |\n|-------|----------------|\n| [`boxlang-dev-application-descriptor`](./boxlang-developer/application-descriptor/SKILL.md) | `Application.bx` discovery, multi-app isolation, lifecycle callbacks, app-level `this.*` settings, and app-scoped `this.schedulers`/`this.watchers` wiring |\n| [`boxlang-dev-boxlang-async-programming`](./boxlang-developer/async-programming/SKILL.md) | `BoxFuture`, `futureNew`, `asyncRun`, `asyncAll`, `asyncAny`, `asyncAllApply`, executors (`io-tasks`/`cpu-tasks`/`scheduled-tasks`), schedulers, `thread` component, `bx:lock` |\n| [`boxlang-dev-boxlang-file-watchers`](./boxlang-developer/file-watchers/SKILL.md) | Filesystem watcher lifecycle (`watcherNew`/`watcherStart`/`watcherStop`), listener strategies (closure/struct/class), event payload handling, debounce/throttle tuning, and watcher stats |\n| [`boxlang-dev-boxlang-best-practices`](./boxlang-developer/best-practices/SKILL.md) | Naming conventions, scoping, function structure, error handling, performance, and maintainability guidelines |\n| [`boxlang-dev-boxlang-caching`](./boxlang-developer/caching/SKILL.md) | Cache providers, named regions, `cachePut`/`cacheGet`, output caching, Redis, Couchbase, TTL policies, distributed locking |\n| [`boxlang-dev-boxlang-cfml-migration`](./boxlang-developer/cfml-migration/SKILL.md) | Key syntax and behavioral differences, `bx-compat-cfml` module, converting file types, fixing common migration issues |\n| [`boxlang-dev-boxlang-classes-and-oop`](./boxlang-developer/classes-and-oop/SKILL.md) | Classes, inheritance, interfaces, abstract classes, properties, constructors, static members, annotations, `final` constructs, method chaining |\n| [`boxlang-dev-boxlang-code-documenter`](./boxlang-developer/code-documenter/SKILL.md) | Javadoc-style function/class comments, argument and return-type docs, DocBox-compatible annotations |\n| [`boxlang-dev-boxlang-code-reviewer`](./boxlang-developer/code-reviewer/SKILL.md) | Code quality, correctness, security vulnerabilities, performance, style — structured review feedback |\n| [`boxlang-dev-boxlang-configuration`](./boxlang-developer/configuration/SKILL.md) | `boxlang.json` runtime settings, datasources, caches, executors, modules, logging, security, schedulers |\n| [`boxlang-dev-boxlang-database-access`](./boxlang-developer/database-access/SKILL.md) | `queryExecute`, `bx:query`, datasource config, parameterized queries, transactions, stored procedures, SQL injection prevention |\n| [`boxlang-dev-boxlang-deployment`](./boxlang-developer/deployment/SKILL.md) | CommandBox, Docker, AWS Lambda, GitHub Actions CI/CD, BVM, `boxlang.json` runtime config, environment variable overrides |\n| [`boxlang-dev-boxlang-docbox`](./boxlang-developer/docbox/SKILL.md) | API documentation generation: CLI, HTML/JSON/UML/CommandBox strategies, themes, multiple sources, custom strategies |\n| [`boxlang-dev-boxlang-file-handling`](./boxlang-developer/file-handling/SKILL.md) | `fileRead`/`fileWrite`/`fileCopy`/`fileMove`, directory operations, streaming large files, file uploads, CSV/JSON from disk |\n| [`boxlang-dev-boxlang-functional-programming`](./boxlang-developer/functional-programming/SKILL.md) | Closures (`=\u003e`) vs lambdas (`-\u003e`), higher-order functions, `map`/`filter`/`reduce`/`flatMap`/`groupBy`, destructuring, spread |\n| [`boxlang-dev-boxlang-interceptors`](./boxlang-developer/interceptors/SKILL.md) | Interceptor/event system, `announce()`/`announceAsync()`, pre/post hooks, security guards, `BoxRegisterInterceptor()` |\n| [`boxlang-dev-boxlang-java-integration`](./boxlang-developer/java-integration/SKILL.md) | `createObject`, static method calls, type conversion, closures as functional interfaces, JARs, JSR-223 scripting |\n| [`boxlang-dev-boxlang-language-fundamentals`](./boxlang-developer/language-fundamentals/SKILL.md) | File types (`.bx`/`.bxs`/`.bxm`), variables, scopes, operators, control flow, exception handling, type system, destructuring, spread |\n| [`boxlang-dev-boxlang-modules-and-packages`](./boxlang-developer/modules-and-packages/SKILL.md) | `box install`, module config, BoxLang+ premium modules (`bx-pdf`, `bx-redis`, `bx-csv`, `bx-spreadsheet`), ORM, mail |\n| [`boxlang-dev-boxlang-scheduled-tasks`](./boxlang-developer/scheduled-tasks/SKILL.md) | Scheduler DSL (`BaseScheduler`/`ScheduledTask`), scheduler lifecycle BIFs, cron/frequency APIs, task grouping, timezone handling, and `bx:schedule` HTTP-driven tasks |\n| `boxlang-dev-runtime-*` | Runtime/deployment targets are individual skills under `boxlang-developer` such as `boxlang-dev-runtime-miniserver`, `boxlang-dev-runtime-commandbox`, `boxlang-dev-runtime-docker`, `boxlang-dev-runtime-aws-lambda`, and more |\n| [`boxlang-dev-boxlang-security`](./boxlang-developer/security/SKILL.md) | OWASP Top 10, injection prevention, file upload safety, secret management, secure coding patterns |\n| [`boxlang-dev-boxlang-templating`](./boxlang-developer/templating/SKILL.md) | `.bxm` markup files, output expressions, `bx:output`/`bx:loop`/`bx:if`/`bx:include`/`bx:script`, building views |\n| [`boxlang-dev-boxlang-testing`](./boxlang-developer/testing/SKILL.md) | TestBox BDD (`describe`/`it`), xUnit, expectations, `$assert`, life-cycle hooks, MockBox, mock data, async/exception testing |\n| [`boxlang-dev-boxlang-web-development`](./boxlang-developer/web-development/SKILL.md) | `Application.bx` lifecycle, request/response, sessions, forms, REST APIs, HTTP client, CSRF, Server-Sent Events, MiniServer config |\n| [`boxlang-dev-boxlang-zip`](./boxlang-developer/zip/SKILL.md) | `bx:zip` component: creating/extracting/listing/modifying archives, compression levels, encryption, backup workflows |\n\n### `boxlang-core-development` — Extending the BoxLang Runtime\n\nFor developers building BoxLang modules, contributing to the core runtime, and\ncreating custom built-in functions, interceptors, and components.\n\n```bash\nnpx skills add ortus-boxlang/skills/boxlang-core-development\n```\n\n| Skill | What It Covers |\n|-------|----------------|\n| [`boxlang-dev-boxlang-async-tasks`](./boxlang-core-development/async-tasks/SKILL.md) | `BoxFuture`, `AsyncService`, executor types, `BaseScheduler`, `ScheduledTask` fluent API, cron constraints, task lifecycle callbacks, registering schedulers via `ModuleConfig.bx` |\n| [`boxlang-dev-boxlang-bif-development`](./boxlang-core-development/bif-development/SKILL.md) | `@BoxBIF` annotation, `invoke()` method, argument typing, `@BoxMember` for member functions, Java BIF classes, runtime service access |\n| [`boxlang-dev-boxlang-component-development`](./boxlang-core-development/component-development/SKILL.md) | Custom tags/components, `onStartTag`/`onEndTag`, body content, attribute declarations, registering component paths in modules |\n| [`boxlang-dev-boxlang-interceptors`](./boxlang-core-development/interceptors/SKILL.md) | Observer/Intercepting Filter patterns, 3 interceptor pools, BoxLang/Java/lambda interceptors, registration, interception points, custom events |\n| [`boxlang-dev-boxlang-logging`](./boxlang-core-development/logging/SKILL.md) | `LoggingService`, `BoxLangLogger` (trace/debug/info/warn/error), pre-configured loggers, named loggers, parameterized messages, `boxlang.json` logging config |\n| [`boxlang-dev-boxlang-module-development`](./boxlang-core-development/module-development/SKILL.md) | `ModuleConfig.bx` lifecycle (`configure`/`onLoad`/`onUnload`), settings, Gradle build, ForgeBox publishing |\n| [`boxlang-dev-boxlang-runtime-architecture`](./boxlang-core-development/runtime-architecture/SKILL.md) | `BoxRuntime` services, `IBoxContext` hierarchy, scope chain, `DynamicObject`, type system, parsing pipeline (source → AST → bytecode), virtual threads |\n\n---\n\n### `commandbox` — CommandBox CLI, Package Manager \u0026 Embedded Server\n\nFor developers using [CommandBox](https://www.ortussolutions.com/products/commandbox) — the CFML/BoxLang CLI, package manager,\nand embedded Undertow server from Ortus Solutions.\n\n```bash\nnpx skills add ortus-boxlang/skills/commandbox\n```\n\n| Skill | What It Covers |\n|-------|----------------|\n| [`boxlang-dev-commandbox-setup`](./commandbox/commandbox-setup/SKILL.md) | Installation (macOS/Linux/Windows/Homebrew), upgrading, Java configuration, `commandbox.properties`, light vs thin binaries |\n| [`boxlang-dev-commandbox-usage`](./commandbox/commandbox-usage/SKILL.md) | CLI commands, named/positional parameters, flags, system settings (`${VAR:default}`), env vars, backtick expressions, piping, recipes, REPL, aliases, exit codes, `watch` |\n| [`boxlang-dev-commandbox-package-management`](./commandbox/commandbox-package-management/SKILL.md) | `box.json` schema, ForgeBox / Git / HTTP / folder / S3 / Gist / Java endpoints, semver ranges, dependencies vs devDependencies, lock files, package scripts, artifacts cache, publishing |\n| [`boxlang-dev-commandbox-embedded-server`](./commandbox/commandbox-embedded-server/SKILL.md) | Undertow server configuration via `server.json`, server profiles, JVM/heap settings, SSL/TLS, URL rewrites, server rules, multi-site support, basic auth, aliases, OS service, server scripts |\n| [`boxlang-dev-commandbox-task-runners`](./commandbox/commandbox-task-runners/SKILL.md) | Task CFC anatomy, lifecycle events, interactive jobs DSL, progress bars, ANSI print helpers, threading/async, file watching, running sub-commands, property files, ad-hoc JARs/modules |\n| [`boxlang-dev-commandbox-developing`](./commandbox/commandbox-developing/SKILL.md) | Custom commands, namespace conventions, parameter annotations, WireBox DI, module structure, `ModuleConfig.cfc`, interceptors, core interception points, injection DSL, sharing/publishing |\n| [`boxlang-dev-commandbox-config-settings`](./commandbox/commandbox-config-settings/SKILL.md) | Global config management, `config set/show/clear`, server defaults, ForgeBox API token, custom endpoints, proxy settings, env var overrides (`box_config_*`), setting sync |\n| [`boxlang-dev-commandbox-deploying`](./commandbox/commandbox-deploying/SKILL.md) | Production `server.json`, Docker (`ortussolutions/commandbox`), GitHub Actions (`setup-commandbox`), Heroku/Dokku buildpack, Amazon Lightsail/VPS, systemd service, CFConfig integration |\n| [`boxlang-dev-commandbox-testing`](./commandbox/commandbox-testing/SKILL.md) | `testbox run` flags, `box.json` testbox config, test watcher, CI integration, output formats, code coverage, TestBox CLI patterns |\n\n---\n\n## Install Individual Skills\n\n```bash\n# Single skill from boxlang-developer\nnpx skills add ortus-boxlang/skills/boxlang-developer/language-fundamentals\nnpx skills add ortus-boxlang/skills/boxlang-developer/application-descriptor\nnpx skills add ortus-boxlang/skills/boxlang-developer/async-programming\nnpx skills add ortus-boxlang/skills/boxlang-developer/file-watchers\nnpx skills add ortus-boxlang/skills/boxlang-developer/scheduled-tasks\nnpx skills add ortus-boxlang/skills/boxlang-developer/web-development\nnpx skills add ortus-boxlang/skills/boxlang-developer/database-access\nnpx skills add ortus-boxlang/skills/boxlang-developer/caching\nnpx skills add ortus-boxlang/skills/boxlang-developer/java-integration\nnpx skills add ortus-boxlang/skills/boxlang-developer/modules-and-packages\nnpx skills add ortus-boxlang/skills/boxlang-developer/deployment\nnpx skills add ortus-boxlang/skills/boxlang-developer/classes-and-oop\nnpx skills add ortus-boxlang/skills/boxlang-developer/functional-programming\n\n# Single skill from boxlang-core-development\nnpx skills add ortus-boxlang/skills/boxlang-core-development/module-development\nnpx skills add ortus-boxlang/skills/boxlang-core-development/bif-development\nnpx skills add ortus-boxlang/skills/boxlang-core-development/interceptors\nnpx skills add ortus-boxlang/skills/boxlang-core-development/component-development\nnpx skills add ortus-boxlang/skills/boxlang-core-development/runtime-architecture\n\n# Single skill from commandbox\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-setup\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-usage\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-package-management\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-embedded-server\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-task-runners\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-developing\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-config-settings\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-deploying\nnpx skills add ortus-boxlang/skills/commandbox/commandbox-testing\n```\n\n---\n\n## Managing Skills\n\n```bash\n# List installed skills\nnpx skills list\n\n# Update all skills to latest\nnpx skills update\n\n# Remove a skill\nnpx skills remove boxlang-dev-boxlang-language-fundamentals\n\n# Search for skills\nnpx skills find boxlang\n```\n\n---\n\n## Direct / Manual Installation\n\nIf you prefer not to use the `npx skills` CLI — or if you are adding skills to a tool that supports its own marketplace or custom knowledge files — you can download individual `SKILL.md` files directly from this repository and place them wherever your tool expects them.\n\n### Claude Projects (Support Files)\n\n[Claude Projects](https://support.anthropic.com/en/articles/9517075-what-are-projects) let you attach files as **project knowledge** that Claude reads at the start of every conversation. Add any `SKILL.md` from this repo as a support file to give Claude deep BoxLang expertise without any CLI tooling.\n\n1. Open the Project in Claude.ai → **Project Knowledge** → **Add content**\n2. Paste the raw content of the skill file you want, e.g.:\n   - `boxlang-developer/language-fundamentals/SKILL.md`\n   - `boxlang-developer/web-development/SKILL.md`\n   - `boxlang-core-development/module-development/SKILL.md`\n   - `commandbox/commandbox-embedded-server/SKILL.md`\n   - `commandbox/commandbox-package-management/SKILL.md`\n\nRaw file URLs follow this pattern:\n\n```\nhttps://raw.githubusercontent.com/ortus-boxlang/skills/main/\u003ccategory\u003e/\u003cskill\u003e/SKILL.md\n```\n\nExample:\n\n```\nhttps://raw.githubusercontent.com/ortus-boxlang/skills/main/boxlang-developer/language-fundamentals/SKILL.md\n```\n\n### Claude Code (`.claude/` directory)\n\n[Claude Code](https://docs.anthropic.com/en/docs/claude-code) automatically picks up Markdown files placed in `.claude/skills/` inside your project. Copy any `SKILL.md` directly:\n\nTo install this repo as a Claude Code plugin marketplace, use the `/plugin` command:\n\n```bash\n/plugin marketplace add ortus-boxlang/skills\n/plugin install boxlang-agent-skills@boxlang-agent-skills\n```\n\nOr add a single skill file manually:\n\n```bash\n# Add a single skill manually\nmkdir -p .claude/skills\ncurl -o .claude/skills/boxlang-dev-boxlang-language-fundamentals.md \\\n  https://raw.githubusercontent.com/ortus-boxlang/skills/main/boxlang-developer/language-fundamentals/SKILL.md\n```\n\nOr use the `npx skills` CLI which handles this automatically (see **Quick Install** above).\n\n### Other Marketplaces \u0026 Manual Placement\n\n| Tool | Where to place the skill file |\n|------|-------------------------------|\n| Claude Code | `.claude/skills/\u003cname\u003e.md` (project) or `~/.claude/skills/\u003cname\u003e.md` (global) |\n| Cursor | `.cursor/rules/\u003cname\u003e.mdc` |\n| GitHub Copilot | append to `.github/copilot-instructions.md` |\n| OpenHands | `.openhands/instructions.md` |\n| Codex | `.codex/\u003cname\u003e.md` |\n| Windsurf | `.windsurf/rules/\u003cname\u003e.md` |\n\n---\n\n## Supported Agents\n\nThe `npx skills` CLI detects which agents you have installed and places skills in the right location automatically:\n\n| Agent | Skills Location |\n|-------|----------------|\n| Claude Code | `~/.claude/skills/` (personal) or `.claude/skills/` (project) |\n| Cursor | `.cursor/rules/` |\n| GitHub Copilot | `.github/copilot-instructions.md` |\n| OpenHands | `.openhands/` |\n| Codex | `.codex/` |\n| Windsurf | `.windsurf/rules/` |\n\nFor manual placement and Claude Project support files, see **Direct / Manual Installation** above.\n\n---\n\n## About BoxLang\n\n[BoxLang](https://boxlang.ortusbooks.com/) is a modern, dynamic JVM language (JRE 21+) designed for rapid application development. It features:\n\n- **Multi-runtime deployment** — web servers, CLI scripts, AWS Lambda, Docker, WASM, Spring Boot, Android\n- **Complete Java interoperability** — use any Java library directly, compile to Java bytecode\n- **Modern language features** — lambdas, closures, destructuring, spread syntax, optional chaining, virtual threads\n- **CFML compatibility** — migrate existing ColdFusion/Lucee applications via `bx-compat-cfml`\n- **Rich module ecosystem** — PDF, Redis, CSV, spreadsheets, ORM, LDAP, mail, image processing, and more\n- **Open source** — Apache 2.0 license, commercially supported by [Ortus Solutions](https://www.ortussolutions.com/)\n\n---\n\n## Resources\n\n| Resource | Link |\n|----------|------|\n| BoxLang Documentation | https://boxlang.ortusbooks.com/ |\n| BoxLang GitHub | https://github.com/ortus-boxlang/BoxLang |\n| CommandBox Documentation | https://commandbox.ortusbooks.com/ |\n| CommandBox GitHub | https://github.com/Ortus-Solutions/commandbox |\n| Module Template | https://github.com/ortus-boxlang/boxlang-module-template |\n| ForgeBox (packages) | https://forgebox.io |\n| Ortus Community | https://community.ortussolutions.com/ |\n| BoxLang Slack | https://boxlang.io/slack |\n| skills.sh | https://skills.sh |\n\n---\n\n## Contributing\n\nContributions are welcome! To add or improve a skill:\n\n1. Fork this repository\n2. Create or edit the relevant `SKILL.md` file\n3. Verify the frontmatter has a `name` and `description`\n4. Submit a pull request\n\nSkills should contain accurate, working code examples verified against the [BoxLang documentation](https://boxlang.ortusbooks.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fortus-boxlang%2Fskills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fortus-boxlang%2Fskills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fortus-boxlang%2Fskills/lists"}