All writing
2 min readen

Distributing your personal skills

Learn how to pack and distribute your own set of AI skills.

Recently I come across a few situations in which I found myself working through a lot of different projects and environments.

As such, the tooling and context I needed to use to get the best results for each case varied greatly. Furthermore, having to version control and distribute these for every single machine I worked on was becoming a growing pain.

Fortunately, I learned through studying the great Matt Pocock's Skills repository that there is a better way to manage and distribute your personal skills.

Even better, it is:

  • Free
  • Easy to set up and update
  • Backed by Vercel (so maintaining won't be your problem to worry about)

How to set it up

One command scaffolds the repo and wires it to your agent config:

bash
npx create-skills@latest

Authoring a skill

Each skill is a folder with a config and a prompt. The tools array is what keeps it scoped:

skills/commit-message/skill.config.tsts
import { defineSkill } from 'create-skills'

export default defineSkill({
  name: 'commit-message',
  description: 'Writes conventional commits from a staged diff.',
  tools: ['git', 'read'],
})

A skill you can't reproduce on a new machine in under a minute isn't a skill — it's a local habit.

— the whole point

CommandWhat it does
skills addPulls a skill from a remote repo into your local set.
skills syncRe-links everything after a pull on a new machine.
skills publishPushes your set so other machines can consume it.