Author or update Locque .lq code and tests with the canonical M-expr syntax, CBPV rules, data/match forms, modules/imports/opens, and project conventions.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: locque-authoring
description: Author or update Locque .lq code and tests with the canonical M-expr syntax, CBPV rules, data/match forms, modules/imports/opens, and project conventions.
---
# Locque authoring
Use this skill when writing or editing Locque source or tests.
## Sources of truth
- `grammar.md` defines the canonical syntax and S-expr mapping.
- `AGENTS.md` lists project conventions and tooling.
## Workflow
1. Prefer `.lq` M-expr files; do not handwrite `.lqs`.
2. Keep paths lowercase. Every `lib/**` file must have a matching `test/**` file.
3. Use `Module::name` qualification; `open Alias exposing ... end` is explicit only.
4. Effects are explicit: computations are values via `compute ... end`, run via `perform`.
5. Multiline constructs must end with `end` (`function`, `compute`, `bind`, `match`, `data`, `typeclass`, `instance`, `module`, `open`, `pack`, `unpack`).
6. Data: `define ... as data ... in TypeN ... end` with constructors `Type::Ctor`; match uses `case Type::Ctor`.
7. No implicit coercions; use `of-type`, `lift`, `up`, `down`, `pack`, `unpack` as needed.
8. Use `ignored` instead of `_` for unused binders.
9. List literals are canonical: `[]` and `[a, b]` (commas required). Empty lists require `of-type [] (List A)` when no expected list type is in scope.
## Test conventions
- Use `assert::assert-eq` with an explicit type argument.
- Run `smyth test` after changes.
## Templates
Function:
```locque
# Assumes: import arithmetic as Ar
define transparent inc as
function x Natural returns Natural value
Ar::add x 1
end
```
Data:
```locque
define transparent Option as data A Type0 in Type0
case Option::none of-type Option A
case Option::some of-type for-all x as A to Option A
end
```
No comments yet. Be the first to comment!
Playbook for creating and editing uCoz landing pages via MCP tools (`templates_tool`, `ftp_tool`, `modules_tool`). Use for tasks such as: "build a landing page", "update the homepage as a landing page", "create a promo page on the homepage", "add a lead form / menu / SEO to the homepage". Homepage: `page_list`, `page_get`; first publish — `page_update` with full `page_tmpl`; HTML edits after generation — `patch_template` (module_id=2, template_id=1), not `update_template`. Activate the mail f...