Jacquard
Core 0.3.0 · research prototype agents → SKILL.md · llms.txt

Jacquard for coding agents

Models have seen almost no Jacquard. The language is kept small enough that an agent can work from one file, SKILL.md (about 43 KB), which covers installing Jacquard and writing, checking, running, testing and compiling programs.

Load the skill

SKILL.md carries skill frontmatter. In Claude Code, save it as a project skill:

mkdir -p .claude/skills/jacquard
curl -fsSL https://jacquardlang.org/SKILL.md -o .claude/skills/jacquard/SKILL.md

For Codex and other agents that read AGENTS.md, save the file in the project and point to it:

curl -fsSL https://jacquardlang.org/SKILL.md -o JACQUARD.md
echo 'Before writing Jacquard (.jac), read JACQUARD.md.' >> AGENTS.md

This copy matches the 0.3.0 release. A copy for another release is at docs/SKILL.md under that release's tag in the repository.

The loop

SKILL.md recommends this workflow. In short:

  1. Write public code in .jac and run jac fmt --write.
  2. Run jac check FILE.jac --print-sigs and review every inferred effect. The rows are the first thing a human reviewer reads.
  3. Before running, check the intended grants with jac check FILE.jac --manifest console,net, and keep them no broader than the task needs.
  4. Put behaviour in Warp Case and Prop tests. Fix seeds for sampled runs; prefer exact enumeration and --exhaustive for small finite models.
  5. Treat diagnostics as the contract. Do not add grants, relax manifests or update expected transcripts to make an error go away.

Diagnostics are instructions

Every diagnostic has a stable code, a cause and a next step:

$ jac run greet.jac
error[E0814]: The program requires an effect that was not granted
  Cause: This program requires console [world/low] — talk to the process terminal, which is not granted (performed via `greet`).
  Next step: grant it with --allow console, or handle the effect in the program
[exit status 3]

--diagnostic-format json-v1 emits the same information as JSON, and errors.md lists every code.

Things models get wrong

Files for agents on this site