skill-maker
Skills authoring
Author, lint, and publish Claude Code skills. Skills are distributed and refreshed with the npx skills package manager (github.com/vercel-labs/skills): each source repo holds the skill, and npx skills add/update installs and refreshes the installed copy on a machine.
Source of truth: edit the source repo, never the installed copy
A skill exists in two places. Edit only the source.
| Where | Edit it? | |
|---|---|---|
| Source | the skill's git repo (<name>/SKILL.md) |
Yes |
| Installed copy | ~/.claude/skills/<name>/ (global) or a project's .claude/skills/<name>/ |
No — derived; npx skills update overwrites it |
Publishing is pull-based, not live editing. Change the source repo, then npx skills update re-pulls and rewrites the installed copy. An edit made directly to the installed copy is discarded on the next update.
- If you own the source repo: edit
<name>/SKILL.md, commit, push, thennpx skills update. - If you don't (you only installed it): the installed copy is read-only in practice. To change it, fork the source repo and
npx skills add <your-fork>, or open a PR/issue upstream. You cannot push to a repo you don't own.
To find where an installed skill came from, its source is recorded in the lockfile: ~/.agents/.skill-lock.json for global installs (or $XDG_STATE_HOME/skills/.skill-lock.json if set), and <project-root>/skills-lock.json for project installs. The installed copies under ~/.claude/skills/ have no lockfile of their own.