sandermuller/boost-skills
sandermuller/boost-skills is a Composer-distributed catalog of AI agent skills for PHP and Laravel projects. It ships Markdown-only workflow skills, tag-gated framework extras, and always-on guidelines that Laravel Boost or boost-core syncs into your configured AI agent directories.
Installation:
composer require sandermuller/boost-skills
resolve-conflicts/dangling-symbols.sh).Pair with a Sync Engine:
sandermuller/boost-core or laravel/boost to sync skills to your AI agent (e.g., Claude, Cursor, Copilot).composer require laravel/boost
php artisan boost:install
First Use Case:
code-review.md skill.bug-fixing.md for guided debugging.spec-driven-implementation.md for test-first workflows.resolve-conflicts skill (see Implementation Patterns) to reconcile branches; it invokes dangling-symbols.sh to detect symbols that became orphaned after a merge.jira-workflows.md, deployment.md, resolve-conflicts/).resolve-conflicts ship sibling shell scripts (e.g., dangling-symbols.sh). If you rely on them, pin the version and re-run your checks after patch releases — 2.52.1 shipped a fix for declaration/import detection that changes the output of a previously "clean" run.Sync Skills to AI Agent:
config/boost.php to include sandermuller/boost-skills as a skill source:
'skills' => [
'sandermuller/boost-skills',
// Other skill packages...
],
php artisan boost:sync
Trigger Skills via CLI:
boost:run command with a skill name:
php artisan boost:run code-review --file=path/to/pr.diff
php artisan boost:run jira-workflows --ticket=PROJ-123
Merge-Conflict Workflow (resolve-conflicts):
php artisan boost:run resolve-conflicts
dangling-symbols.sh to report removed/renamed symbols and their leftovers. As of 2.52.1, it correctly flags:
/** @deprecated */ public function run()./* note */ import type Money from './money';.vendor/sandermuller/boost-skills/skills/resolve-conflicts/dangling-symbols.sh
Embed Skills in CI/CD:
.github/workflows/ci.yml to auto-generate PR reviews:
- name: Run AI Code Review
run: php artisan boost:run code-review --file=diff.patch
laravel-* tagged skills (e.g., laravel-migrations.md) for framework-specific tasks.php artisan migrate) with AI assistance:
// app/Console/Commands/MigrateWithAI.php
public function handle() {
$this->call('boost:run', ['skill' => 'laravel-migrations']);
$this->call('migrate');
}
storage/boost/skills).skills/ directory in your Claude workspace settings.Not Just Markdown — Version Bumps Matter:
resolve-conflicts) ship executable shell helpers. Treat patch releases as potentially behavioral even when the changelog reads like a minor script fix."sandermuller/boost-skills": "2.52.1") and re-run your skill harness after each bump. 2.52.1 changed output behavior for dangling-symbols.sh — a project that previously passed on 2.52.0 may now correctly fail.Sync Engine Required:
boost-core / laravel/boost) configured to parse and distribute them.boost:sync completes before invoking skills.Tag Mismatches:
laravel-*) won’t load if the sync engine doesn’t filter by tags.--tags=laravel).Skill Overlap:
bug-fixing.md) may conflict with project-specific AI prompts.storage/boost/skills/.AI Agent Limitations:
bug-fixing/debugging.md, bug-fixing/testing.md).Sync Issues:
php artisan boost:sync --verbose
storage/logs/boost.log for errors.Skill Not Loading:
vendor/sandermuller/boost-skills/skills/ and isn’t filtered out by tags.Script Output Looks Wrong:
bash -x to see how it tokenizes comments and declarations:
bash -x vendor/sandermuller/boost-skills/skills/resolve-conflicts/dangling-symbols.sh
/** ... */ and /* ... */ in-line comments.Custom Skill Paths:
config/boost.php:
'skill_paths' => [
base_path('custom-skills'),
base_path('vendor/sandermuller/boost-skills/skills'),
],
Dynamic Skill Loading:
// app/Providers/BoostServiceProvider.php
public function boot() {
$this->app->when(AiAgent::class)
->needs('$skills')
->give(fn () => collect(config('boost.skills'))
->map(fn ($skill) => file_get_contents("vendor/{$skill}/skills/*.md"))
->filter()
->values()
);
}
Add Custom Skills:
.md files in storage/boost/skills/ or a custom path (see above).storage/boost/skills/project-specific/release-checklist.md.Modify Existing Skills:
storage/boost/skills/ and editing locally.resolve-conflicts, also vendor the shell helper and reference it from your copy — otherwise you are pinning behaviour to the vendor script version anyway.Extend Shell-Tooled Skills:
tsc --noEmit pass after dangling-symbols.sh in a resolve-conflicts wrapper).Create Skill Templates:
cp -r vendor/sandermuller/boost-skills/skills custom-skills/
composer require yourname/your-skills
Integrate with Git Hooks:
pre-commit or pre-push:
# .git/hooks/pre-commit
#!/bin/sh
php artisan boost:run code-review --file=git diff --cached
# .git/hooks/pre-push
#!/bin/sh
vendor/sandermuller/boost-skills/skills/resolve-conflicts/dangling-symbols.sh
How can I help you explore Laravel packages today?