Laravel Package Search - Skill Specification
Overview
Skill Name: Laravel Package Search
Type: Development Assistant Skill
Target: Laravel developers seeking efficient plugin selection
Engine: OpenClaw Agent
1. Core Objectives
- - Real-time Packagist API — data never stale, always fresh
- Local cache (1 hour TTL) — fast repeat queries
- Score packages by: stars × downloads × activity × Laravel compatibility
- Support 22 scene categories including AI/LLM, rate-limit, Stripe, SMS
- Cross-reference to laravel-docs-reader for official Laravel documentation
- Provide install commands + config snippets
2. Scene Categories
Supported Scenes
| Scene | Chinese | Description |
|---|
| INLINECODE0 | 认证/权限 | Authentication, authorization, roles, permissions |
| INLINECODE1 |
支付/订单 | Payment gateways, Stripe, Alipay, WeChat Pay |
|
multitenancy | 多租户 | Multi-tenant SaaS applications |
|
excel | Excel/导入导出 | Spreadsheet import/export, data processing |
|
media | 媒体/文件 | File uploads, media management, CDN |
|
wechat | 微信 | WeChat SDK, Mini Program |
|
queue | 队列/任务 | Job queues, Laravel Horizon |
|
admin | 后台管理 | Admin panels, Filament |
|
search | 搜索/全文检索 | Full-text search, Algolia, Scout |
|
logging | 日志/审计 | Logging, audit trails |
|
api | API/SDK | REST API, GraphQL, Sanctum |
|
testing | 测试 | Pest, PHPUnit |
|
cache | 缓存 | Redis, cache management |
|
security | 安全 | Security headers, CSRF |
|
devtools | 开发工具 | Debug, Telescope, Debugbar |
|
email | 邮件 | Mailgun, notifications |
|
storage | 存储 | S3, cloud storage |
|
ui | 前端/UI | Vue, React, Inertia, Breeze |
|
ai | AI/LLM集成 | OpenAI, LLM, chatbot |
|
ratelimit | 限流 | Rate limiting, throttle |
|
stripe | Stripe支付 | Stripe subscriptions & payments |
|
sms | 短信 | Twilio, SMS notifications |
3. Package Evaluation Criteria
Each package is scored in real-time via Packagist API (live data):
| Criterion | Weight | Source |
|---|
| GitHub Stars | 15% | Packagist API (github_stars field) |
| Packagist Downloads |
20% | Packagist API (downloads.total) |
| Favorites | 10% | Packagist API (favers) |
| Maintenance Activity | 30% | Last commit time (≤30d=100, ≤1y=40, >2y=0) |
| Laravel Compatibility | 15% | composer.json require (10/11/12) |
| Description Quality | 10% | Non-empty description = 100 |
Real-time Scoring
CODEBLOCK0
Data fetched live from Packagist API. Cached for 1 hour in scripts/.cache.json.
4. Top 20 Laravel Packages
Run php search.php top 20 for live rankings
5. Smart Recommendation Logic
When a user describes their needs:
- 1. Parse Intent → Map to scene category
- Match Packages → Find packages in that scene
- Filter → Remove incompatible versions
- Sort → By recommendation score
- Output → Top 3 recommendations with reasoning
Output Template
CODEBLOCK1
6. Installation & Configuration
Each package entry includes:
CODEBLOCK2
CODEBLOCK3
CODEBLOCK4
7. Version Compatibility
| Laravel | Compatible Packages |
|---|
| Laravel 12 | Packages updated after 2024-Q4 |
| Laravel 11 |
Packages updated after 2023-Q2 |
| Laravel 10 | Packages updated after 2022-Q1 |
Always verify: composer show vendor/package --tree | grep laravel/framework
8. CLI Tool (scripts/search.php)
Real-time Packagist API with local caching. No static data.
Commands
CODEBLOCK5
| Command | Args | Description |
|---|
| INLINECODE25 | INLINECODE26 | Search by scene (auth, payment, ai...) |
| INLINECODE27 |
<pkg1> <pkg2> | Compare two packages |
|
recommend |
<requirement> | Natural language recommendation |
|
top |
[limit] | Show Top N packages (default 10) |
|
scenes | — | List all 22 scene categories |
Examples
CODEBLOCK6
Caching
CODEBLOCK7
Integration with OpenClaw Agent
When the agent receives a package query, it calls php search.php and formats the output.
If the user asks about Laravel official docs, it cross-references laravel-docs-reader skill.
8b. laravel-docs-reader Cross-Reference
This skill automatically cross-references Laravel official documentation for known packages:
CODEBLOCK8
For packages not in the map, the output includes:
CODEBLOCK9
Workflow
- 1. User asks: "recommend a Laravel auth package"
- This skill returns ranked packages with install commands
- Output includes: INLINECODE36
- User can then ask: "search laravel-docs-reader for sanctum setup"
- laravel-docs-reader handles the official documentation query
Activation Keywords
- - "帮我找个 Laravel 插件"
- "Laravel package for XXX"
- "推荐 Laravel 认证插件"
- "Laravel auth package recommendation"
- "帮我评估这个包"
- "compare Laravel packages"
Workflow
- 1. User describes requirement (Chinese or English)
- Skill identifies scene category
- Skill searches Top20 + scene database
- Skill returns ranked recommendations
- User selects → Skill provides install + config
10. Data Sources
- - Packagist API: INLINECODE37
- GitHub API: INLINECODE38
- GitHub Trending: Community activity
- Official Laravel Packages: laravel.com/packages
11. File Structure
CODEBLOCK10
12. Publishing to Skills Market
CODEBLOCK11
Or submit to ClawHub website for review.
13. Maintenance
- - Update Top 20 quarterly
- Add new scenes as Laravel ecosystem evolves
- Track deprecated packages and mark them
- Update compatibility for new Laravel releases
Laravel Package Search - 技能规范
概述
技能名称: Laravel Package Search
类型: 开发助手技能
目标用户: 寻求高效插件选择的 Laravel 开发者
引擎: OpenClaw Agent
1. 核心目标
- - 实时 Packagist API — 数据永不陈旧,始终新鲜
- 本地缓存(1小时 TTL)— 快速重复查询
- 按以下维度评分:星标数 × 下载量 × 活跃度 × Laravel 兼容性
- 支持 22 个场景分类,包括 AI/LLM、限流、Stripe、短信
- 交叉引用 laravel-docs-reader 以获取官方 Laravel 文档
- 提供安装命令 + 配置片段
2. 场景分类
支持的场景
| 场景 | 中文 | 描述 |
|---|
| auth | 认证/权限 | 身份验证、授权、角色、权限 |
| payment |
支付/订单 | 支付网关、Stripe、支付宝、微信支付 |
| multitenancy | 多租户 | 多租户 SaaS 应用 |
| excel | Excel/导入导出 | 电子表格导入/导出、数据处理 |
| media | 媒体/文件 | 文件上传、媒体管理、CDN |
| wechat | 微信 | 微信 SDK、小程序 |
| queue | 队列/任务 | 任务队列、Laravel Horizon |
| admin | 后台管理 | 管理面板、Filament |
| search | 搜索/全文检索 | 全文搜索、Algolia、Scout |
| logging | 日志/审计 | 日志记录、审计追踪 |
| api | API/SDK | REST API、GraphQL、Sanctum |
| testing | 测试 | Pest、PHPUnit |
| cache | 缓存 | Redis、缓存管理 |
| security | 安全 | 安全头、CSRF |
| devtools | 开发工具 | 调试、Telescope、Debugbar |
| email | 邮件 | Mailgun、通知 |
| storage | 存储 | S3、云存储 |
| ui | 前端/UI | Vue、React、Inertia、Breeze |
| ai | AI/LLM集成 | OpenAI、LLM、聊天机器人 |
| ratelimit | 限流 | 速率限制、节流 |
| stripe | Stripe支付 | Stripe 订阅与支付 |
| sms | 短信 | Twilio、短信通知 |
3. 包评估标准
每个包通过 Packagist API 实时评分(实时数据):
| 标准 | 权重 | 来源 |
|---|
| GitHub 星标数 | 15% | Packagist API (github_stars 字段) |
| Packagist 下载量 |
20% | Packagist API (downloads.total) |
| 收藏数 | 10% | Packagist API (favers) |
| 维护活跃度 | 30% | 最后提交时间 (≤30天=100, ≤1年=40, >2年=0) |
| Laravel 兼容性 | 15% | composer.json require (10/11/12) |
| 描述质量 | 10% | 非空描述 = 100 |
实时评分
分数 = min(100, 星标数/500)0.15 + min(100, log10(下载量)15)*0.20
+ min(100, 收藏数/200)0.10 + 活跃度分数0.30
+ (有Laravel版本 ? 100 : 0)0.15 + (有描述 ? 100 : 0)0.10
数据从 Packagist API 实时获取。在 scripts/.cache.json 中缓存 1 小时。
4. 前 20 名 Laravel 包
运行 php search.php top 20 获取实时排名
5. 智能推荐逻辑
当用户描述需求时:
- 1. 解析意图 → 映射到场景分类
- 匹配包 → 查找该场景下的包
- 过滤 → 移除不兼容版本
- 排序 → 按推荐分数排序
- 输出 → 前 3 个推荐及理由
输出模板
🎯 推荐用于:[用户场景]
首选: [包名]
- - 原因: [推荐理由]
- 备选: [备选包]
- 注意事项: [任何顾虑]
- 安装: composer require [包名]
- 兼容性: Laravel X / Y / Z
备选 1: [名称] ...
备选 2: [名称] ...
6. 安装与配置
每个包条目包含:
bash
composer require 供应商/包名
php
// config/services.php 或专用配置文件
包名 => [
key => env(包名_KEY),
],
php
// app/Providers/AppServiceProvider.php
public function register(): void
{
$this->mergeConfigFrom(...);
}
7. 版本兼容性
| Laravel | 兼容包 |
|---|
| Laravel 12 | 2024年第四季度后更新的包 |
| Laravel 11 |
2023年第二季度后更新的包 |
| Laravel 10 | 2022年第一季度后更新的包 |
始终验证:composer show 供应商/包名 --tree | grep laravel/framework
8. CLI 工具 (scripts/search.php)
实时 Packagist API,带本地缓存。无静态数据。
命令
bash
php search.php <命令> [参数]
| 命令 | 参数 | 描述 |
|---|
| search | <场景> [数量] | 按场景搜索(auth、payment、ai...) |
| compare |
<包1> <包2> | 比较两个包 |
| recommend | <需求> | 自然语言推荐 |
| top | [数量] | 显示前 N 个包(默认 10) |
| scenes | — | 列出所有 22 个场景分类 |
示例
bash
搜索 AI 包
php search.php search ai 3
比较两个认证包
php search.php compare spatie/laravel-permission laravel/sanctum
自然语言推荐
php search.php recommend 我需要 Laravel 11 的微信支付
php search.php recommend 我需要 Laravel 的 AI 聊天
php search.php recommend 我需要限流
前 20 个包
php search.php top 20
所有场景
php search.php scenes
缓存
缓存文件: scripts/.cache.json(自动创建)
TTL: 1 小时
与 OpenClaw Agent 集成
当代理收到包查询时,调用 php search.php 并格式化输出。
如果用户询问 Laravel 官方文档,则交叉引用 laravel-docs-reader 技能。
8b. laravel-docs-reader 交叉引用
此技能自动交叉引用已知包的 Laravel 官方文档:
包 → Laravel 官方文档
spatie/laravel-permission → 授权文档
laravel/scout → 数据库搜索文档
laravel/horizon → 队列文档
laravel/telescope → 调试文档
laravel/sanctum → SPA 认证文档
laravel/cashier → 计费文档
laravel/fortify → 认证文档
filament/filament → filamentphp.com/docs
maatwebsite/excel → docs.laravel-excel.com
对于不在映射中的包,输出包含:
📖 Laravel 文档:运行 laravel-docs-reader 搜索此包的官方文档
工作流程
- 1. 用户询问:推荐一个 Laravel 认证包
- 此技能返回带安装命令的排名包
- 输出包含:📖 Laravel 文档:运行 laravel-docs-reader 搜索官方文档
- 用户可继续询问:搜索 laravel-docs-reader 查找 sanctum 设置
- laravel-docs-reader 处理官方文档查询
激活关键词
- - 帮我找个 Laravel 插件
- Laravel package for XXX
- 推荐 Laravel 认证插件
- Laravel auth package recommendation
- 帮我评估这个包
- compare Laravel packages
工作流程
- 1. 用户描述需求(中文或英文)
- 技能识别场景分类
- 技能搜索