llm/skills
A Composer plugin that syncs AI Skills from your vendor packages and arbitrary GitHub/GitLab repos into a project-local directory (default .agents/skills/). Skills are auto-discovered by their SKILL.md files and kept up to date automatically on composer install and update.
composer install workflows.SKILL.md + auxiliary files), mirroring Laravel’s package/service-provider structure and promoting reusability..agents/skills/ directory stays tool-agnostic, compatible with IDE plugins, CLI tools, and agents that read from a conventional path.--dev Composer plugin dependency and minimal config (skills.json). No Laravel-specific hooks or service providers are required.skills:* commands (e.g., php artisan skills:update) that can shell out to the binary or call the PHP implementation.SkillServiceProvider to expose skills as container bindings or a Skill facade.laravel/ai-skill-refactor).composer.json constraints and a documented minimum binary version.latest) and cache it by digest.arm64 (Apple Silicon laptops, Graviton CI, ARM container runners) and confirm whether Linux builds are static/musl-compatible so they run on Alpine-based images (relevant for Laravel Sail and slim production images).trusted-replace: true in production, audit donor packages (composer skills:show --verbose or the binary’s equivalent), and require explicit approval for any new skill source.skills.json semantics, trust rules, alias creation). Divergence would create "works on my machine" failures between developer laptops and CI.composer install can still slow builds; disable it ("auto-sync": false) in CI and run sync as an explicit step. The binary may improve cold-start time where PHP bootstrapping was the bottleneck — worth measuring rather than assuming..claude/skills) may cause merge conflicts if not ignored. Ensure .gitignore coverage.skills.json parsing), or a subset? Is there a documented parity matrix?SkillLoaded) or be consumed via a facade?laravel/framework shipping a debugging skill)?SKILL.md content, integration tests against the HTTP layer?SKILL.md files resolved?logs/skills.log)? Can skills be enabled/disabled dynamically via config or environment variables?php artisan skills:update.spatie/laravel-ai)..claude/skills)..agents/skills/./skills/refactor).Skill::find('refactor')) to fetch templates.composer require --dev llm/skills
composer skills:init
.agents/skills/, aliases resolve, trust model blocks untrusted packages.skills.json interpretation and identical directory contents before standardizing on either path.laravel/skills) that adds Artisan commands, container bindings, and a Skill facade, delegating the sync operation to whichever backend is configured:
// app/Providers/SkillServiceProvider.php
public function register()
{
$skills = collect(Storage::files('.agents/skills'))->mapWithKeys(function ($path) {
return [basename(dirname($path)) => new Skill($path)];
});
$this->app->instance('skills', $skills);
}
"auto-sync": false).composer skills:update where PHP is already present).composer skills:show --verbose or the binary equivalent.x86_64 and arm64 availability per OS before promising support to Apple Silicon and Graviton-based CI users.llm/skills as a dev dependency, or download and verify the platform binary; either way, commit skills.json.composer skills:update or the binary’s sync command.skills.json must be version-controlled (unlike composer.lock). Use composer skills:init --force to reset a corrupted config.SKILL.md formats — notably YAML frontmatter changes that downstream Laravel integrations may parse.composer why-not acme/skills-refactor to debug missing skills.composer skills:show for skipped packages (trust issues)..agents/skills/ is writable (chmod -R u+rw .agents).SKILL.md syntax (valid YAML frontmatter).composer skills:update -v or the binary’s verbose flag). Log skill usage in Laravel via an event (e.g., event(new SkillUsed('refactor'))).SKILLS.md to the project root covering trusted packages, how to request new skills, which execution path (plugin vs. binary) is authoritative per environment, and example SKILL.md templates.composer install on large projects. Disable it ("auto-sync": false) and run sync as a separate step; use the binary where PHP bootstrap cost is measurable. Use --discovery sparingly, as it scans all vendor packages..agents/skills/ size and prune unused donor packages; cache the directory in CI keyed on skills.json + lockfile hash.latest.How can I help you explore Laravel packages today?