Skip to content

Translation & agents

A skillset is portable because the client translates it into whatever format each agent expects on disk. You write once; every agent gets a native version.

When you install or switch a skillset, the client writes each component into the target agent’s own layout:

  • Instructions → the agent’s own instructions file (CLAUDE.md for Claude Code, GEMINI.md for Gemini CLI, copilot-instructions.md for GitHub Copilot, AGENTS.md for the rest)
  • Skills, subagents, slash commands → the agent’s directories and formats (e.g. .claude/agents/ and .claude/commands/ for Claude Code)
  • MCP servers → from one canonical mcp/<server>.json (with ${env:VAR} placeholders) into the agent’s config shape — .mcp.json for Claude Code, config.toml for Codex — with per-agent merge rules

The same skillset therefore behaves consistently whether the agent is Claude Code, Cursor, or Gemini CLI.

Every agent is one declarative row in a single table — 13 agents today, 7 supported and 6 experimental, with claude-code as the default. The full matrix of names and tiers is generated from that table: see Supported agents.

You can target several agents with one skillset: sks config --agents sets your defaults, and --agent <name> targets one explicitly — see Managing skillsets.

this page as markdown: /skillsets/concepts/translation-and-agents.md· index for agents: /llms.txt