Skip to content

Commit a8e088a

Browse files
authored
Merge pull request #923 from danielpetrica/main
feat(skills): add laravel-plugin-discovery skill with LaraPlugins MCP
2 parents b6e3434 + eac0228 commit a8e088a

2 files changed

Lines changed: 234 additions & 0 deletions

File tree

mcp-configs/mcp-servers.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@
133133
"args": ["-y", "token-optimizer-mcp"],
134134
"description": "Token optimization for 95%+ context reduction via content deduplication and compression"
135135
},
136+
"laraplugins": {
137+
"type": "http",
138+
"url": "https://laraplugins.io/mcp/plugins",
139+
"description": "Laravel plugin discovery — search packages by keyword, health score, Laravel/PHP version compatibility. Use with laravel-plugin-discovery skill."
140+
},
136141
"confluence": {
137142
"command": "npx",
138143
"args": ["-y", "confluence-mcp-server"],
Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
---
2+
name: laravel-plugin-discovery
3+
description: Discover and evaluate Laravel packages via LaraPlugins.io MCP. Use when the user wants to find plugins, check package health, or assess Laravel/PHP compatibility.
4+
origin: ECC
5+
---
6+
7+
# Laravel Plugin Discovery
8+
9+
Find, evaluate, and choose healthy Laravel packages using the LaraPlugins.io MCP server.
10+
11+
## When to Use
12+
13+
- User wants to find Laravel packages for a specific feature (e.g. "auth", "permissions", "admin panel")
14+
- User asks "what package should I use for..." or "is there a Laravel package for..."
15+
- User wants to check if a package is actively maintained
16+
- User needs to verify Laravel version compatibility
17+
- User wants to assess package health before adding to a project
18+
19+
## MCP Requirement
20+
21+
LaraPlugins MCP server must be configured. Add to your `~/.claude.json` mcpServers:
22+
23+
```json
24+
"laraplugins": {
25+
"type": "http",
26+
"url": "https://laraplugins.io/mcp/plugins"
27+
}
28+
```
29+
30+
No API key required — the server is free for the Laravel community.
31+
32+
## MCP Tools
33+
34+
The LaraPlugins MCP provides two primary tools:
35+
36+
### SearchPluginTool
37+
38+
Search packages by keyword, health score, vendor, and version compatibility.
39+
40+
**Parameters:**
41+
- `text_search` (string, optional): Keyword to search (e.g. "permission", "admin", "api")
42+
- `health_score` (string, optional): Filter by health band — `Healthy`, `Medium`, `Unhealthy`, or `Unrated`
43+
- `laravel_compatibility` (string, optional): Filter by Laravel version — `"5"`, `"6"`, `"7"`, `"8"`, `"9"`, `"10"`, `"11"`, `"12"`, `"13"`
44+
- `php_compatibility` (string, optional): Filter by PHP version — `"7.4"`, `"8.0"`, `"8.1"`, `"8.2"`, `"8.3"`, `"8.4"`, `"8.5"`
45+
- `vendor_filter` (string, optional): Filter by vendor name (e.g. "spatie", "laravel")
46+
- `page` (number, optional): Page number for pagination
47+
48+
### GetPluginDetailsTool
49+
50+
Fetch detailed metrics, readme content, and version history for a specific package.
51+
52+
**Parameters:**
53+
- `package` (string, required): Full Composer package name (e.g. "spatie/laravel-permission")
54+
- `include_versions` (boolean, optional): Include version history in response
55+
56+
---
57+
58+
## How It Works
59+
60+
### Finding Packages
61+
62+
When the user wants to discover packages for a feature:
63+
64+
1. Use `SearchPluginTool` with relevant keywords
65+
2. Apply filters for health score, Laravel version, or PHP version
66+
3. Review the results with package names, descriptions, and health indicators
67+
68+
### Evaluating Packages
69+
70+
When the user wants to assess a specific package:
71+
72+
1. Use `GetPluginDetailsTool` with the package name
73+
2. Review health score, last updated date, Laravel version support
74+
3. Check vendor reputation and risk indicators
75+
76+
### Checking Compatibility
77+
78+
When the user needs Laravel or PHP version compatibility:
79+
80+
1. Search with `laravel_compatibility` filter set to their version
81+
2. Or get details on a specific package to see its supported versions
82+
83+
---
84+
85+
## Examples
86+
87+
### Example: Find Authentication Packages
88+
89+
```
90+
SearchPluginTool({
91+
text_search: "authentication",
92+
health_score: "Healthy"
93+
})
94+
```
95+
96+
Returns packages matching "authentication" with healthy status:
97+
- spatie/laravel-permission
98+
- laravel/breeze
99+
- laravel/passport
100+
- etc.
101+
102+
### Example: Find Laravel 12 Compatible Packages
103+
104+
```
105+
SearchPluginTool({
106+
text_search: "admin panel",
107+
laravel_compatibility: "12"
108+
})
109+
```
110+
111+
Returns packages compatible with Laravel 12.
112+
113+
### Example: Get Package Details
114+
115+
```
116+
GetPluginDetailsTool({
117+
package: "spatie/laravel-permission",
118+
include_versions: true
119+
})
120+
```
121+
122+
Returns:
123+
- Health score and last activity
124+
- Laravel/PHP version support
125+
- Vendor reputation (risk score)
126+
- Version history
127+
- Brief description
128+
129+
### Example: Find Packages by Vendor
130+
131+
```
132+
SearchPluginTool({
133+
vendor_filter: "spatie",
134+
health_score: "Healthy"
135+
})
136+
```
137+
138+
Returns all healthy packages from vendor "spatie".
139+
140+
---
141+
142+
## Filtering Best Practices
143+
144+
### By Health Score
145+
146+
| Health Band | Meaning |
147+
|-------------|---------|
148+
| `Healthy` | Active maintenance, recent updates |
149+
| `Medium` | Occasional updates, may need attention |
150+
| `Unhealthy` | Abandoned or infrequently maintained |
151+
| `Unrated` | Not yet assessed |
152+
153+
**Recommendation**: Prefer `Healthy` packages for production applications.
154+
155+
### By Laravel Version
156+
157+
| Version | Notes |
158+
|---------|-------|
159+
| `13` | Latest Laravel |
160+
| `12` | Current stable |
161+
| `11` | Still widely used |
162+
| `10` | Legacy but common |
163+
| `5`-`9` | Deprecated |
164+
165+
**Recommendation**: Match the target project's Laravel version.
166+
167+
### Combining Filters
168+
169+
```typescript
170+
// Find healthy, Laravel 12 compatible packages for permissions
171+
SearchPluginTool({
172+
text_search: "permission",
173+
health_score: "Healthy",
174+
laravel_compatibility: "12"
175+
})
176+
```
177+
178+
---
179+
180+
## Response Interpretation
181+
182+
### Search Results
183+
184+
Each result includes:
185+
- Package name (e.g. `spatie/laravel-permission`)
186+
- Brief description
187+
- Health status indicator
188+
- Laravel version support badges
189+
190+
### Package Details
191+
192+
The detailed response includes:
193+
- **Health Score**: Numeric or band indicator
194+
- **Last Activity**: When the package was last updated
195+
- **Laravel Support**: Version compatibility matrix
196+
- **PHP Support**: PHP version compatibility
197+
- **Risk Score**: Vendor trust indicators
198+
- **Version History**: Recent release timeline
199+
200+
---
201+
202+
## Common Use Cases
203+
204+
| Scenario | Recommended Approach |
205+
|----------|---------------------|
206+
| "What package for auth?" | Search "auth" with healthy filter |
207+
| "Is spatie/package still maintained?" | Get details, check health score |
208+
| "Need Laravel 12 packages" | Search with laravel_compatibility: "12" |
209+
| "Find admin panel packages" | Search "admin panel", review results |
210+
| "Check vendor reputation" | Search by vendor, check details |
211+
212+
---
213+
214+
## Best Practices
215+
216+
1. **Always filter by health** — Use `health_score: "Healthy"` for production projects
217+
2. **Match Laravel version** — Always check `laravel_compatibility` matches the target project
218+
3. **Check vendor reputation** — Prefer packages from known vendors (spatie, laravel, etc.)
219+
4. **Review before recommending** — Use GetPluginDetailsTool for a comprehensive assessment
220+
5. **No API key needed** — The MCP is free, no authentication required
221+
222+
---
223+
224+
## Related Skills
225+
226+
- `laravel-patterns` — Laravel architecture and patterns
227+
- `laravel-tdd` — Test-driven development for Laravel
228+
- `laravel-security` — Laravel security best practices
229+
- `documentation-lookup` — General library documentation lookup (Context7)

0 commit comments

Comments
 (0)