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 says | The agent does |
|---|---|
| "is my traffic going through Anyray", "nothing shows on the dashboard", a 401 after enrollment | Runs 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 it | Calls 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.
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.
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.
In the console, open Skills & Guidance and choose Add, then Upload skill.
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.