boost-skills 是做什么的?
Sander Muller 的个人 Composer 分发 AI 代理技能目录,适用于 PHP 项目和 Composer 包。如果您的偏好与 Sander 一致,可以采用它,或将其作为模板创建自己的目录。
sandermuller/boost-skills 是一个 Composer 分发 AI 技能目录的示例。它包含一个精心策划的混合通用工作流技能(代码审查、Bug 修复、规格驱动开发、发布检查清单、Jira 工作流、部署等)、标签限定的特定框架附加组件以及始终启用的指南——请参阅下面的完整技能和指南清单。
该包不包含运行时代码;它纯粹是 Markdown。一个同步引擎(sandermuller/boost-core 或 laravel/boost)读取这些技能并将它们写入您配置的每个 AI 代理目录(Claude Code、Cursor、Copilot、Codex、Gemini 等)。
技能来自哪里?
任何您想要的地方。技能来源可以堆叠——自由混合搭配:
- 您自己的
.ai/skills/文件夹,在项目旁边手写。laravel/boost和boost-core都会自动拾取相同的约定。 - 一个 Composer 安装的目录包。任何包含
resources/boost/skills/的包都可以。Sander 在sandermuller/boost-skills(此仓库)发布他的个人目录——如果您的偏好与 Sander 一致,可以采用它,或将其作为您自己的私有/公共目录的模板。 - 外部非 Composer 来源,通过
boost-core的withRemoteSkills()。直接从 URL 拉取 GitHub 发布的.skill包或单个技能仓库。 laravel/boost捆绑的 Laravel 技能——Laravel 通过laravel/boost(仅限 Laravel 应用)发布的特定 Laravel 技能。
withAllowedVendors() 仅限制 Composer 扫描的供应商(来源 2)。withTags() 过滤来源 2、3 和 4(Composer 供应商、远程技能、laravel/boost 捆绑包)。主机 .ai/skills/(来源 1)绕过两个门控——您的项目创作了那些技能,因此引擎将它们视为权威并不应用任何过滤。
boost 家族
如果您采用 sandermuller/boost-skills(或任何 Composer 分发目录),请将其与适合您角色的同步引擎配对:
sandermuller/package-boost-php如果您编写框架无关的 Composer 包sandermuller/package-boost-laravel如果您编写 Laravel 包sandermuller/project-boost-php如果您构建 PHP 应用sandermuller/project-boost-laravel如果您构建 Laravel 应用(与laravel/boost共存——添加九代理扇出、标签过滤、供应商允许列表、远程技能)
这四个 sandermuller/* 包捆绑了 sandermuller/boost-core 同步引擎,因此您很少需要自己安装 boost-core。laravel/boost(Laravel 自己的引擎、MCP 服务器和文档 API)在 Laravel 应用中与 project-boost-laravel 共存——家族包在其上添加了九代理扇出和过滤器。如果您宁愿跳过家族控制并单独使用 laravel/boost,它同样可以读取任何 Composer 分发目录(包括此目录);请按照其设置进行操作。boost-core 会嵌入的项目约定插槽在 laravel/boost 下仍然可以正常读取——技能带有可见的默认值(请参阅项目约定模式),因此即使 laravel/boost 没有解析这些插槽,您也能获得合理的默认措辞。如果这些都不适合(例如非 PHP 包),请直接安装 boost-core。
安装
如果您将 sandermuller/boost-skills 作为您的目录,请将其与适合您引擎角色的家族包一起安装。对于框架无关的包作者,那是 package-boost-php:
composer require --dev sandermuller/boost-skills sandermuller/package-boost-php
将 package-boost-php 替换为 package-boost-laravel 或 project-boost 以匹配您的角色。以下步骤使用 boost-core 引擎的命令;在 laravel/boost 上,请遵循其自己的设置并确保 sandermuller/boost-skills 在其同步的包中。
boost-core(由家族包引入)提供了一个交互式设置命令:
vendor/bin/boost install
boost install 在您的项目根目录生成一个 boost.php 文件,并让您选择目标代理和允许的供应商。技能仅从允许的供应商同步,因此请确保选择了 sandermuller/boost-skills。结果如下所示:
return BoostConfig::configure()
->withAgents([
Agent::CLAUDE_CODE,
Agent::COPILOT,
Agent::CODEX,
])
->withAllowedVendors([
'sandermuller/boost-skills',
'sandermuller/package-boost-php',
])
->withTags(['php', 'github']);
通过 ->withTags(...) 声明您项目的能力——带标签的技能和指南仅同步到选择加入的项目。常见的起始项是 'php' 和 'github';请参阅标签注册表以获取完整词汇表。同步后,vendor/bin/boost tags 显示当前哪些带标签的内容被过滤掉与已同步——方便发现您可能想要声明的能力。
然后扇出技能:
vendor/bin/boost sync
编辑后通过运行 vendor/bin/boost sync 重新同步,或者将 BoostAutoSync 回调 连接到您的 composer.json 的 post-install-cmd / post-update-cmd,以便在每次 composer install / composer update 时自动重新同步。生成的代理目录(.claude/skills/、.github/skills/ 等)不纳入版本控制;boost-core 会管理该 .gitignore 块。
技能
| 技能 | 功能 | 标签 |
|---|---|---|
ai-guidelines | 创建和维护 AI 技能和指南文件(.ai/、CLAUDE.md、AGENTS.md)。 | — |
autoresearch | 自主性能循环:基准测试、更改代码,然后根据测量结果保留或回退。 | php |
backend-quality | 两层 PHP 质量门控:每次更改时运行 Pint + 相关测试,完成后运行 PHPStan + 完整套件。 | php |
bug-fixing | 测试驱动的 Bug 工作流:用失败的测试重现 Bug,然后修复它。 | — |
code-review | 从功能、代码质量、安全性和测试方面审查最近的更改。 | — |
codex-review | 请求 OpenAI Codex CLI 进行独立审查,应用核准的修复,重新审查直至干净。 | — |
deploying-laravel-cloud | 通过 cloud CLI 在 Laravel Cloud 上部署和管理 Laravel 应用——环境、数据库、域名、计费。 | laravel-cloud hosting |
eloquent-models | 创建和维护带有列/关系常量、全面文档块和外键常量的 Eloquent 模型。 | laravel |
evaluate | 自我审查完整的实现并修复其暴露的问题。 | — |
final-verification-review | 收尾结论:运行完整的评估循环,干运行收尾预检(PR 流程 或 无 PR 的提交/发布),报告 READY / NOT READY。 | github |
frontend-quality | 前端质量门控:类型检查、代码检查以及 JS 测试套件;对 UI 变更进行肉眼验证建议。 | frontend |
github-issue-updates | 在功能发布后,将面向用户的描述和 QA 可测试项追加到 GitHub Issue 中。 | github-issues |
humanizer | 消除 AI 生成文本的痕迹,使文本读起来自然且人性化。 | — |
implement-spec | 分阶段实现规范文件并跟踪进度。 | — |
interview | 对抗性地挖掘复杂功能的需求——代码优先、假设审查——在编写规范之前。 | — |
jira-create | 创建一个具有良好格式、面向用户描述的 Jira Issue。 | jira |
jira-rework | 研究一个被退回进行返工的 Jira Issue,然后提出修复选项。 | jira github |
jira-updates | 在 PR 创建后更新 Jira Issue;发布被问题阻止的评论。 | jira github |
migration-squash | 安全地创建或审查 Laravel 迁移压缩——预先导出,然后通过检查清单捕获不完整、受污染或丢失数据的基线。 | laravel |
pr-review-feedback | 应用 PR 审查意见,在操作前批判性评估每个意见。 | github |
pre-release | 提交前检查:Rector、Pint、完整测试套件、PHPStan 以及文档过时审计。 | php github |
pull-requests | 通过 gh 创建和管理您自己的 GitHub PR:编写描述、验证、根据风险路由。 | github |
readme | 为 Composer 包编写和维护高质量的 README——桩 vs 完整形状、语气、过时审计。 | release-automation |
release-notes | 为 Composer 包起草 GitHub 发布说明——结构、语气、破坏性变更标注、省略内容。 | release-automation |
resolve-conflicts | 解决 Git 合并冲突而不丢失任何一方的功能。 | — |
test-writing | 编写遵循 Arrange-Act-Assert 的特定、描述性命名的测试。 | — |
upgrading | Composer 包中 UPGRADING.md 的标准结构——何时维护一个、其中包含什么。 | release-automation |
ux-review | 为新功能权衡 UX/UI 选项,推荐一种方法,并记录该决策。 | — |
write-spec | 编写带有可跟踪进度的、可实现规格文件。 | — |
标签
大多数技能和指南是通用的——它们同步到每个项目。一些带有能力标签,指定项目需要(或已选择加入)什么才能使内容有用。项目通过 withTags(...) 在 boost.php 中声明其能力,只有匹配的内容才会同步。
标签机制(子集 AND 匹配、boost.php 中的 withTags() 声明、技能 frontmatter 中的 metadata.boost-tags、指南的 .boost-tags.yaml 侧边栏清单)是家族规范的——由 boost-core 定义并适用于任何 Composer 分发的目录。下面的标签词汇表是一个目录的选择——Sander 混合了 boost-skills 提供的技能和指南所涵盖的能力。其他目录可能以不同的方式组织。所有者指定哪个 boost 家族包使用每个标签提供内容。
boost-core 提供了一个更广泛的 Tag 枚举(SanderMuller\BoostCore\Enums\Tag),包含本目录中任何技能都未绑定的情况——Tag::Filament、Tag::Livewire、Tag::Volt、Tag::Inertia、Tag::Flux、Tag::Pest、Tag::Tailwind 等。这些是家族词汇表中的向前兼容插槽。在您的 withTags(...) 中声明它们今天是无害的(没有提供的技能目标它们),并且根据 boost-core 的已声明但未发现的保留规则,在 boost install 选择器重新运行时可以存活。下表仅涵盖 boost-skills 本身当前提供内容所依据的标签;请参阅 boost-core 中的 Tag::* 以获取完整的枚举词汇表。
| 标签 | 含义 | 所有者 |
|---|---|---|
boost-extension | 选择加入——扩展 boost-core(自定义技能 + FileEmitter) | package-boost-php |
database | 项目有数据库 | boost-skills |
frontend | 前端工具链——类型检查、代码检查、JS 测试 | boost-skills |
github | 托管在 GitHub 上 | boost-skills |
github-issues | 在 GitHub Issues 中进行问题追踪 | boost-skills |
hosting | 项目部署到托管平台(平台特定标签的父级) | boost-skills |
jira | 在 Jira 中进行问题追踪 | boost-skills |
laravel | 项目是 Laravel 应用或包 | boost-skills |
laravel-cloud | 项目部署在 Laravel Cloud 上 | boost-skills |
php | 项目是 PHP 包或应用 | boost-skills |
release-automation | 项目使用自动化发布流程 | boost-skills |