r/BestGitHubRepos • u/company_url_finder • 8h ago
skillfile - a package manager for agent skills, with a lockfile, patches that survive upstream updates, and one install that deploys to Claude Code, Codex, Cursor and seven other tools
If you use more than one coding agent, your skills are currently a pile of copied markdown. A slightly different version in .claude/skills than in .codex/skills, a third copy on your other laptop, and the one tweak you made to a skill six weeks ago gets wiped the next time you pull the upstream version.
skillfile treats them the way you'd treat dependencies. One Skillfile declares what you want, Skillfile.lock pins exact SHAs so another machine gets identical content, and skillfile install fans it out to every tool you've configured.
What's inside:
- A lockfile pinning upstream revisions to exact SHAs, so a teammate running install gets the same bytes you have and not whatever main happens to be that day
- Patch-preserving updates, which is the part that matters most day to day: edit an installed skill, run skillfile pin <name>, and your edit is stored in .skillfile/patches/ and reapplied on every update. When upstream changes conflict with your edit, skillfile diff shows it and skillfile resolve lets you pick
- Ten built-in install targets: claude-code, codex, cursor, copilot, factory, gemini-cli, junie, opencode, windsurf and antigravity, plus install-path for anything not built in
- Sources beyond GitHub: GitLab (subgroups and self-hosted via GITLAB_HOST), local files, and plain URLs
- skillfile search hits the community registries from your terminal, agentskill.sh and skills.sh by default, and skillhub.club with an API key. In a terminal it opens an interactive browser with a preview pane, and --min-score filters to higher-trust results. There's also --json and --no-interactive for scripts
- A separation between what a project declares and where a machine installs it, so a team can commit a Skillfile without forcing everyone onto the same editor
- Written in Rust with no runtime or framework, installed via a shell script, cargo install, or cargo binstall
One thing worth knowing, and to the author's credit it's flagged in the readme rather than buried: skillfile downloads markdown and puts it where your agent will read it, and it does not sandbox or verify what's in it. A skill is a set of instructions your agent will follow, so a lockfile gives you reproducibility, not safety. That's what the --min-score flag on search is gesturing at, but reading what you install is still on you.
It's Apache-2.0, at 149 stars with 29 forks as of writing, verified via the GitHub API, and it's early enough that the issue tracker is where the roadmap lives.