Skip to main content

Overview

A skill is a markdown file of instructions. Call it by name from a rule or a PR comment and the agent follows it, so the procedure lives in one file instead of being repeated in every rule. Commit it to a repository, or to one configuration repository the whole organization inherits from. Use a skill when you want to give the agent a procedure, not a server. A custom integration is an MCP server the agent calls. A skill is instructions, plus any scripts you keep next to them.

Versioned With Your Code

A skill changes on the branch that changes the procedure

No Setup

Commit SKILL.md and the next run finds it

Called On Demand

Costs nothing on the runs that do not use it

Runs Your Scripts

A skill can run scripts you keep in its directory
Skills are available on the Pro and Enterprise plans, alongside repository rules.

Where Skills Live

Each skill is a directory with a SKILL.md inside:
In a repository, Gitar reads three directories, in this order: If you already keep skills under .claude/skills/ or .github/skills/, leave them there - no second copy is needed. Committing the same name under .gitar/skills/ overrides the other two. Nesting works, so a monorepo can group skills by package:
The directory holding a SKILL.md is the skill, so nothing inside it is read as a second one - a references/ directory can hold an example SKILL.md safely.

One Repository for the Whole Organization

Skills do not have to be committed into every repository. Name one repository as your configuration repository and every repository in the organization inherits its skills. Two extra directories are read there, skills/ and plugins/<plugin>/skills/, so a marketplace repository works as-is. A repository’s own skills win a name collision. Rules and review instructions are inherited from the same repository. See what it holds.

Writing a Skill

Frontmatter, then the instructions:
The body goes to the agent as written, so write instructions to follow, not documentation. Frontmatter keys Gitar does not read, like allowed-tools or license, are ignored rather than rejected, so a SKILL.md written for Claude Code or Copilot works unchanged.

Calling a Skill

Name the skill in a rule:
Or ask on any PR:
Naming the skill is what calls it. Slash-command syntax does not work, so /migration-check does nothing. The agent loads the skill’s instructions into its own turn and follows them with the tools it already has, with the repository checked out, so a skill can read files and run scripts from its directory. It gets no MCP server and no secrets of its own, so anything that has to reach an external system belongs in a custom integration.
A skill runs only when something calls it. To change what code review looks for on every PR, use .gitar/review/.

When to Use a Skill

Review instructions load on every run and you pay for them every run. A skill loads only when called, so a long procedure belongs in one.

Frequently Asked Questions

Why is my skill not being used?

Check the file is named SKILL.md and sits under one of the three skill directories, not inside another skill’s directory. A SKILL.md over 40,000 bytes is skipped, so split a long one and point at the rest from the body. After that, the usual cause is a description that does not read like a trigger, or nothing naming the skill.

Can a skill use my Jira or Slack credentials?

No. A skill is instructions and scripts, with no secrets of its own. Let the skill decide what should happen and let the rule call the integration.

Can a skill span more than one file?

Yes. Only SKILL.md is read up front, but the rest of the directory is checked out, so a skill can point at references/schema.md or run scripts/check.sh.