What is an agent skill?
An agent is a program that writes and changes code for you while you talk to it. Claude Code, Cursor and Codex are agents.
An agent only knows what it has learned and what you show it. Turf is new, so an agent may guess at its rules and get them wrong. A skill fixes that. Think of it as handing the agent a small manual before it starts work.
A skill is SKILL.md (always read) plus references/ and examples/, which the agent opens when it needs them. So it reads a short page first, and fetches the thick reference chapters only when a question calls for one.
What the Turf skill teaches
There is one skill, called turflang.
| Skill | What it teaches |
|---|---|
turflang |
Turf 2.0 syntax and semantics, the standard library, the compile/fix loop with the compiler’s diagnostics and --smart, projects and turf test, and porting code into Turf |
Two of those matter most for what you want to do:
- Start a new Turf project
The skill covers projects and
turf test, the standard library, and the compile/fix loop: the agent writes code, runs the compiler, reads its diagnostics and fixes what they say. - Move code you already have
The skill has an idiom map from other languages, and a guide to moving from 1.x to 2.0, so the agent can port code into Turf.
Install it
You need Node.js 22.20 or newer. Then, in your terminal, run:
npx turflang-skillsor, with the generic skills CLI:
npx skills@latest add turf-lang/turf-skillsEither command asks:
- which agents to install for (Claude Code, Cursor, Codex, OpenCode, GitHub Copilot, Windsurf and 70+ others);
- whether to install for this project or for your user (global);
- whether to symlink or copy.
Skip the questions
These commands answer the questions in advance:
npx turflang-skills -g -a claude-code -ynpx turflang-skills -a claude-code cursor codex -ynpx turflang-skills --githubnpx turflang-skills updatenpx turflang-skills remove turflang| Command | What it does |
|---|---|
npx turflang-skills -g -a claude-code -y |
Global, Claude Code only. |
npx turflang-skills -a claude-code cursor codex -y |
This project, three agents. |
npx turflang-skills --github |
The latest from GitHub instead of the npm-bundled copy. |
npx turflang-skills update |
Updates installed skills. |
npx turflang-skills remove turflang |
Uninstalls. |
npx turflang-skills installs the copy bundled with that npm version. npx skills add turf-lang/turf-skills (or --github) installs whatever is on master.
Install by hand
Copy the turflang/ folder into your agent’s skills directory, for example ~/.claude/skills/turflang for Claude Code.
What is inside
- SKILL.mdworkflow, core syntax, the traps
- references/the long chapters, opened when needed
- language.mdfull language rules (condensed reference)
- stdlib.mdevery stdlib module and signature
- diagnostics.mdfix loop, diagnostic anatomy, –smart, runtime panics
- error-codes.mdE001–E149: trigger and usual fix
- projects-and-testing.mdturf.toml, modules, packages, turf test
- porting.mdidiom map from other languages, 1.x → 2.0
- examples/complete programs (compiled and run)
- inventory/a small project with tests
Is it accurate?
The content is derived from docs/ in the turf-lang repository. Every turflang code block that is a complete program, and every file in examples/, compiles with turfc 2.0.x. The exception is the wrong/right fragments in error-codes.md.
Get the source
The skill lives in the turf-skills repository.