llm/skills CLI
A Composer plugin that ships AI skills as dependencies, pulls them from vendor and Git and syncs to a project folder.
- 55 ★ on the repository
- Last commit
- BSD-3-Clause
Extended access
Why this level
- The Composer plugin runs on every install and update and copies instruction files from other people's packages and Git repositories into the project.
Install
- Works in
Manual install
composer require --dev llm/skillsThe command from the Install section. Then `composer skills:init --quick`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The Composer plugin runs on every install and update and copies instruction files from other people's packages and Git repositories into the project.
This is third-party code. Review the repository files before installing.
What it does
llm/skills is a Composer plugin for PHP projects. It finds skills, folders with a `SKILL.md` file, in `vendor/` packages and in arbitrary GitHub and GitLab repositories added with `composer skills:add`, and copies them into a project directory, `.agents/skills/` by default. A package does not need to declare anything: skills are auto-discovered by `SKILL.md`. After `composer require --dev llm/skills` the `composer skills:init` wizard picks a layout from the agent folders it finds, such as `.claude/` or `.cursor/`, and settings are written to `skills.json` beside `composer.json`. Sync runs on `composer install` and `update`. There are `skills:update` and `skills:show` commands and a standalone binary that needs no PHP.
Who it is for. PHP developers and library authors who want to ship agent skills with a package and update them like ordinary dependencies.
Good fit when
- A library holds instructions for an agent that must reach the project after `composer install`.
- A team wants one skills directory for Claude Code, Cursor and Codex synced automatically.
- A skill lives in someone else's GitHub repository and must be attached by `owner/repo`.
- Skill versions must be pinned and checked together with the project's other dependencies.
Not a fit when
- The project is not PHP and does not use Composer: `npx skills` fits better.
- Skills from unverified sources are wanted with no trusted package list.
- Automatic sync on every `composer update` is unwelcome and turning it off is a chore.
Example request
Add llm/skills to the project, configure syncing into `.claude/skills` and add skills from the acme/ai-skills repository.Limitations
Composer asks permission for the plugin during install; for CI it is allowed beforehand in `config.allow-plugins`. Sync after `install` and `update` is on by default and the `--no-scripts` flag does not skip it, only `--no-plugins` or `"auto-sync": false` in `skills.json` does. Skills can come from arbitrary Git repositories, so trusted packages are set with `--trust`. The project is licensed BSD-3-Clause.
How to disable. Run `composer remove llm/skills`, then delete `skills.json` and the synced folders from `.agents/skills/`. For a single run `--no-plugins` helps.
FAQ
How does a package author publish a skill?
By placing a folder with `SKILL.md` in the package. No declaration is needed: skills are auto-discovered by that file.
Where are skills copied?
To `.agents/skills/` by default. Another folder such as `.claude/skills` is set with `--target`, and aliases with `--alias`.
Can I use it without PHP?
Yes, releases include standalone executables for Linux, macOS and Windows. The commands are the same, without the `skills:` prefix.
How do I add a skill from GitHub?
With `composer skills:add owner/repo`. GitHub and GitLab are supported and `--trust` restricts trusted sources.
How do I turn off auto-sync?
Set `"auto-sync": false` in `skills.json` or run Composer with `--no-plugins`.
Discussion
No questions or reviews yet.
Related
CLI toolsskills-npm links agent skills shipped in your dependencies in node_modules and listed in the skills field of package.json
15 skills for Claude Code and Codex: Laravel, Docker, UI, debugging, tests and docs in four ready plugin bundles
Skill and agent manager with a lock file: installs one set into Claude Code, Codex, Cursor and others and keeps your edits.
dotnet-skills: a skill installer for .NET
dotnet-skills
An installer for a .NET skill catalog that picks skills from project files for Claude Code, Codex, Copilot and Gemini CLI
Catalog of 46 versioned skills for code review, releases, CI and landing pages, installed as the lstack plugin or through npx.
Dimon94 Skills takes an agent task from requirement to merge: epics, specs, tickets, implementation and local Git closeout.
README in short
Describes installation, the `skills:init` wizard, `skills.json` settings, the `skills:add`, `update` and `show` commands, auto-discovery and the standalone binary.