Skip to main content
A skill is a named, org-scoped instruction bundle that ZWRM materializes into the agent’s workspace at ~/.claude/skills/<slug>/, where the agent auto-discovers it. Skills let you package “how we do X here” once and reuse it across agents.

The skill library

  • create registers the skill; --description is the when-to-use hint shown to agents and humans.
  • upload publishes a bundle (zip) as the skill’s next version and live-pushes it to running workspaces of agents that have the skill enabled. Agents always track the latest version — there is no per-agent pinning.
  • delete removes the skill from agents and live workspaces.

Bundle rules

A bundle is a zip with exactly one SKILL.md at its root, plus supporting text files (.md .txt .py .js .ts .mjs .sh .json .yaml .yml .toml .csv .xml .xsd). Limits: 10 MB compressed, 5 MB uncompressed total, 512 KB per file, 100 files. Zipping the skill folder itself works — a single wrapper directory is unwrapped automatically, so both zip -r bundle.zip my-skill/ and compressing the folder in Finder or Explorer are fine. OS junk (__MACOSX/, .DS_Store, AppleDouble ._*) is ignored rather than rejected.

Limits

Up to 50 skills per organization and 20 enabled skills per agent.

Enabling skills per agent

Enable/disable live-syncs running workspaces; suspended or cold workspaces pick up changes at the next session start.

Built-in skills

Every agent gets Anthropic’s built-in skills enabled by default: They show up in the library with a built-in label and are read-only — updates come with platform releases. Their content never passes through the platform: at session start, the workspace VM fetches a pinned commit from github.com/anthropics/skills into ~/.claude/skills/ (cached on the volume until the pin changes; needs egress to github.com — if the fetch fails, the session starts without them).
  • Disable per agent with zwrm agent skills disable <agent> xlsx or from the agent page.
  • An org skill with the same slug takes precedence over a built-in.

Agent-managed skills

Agents can write skills too. Inside a session an agent has save_skill, update_skill, and delete_skill tools: a skill it authored in its workspace can be persisted straight into the org’s library under the agent’s own identity — validated like any bundle upload, versioned, auto-enabled for that agent, and synced into its running workspaces. Ask an agent to “turn this workflow into a skill and save it” and it can, with the built-in skill-creator guiding the authoring, test prompts, and iteration.
The tools only mutate skills the calling agent created. Everything else in the library — including built-ins and skills you uploaded — stays read-only to agents.

Hand-dropped skills

You can also drop any skill directly into ~/.claude/skills/<name>/ on the workspace. Hand-dropped directories are never touched by the platform sync — even if a library skill later uses the same slug.