Skip to main content

Skills on your machines

Connect keeps a skills directory on every enrolled machine in step with your organization. Anyray publishes one skill of its own there, and you can replace it.

A skill is a SKILL.md file an AI coding tool loads when the work matches its description. Connect writes them into the skills directory of every tool it manages, so Claude Code, Codex, Cursor, Copilot, OpenCode and OpenClaw all read the same set. Most tools share ~/.agents/skills, so a machine with five managed tools usually has two directories, not five.

Two things end up there: the Skills you upload, and one Anyray publishes.

What Anyray publishes

Every enrolled machine gets a skill with the folder name anyray. It fires only when someone asks about Anyray itself, and it covers the two things a developer cannot work out alone:

The user saysThe agent does
"is my traffic going through Anyray", "nothing shows on the dashboard", a 401 after enrollmentRuns anyray-connect doctor --json, reads the verdict, and applies the remedy that report names
a tool result came back truncated with a ctx_ handle in itCalls anyray_retrieve for the original bytes instead of telling the user the content is gone

The second one is why it ships on by default. When Anyray trims an oversized tool result it leaves a handle to fetch the original, and an agent that does not know about the handle reports the content as missing. That looks like data loss to the person reading it, and nothing in the tool says otherwise.

It is served by your gateway, not stored in your Skills list, so it updates when you upgrade the gateway and needs nothing from you.

It arrived

Run anyray-connect sync on any enrolled machine. The Skills section lists anyray. That is the check that proves it: the file is on the machine.

The console's Skills & Guidance card reports the gateway's side. Built in means the gateway is serving it. Not serving means the gateway could not read its Skills store in full, so it is holding the Skill back and machines keep whatever copy they have. Needs gateway upgrade means this gateway predates the Skill and cannot say.

Replace it with your own

Upload a Skill whose folder name is anyray and yours is what lands on every machine instead. The console stops showing the built-in row, because there is now one folder and it is yours.

1
Write the file

Save a SKILL.md with name: anyray and a description in its front matter. The description is what every tool matches on, so write it in the words your people would type.

2
Upload it

In the console, open Skills & Guidance and choose Add, then Upload skill.

3
Confirm the swap

The Built in row disappears and your Skill takes its place in the list. Machines pick it up on their next policy sync.

Removing your version brings the built-in back. There is no separate off switch: a machine with no Anyray skill and a trimmed tool result is the failure this exists to prevent.

Where the files are written

Connect writes <skills-dir>/<id>/SKILL.md and remembers the version it last wrote in ~/.anyray, so a re-run only touches what changed. Deleting a Skill in the console removes the folder from every machine on the next sync. Claude Code installs organization plugins natively instead of taking loose copies, so a plugin-derived Skill is not duplicated there. Directories and the sync verb are on the CLI commands page.

What is safe to put in one

Skill bodies are downloaded from a credential-free gateway URL and stored in plain text on every enrolled machine. Put working conventions and terminology in them. Never put credentials, and never put instructions you would not want a contractor's laptop to hold.