Reuse skills across projects

Maintain common skills together and select the ones each project needs.

Reuse skills across projects

Code review, documentation, and testing often use the same skills across projects. Keeping them in one shared repository saves finding and copying each folder whenever a new project needs them.

This example keeps three skills in the skills directory of team-resources. One config includes all three. The other uses exclude to leave out testing when it is not needed.

skills/code-review/SKILL.md

---
name: code-review
description: Review code changes for correctness and edge cases.
---
 
Read the diff. Report concrete problems with file references.

Create command

Bash
pnpm create preset init .agents/skills --from ./presets/skills.json

Target directory

Run the example command from the project root with a new or empty .agents/skills directory as the target. For example, skills/code-review/SKILL.md in the repository becomes .agents/skills/code-review/SKILL.md in the project.

If the agent reads skills from another location, change the target path in the command. Several projects can use this repository without an npm package for distribution.

Existing skills

For a nonempty target, the CLI asks to replace the entire directory. It does not merge individual skills. Generate into a new temporary directory first:

Bash
pnpm create preset init skills-preview --from ./presets/skills.json

Check the files, then copy the skill folders needed into the project. Compare same-name files before overwriting them. Later updates can be fetched and compared the same way. Create Preset does not sync updates automatically or link skills into other agents' directories.

Each preset reads one source repository. Skills from several repositories need collecting in one repository before this config can distribute them together.