---
title: "Keep project skills in the repository and · Agent Wranglers"
url: https://agentwranglers.se/playbook/ai-assisted-development/agent-skills/project-skills-in-repo
updated: 2026-10-21
licence: "All rights reserved"
---

# Keep project skills in the repository and review them like code

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers). Updated 2026-10-21.

- Level: Required
- Chapter: [Agent skills](https://agentwranglers.se/playbook/ai-assisted-development/agent-skills)
- Rule: 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: 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](https://agentwranglers.se/playbook/ai-assisted-development/safety-and-permissions/review-agent-config) says. Install skills from others only after review, as [Allow only reviewed tools and servers](https://agentwranglers.se/playbook/adversarial-testing/ai-agents-and-models/pinned-tools) says. Publishing skills on a website for outside agents is a different topic, covered in [List skills agents can learn](https://agentwranglers.se/playbook/website/ready-for-ai-agents/agent-skills-discovery).
- Check: The code owners file lists the skills folder. A pull request that changes a skill cannot merge without a code owner's approval.

## 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

```text
# CODEOWNERS
/.claude/skills/   @example-shop/leads
/.agents/skills/   @example-shop/leads
```

### YAML example

```yaml
# .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
```

## Related rules

- [Review agent settings like code](https://agentwranglers.se/playbook/ai-assisted-development/safety-and-permissions/review-agent-config) in AI development
- [Allow only reviewed tools and servers](https://agentwranglers.se/playbook/adversarial-testing/ai-agents-and-models/pinned-tools) in Security testing
- [List skills agents can learn](https://agentwranglers.se/playbook/website/ready-for-ai-agents/agent-skills-discovery) in Website

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/ai-assisted-development/agent-skills/project-skills-in-repo">Agent Wranglers ai development playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Keep the skill file short and put fixed steps in scripts](https://agentwranglers.se/playbook/ai-assisted-development/agent-skills/skill-scripts)
- Next: [Ask before a skill changes data or spends money](https://agentwranglers.se/playbook/ai-assisted-development/agent-skills/skill-asks-first)
- [Agent skills](https://agentwranglers.se/playbook/ai-assisted-development/agent-skills)
