alizharb/agent-skills
Alizharb Agent Skills is a Laravel package for building modular AI agent capabilities. Register reusable skills, define inputs and handlers, and compose them into agents with a clean, extensible PHP API designed for Laravel apps. It keeps skill definitions organized and makes them reusable across mu...
Architecture fit. alizharb/agent-skills is a content-distribution package, not a runtime library. It ships Markdown skills, guidelines, JSON manifests, and a service provider that hooks into Laravel Boost's discovery path (resources/boost/skills, resources/boost/guidelines/core.blade.php). This is architecturally low-risk: it is installed as a dev dependency, adds nothing to production autoload paths, and does not touch application code, routes, migrations, or config. The real "architecture" being integrated is a set of instructions to AI coding agents, which is a new class of dependency for most Laravel teams. Fit is high if the organization already uses Laravel Boost and AI-assisted development; near-zero if it does not, because the package has no standalone value.
Integration feasibility. Mechanically trivial: composer require alizharb/agent-skills --dev plus php artisan boost:install. Auto-discovery via AgentSkillsServiceProvider removes manual wiring. The skills.sh-compatible root skills/ directory and the multi-agent documentation (Claude Code, Codex, Cursor, Windsurf, Copilot, generic) mean it can serve a heterogeneous toolchain rather than forcing one vendor. The main feasibility constraints are environmental: PHP 8.3+, Laravel 13, Livewire 4, Filament, Pest/Pint/PHPStan are the assumed baseline. Teams on Laravel 10/11/12 or PHP 8.1/8.2 will get guidance that is actively misleading rather than merely unusable.
Technical risk.
presets.json curation.Key questions.
boost:install compatible with our pinned Boost release?boost:install pull mutable content?Stack fit. Strong alignment with a modern Laravel stack already using Livewire, Filament, Inertia, Pest, Pint, and PHPStan — the skill taxonomy maps almost one-to-one onto those concerns (architecture, actions/DTOs/services, Filament, Livewire, Blade, Tailwind/Flux, API, webhooks, imports/exports, notifications, permissions, rate limiting, observability, package development, releases, testing, security review, accessibility). That breadth is the package's main differentiator versus hand-rolled prompt files. Presets (core, filament, api, saas, package, security, testing, frontend, devops) allow per-repo scoping instead of a blanket install.
Migration path. Additive and reversible — there is no data, schema, or API migration. The realistic path: (1) pilot on a single non-critical repository; (2) inspect the installed skills/ and guidelines/ content and diff against existing team conventions; (3) select presets matching the repo's actual profile; (4) only then propagate. Treat the first install as an evaluation, not a rollout.
Compatibility. Confirm three things before adoption: the Boost version pairing, the PHP/Laravel floor against each target repo, and whether the skills.sh layout conflicts with any existing root-level skills/ directory in our repos. Multi-agent documentation means we should deliberately pick which agent configs to enable rather than enabling all of them.
Sequencing.
core + one domain preset; run existing Pint/PHPStan/Pest gates to establish a baseline.scripts/validate-skills.php, generate-manifest.php, and sync-boost-skills.php into CI where we maintain our own skills, so manifests stay consistent.composer.json and review on upgrade.Maintenance. Low code maintenance, moderate content maintenance. There is no runtime to patch, but 62 skills and 44 guidelines are a large surface to keep accurate; the package's value decays with framework drift. Assign an owner (typically a platform/DevEx engineer) responsible for reviewing releases and re-validating guidance against our Laravel version. Pin the dev dependency and upgrade deliberately rather than allowing floating versions across many repos.
Support. Community/single-maintainer package with no SLA. Presence of SECURITY.md, CONTRIBUTING.md, CHANGELOG.md, and GitHub Actions is a good maturity signal for a v1.0.0, but it does not constitute vendor support. Do not make it a hard dependency of any delivery pipeline; keep it a developer-experience enhancement that can be removed without breaking builds.
Scaling. Content is static, so scale is a distribution problem: many repos × pinned versions × preset combinations. manifest.json and presets.json make this automatable, and per-repo preset selection keeps noise down. The scaling risk is divergence — teams editing local guideline copies and drifting from upstream. Mitigate by deciding explicitly whether we vendor (fork and own) or track upstream, and applying one policy consistently.
Failure modes.
boost:install or the root skills/ directory overwriting or conflicting with existing repo content.Ramp-up. Technically minimal — two commands and no application changes. The real ramp-up is conceptual: teams must understand that this is a curated instruction layer, that its output should be reviewed like any generated code, and that they now have a new artifact type (skills/guidelines) to version and govern. Expect roughly a half-day of onboarding per team plus a review pass over the enabled presets; the extensive documentation (installation, Boost, skills.sh, presets, validation, auditing, security, authoring, versioning, per-agent setup) supports self-service, but the absence of prior assessment means the first cycle should be treated as a time-boxed pilot with explicit exit criteria rather than a standard-issue dependency.
How can I help you explore Laravel packages today?