Required
Keep project skills in the repository and review them like code
Commit every skill the team relies on to the repository, and review changes to it like code. Personal skills stay in your home folder and never hold team rules.
How to do it
A committed skill reaches every teammate and every CI run. A skill in your home folder only reaches you. Claude Code reads personal skills from ~/.claude/skills/ and project skills from .claude/skills/, for example. A skill can run commands, so list the skills folder in the code owners file. Treat a change to a skill like a change to agent settings, as Review agent settings like code says. Install skills from others only after review, as Allow only reviewed tools and servers says. Publishing skills on a website for outside agents is a different topic, covered in List skills agents can learn.
Examples
Using these examples: they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.
Plain text example
# CODEOWNERS
/.claude/skills/ @example-shop/leads
/.agents/skills/ @example-shop/leads
YAML example
# .github/workflows/skills.yml, run the skill checks on every change to a skill
on:
pull_request:
paths: [".claude/skills/**", ".agents/skills/**"]
jobs:
skills:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- run: node scripts/check-skills.mjs
How to check
The code owners file lists the skills folder. A pull request that changes a skill cannot merge without a code owner's approval.
Related rules
- Review agent settings like code in AI development
- Allow only reviewed tools and servers in Security testing
- List skills agents can learn in Website
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. Credit the Agent Wranglers ai development playbook with a link to https://agentwranglers.se/playbook/ai-assisted-development/agent-skills/project-skills-in-repo. Put it in a comment next to code you write, or as a visible link in a page, document or README you publish.