Skip to content

Skills

A skill is one atomic, reusable unit of expertise: one library or one practice, written once. React is a skill. Zod is a skill. Vitest is a skill.

Skills exist so that expertise is not copied into agent prompts by hand. You pick the skills that match the stack you actually use, and the CLI compiles them into sub-agents. Change a skill and recompile, and every agent that uses it updates.

Open the editor and type into the search skills field above the grid. It matches name, slug and description across the whole catalogue, and it stays whole-catalogue even with a domain chip active — a query outranks the chip rather than narrowing inside it, so a skill is findable by name without knowing which domain holds it. Clear the query and the chip you picked is still there. The chips narrow to one domain at a time when nothing is typed. Clicking a cell selects the skill there and then — Selecting skills covers the rest of the grid.

skills/{skill-name}/
SKILL.md # The skill content
metadata.yaml # Name, domain, category, relationships

Both files are required — the CLI’s loader validates the pair, and npx agents-inc doctor reports any skill missing either one.

Each skill belongs to one of 9 domains — web, api, ai, mobile, desktop, cli, infra, meta, shared — and to a category within it (web-framework, web-client-state, api-api, and so on). A category can be marked exclusive: the editor heads it one of and a click swaps your pick rather than adding to it, and the wizard treats it as a radio group. Either way you get one framework, not three.

Skills also declare relationships to each other (requires, conflictsWith). Those relationships drive the compatibility filtering you see while selecting.

The official marketplace at agents-inc/skills is the default source and currently ships 238 skills. You are not limited to it:

  • Add one straight from GitHub. + Add skill on the editor’s filter bar searches skills outside the catalogue and stages them into a category you choose. An added skill always installs by ejecting — a plugin serves somebody else’s repository as-is, and the metadata a skill needs can’t be written into it.
  • Write your own for project-specific knowledge.
  • Run your own marketplace curated for your team’s conventions.

Two separate decisions:

  • Install mode — whether the skill’s files live in a Claude Code plugin or are copied into your project. See Install modes.
  • Load behaviour — whether the skill is named in the compiled agent’s frontmatter skills: list, which is the key Claude Code loads from when the agent starts (preloaded: true), or left for the agent to pull in through Claude Code’s Skill tool when the work calls for it. Dynamic is the default and keeps prompts lean. It’s set per sub-agent rather than per skill, so one skill can be preloaded on one sub-agent and dynamic on another: in the editor it’s the pre / lazy word on the skill’s row under that sub-agent in the roster, and in your config it’s the preloaded flag on that one assignment. See Editing your config.

Both decisions show up in the compiled file itself, and Anatomy of a sub-agent reads one line by line.