Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计通过

laravel-packagesLaravel packages 搜索

Agent Skill

laravel-packages 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

210

周安装

9

GitHub Stars

4

下载量

73
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:laravel-packages(Laravel packages 搜索)
来源仓库:https://github.com/anilcancakir/my-claude-code
仓库路径:skills/laravel-packages
安装命令:
npx skills add https://github.com/anilcancakir/my-claude-code --skill laravel-packages
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/anilcancakir/my-claude-code --skill laravel-packages

简介

用于查找和检索 Laravel 包的相关信息,支持 Filament v4 和 Debugbar 模式。

  • 适合在需要快速定位候选包或优化现有代码时使用。
  • 通过 GitHub 安装并使用 npx 命令添加,需结合项目关键词使用。
  • 涉及页面改动时应配合本地预览和构建检查,避免生成孤立代码片段。
  • 建议确认权限范围和维护状态,确保不会触发不必要的联网或文件操作。

SKILL.md

Laravel Packages

Filament v4, Debugbar, and SEOTools patterns for Laravel 12+.

Filament v4 Admin Panel

v4 Changes from v3: - Form renamed to Schema in method signatures - TailwindCSS v4 required for custom themes - TipTap editor replaces Trix (RichEditor) - New fields: Slider, CodeEditor, TableRepeater - Performance: 2-3x faster table rendering - Automatic tenant scoping for multi-tenancy

Installation

composer require filament/filament:"^4.0"
php artisan filament:install --panels

Creating Resources

php artisan make:filament-resource Order --generate

Resource Example (v4 Syntax)

<?php

namespace App\Filament\Resources;

use App\Filament\Resources\OrderResource\Pages;
use App\Models\Order;
use Filament\Forms;
use Filament\Schemas\Schema;  // v4: Schema instead of Form
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;

class OrderResource extends Resource
{
    protected static ?string $model = Order::class;

    protected static ?string $navigationIcon = 'heroicon-o-shopping-cart';

    protected static ?string $navigationGroup = 'Shop';

    /**
     * v4: Method signature uses Schema instead of Form
     */
    public static function form(Schema $schema): Schema
    {
        return $schema
            ->components([
                Forms\Components\Section::make('Order Details')
                    ->schema([
                        Forms\Components\Select::make('user_id')
                            ->relationship('user', 'name')
                            ->searchable()
                            ->required(),

                        Forms\Components\Select::make('status')
                            ->options([
                                'pending' => 'Pending',
                                'processing' => 'Processing',
                                'completed' => 'Completed',
                                'cancelled' => 'Cancelled',
                            ])
                            ->required(),

                        Forms\Components\TextInput::make('total')
                            ->numeric()
                            ->prefix('£')
                            ->required(),
                    ])
                    ->columns(3),

                Forms\Components\Repeater::make('items')
                    ->relationship()
                    ->schema([
                        Forms\Components\Select::make('product_id')
                            ->relationship('product', 'name')
                            ->required(),
                        Forms\Components\TextInput::make('quantity')
                            ->numeric()
                            ->required(),
                    ])
                    ->columns(2),
            ]);
    }

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                Tables\Columns\TextColumn::make('id')
                    ->sortable(),

                Tables\Columns\TextColumn::make('user.name')
                    ->searchable(),

                Tables\Columns\TextColumn::make('status')
                    ->badge()
                    ->color(fn (string $state): string => match ($state) {
                        'pending' => 'warning',
                        'processing' => 'primary',
                        'completed' => 'success',
                        'cancelled' => 'danger',
                        default => 'gray',
                    }),

                Tables\Columns\TextColumn::make('total')
                    ->money('GBP')
                    ->sortable(),

                Tables\Columns\TextColumn::make('created_at')
                    ->dateTime()
                    ->sortable(),
            ])
            ->filters([
                Tables\Filters\SelectFilter::make('status')
                    ->options([
                        'pending' => 'Pending',
                        'completed' => 'Completed',
                    ]),
            ])
            ->actions([
                Tables\Actions\ViewAction::make(),
                Tables\Actions\EditAction::make(),
            ])
            ->bulkActions([
                Tables\Actions\BulkActionGroup::make([
                    Tables\Actions\DeleteBulkAction::make(),
                ]),
            ]);
    }

    public static function getPages(): array
    {
        return [
            'index' => Pages\ListOrders::route('/'),
            'create' => Pages\CreateOrder::route('/create'),
            'edit' => Pages\EditOrder::route('/{record}/edit'),
        ];
    }
}

New v4 Form Fields

use Filament\Forms\Components;

// Slider (NEW in v4)
Components\Slider::make('rating')
    ->min(1)
    ->max(5)
    ->step(1);

// Code Editor (NEW in v4)
Components\CodeEditor::make('code')
    ->language('php');

// Table Repeater (NEW in v4)
Components\TableRepeater::make('items')
    ->schema([
        Components\TextInput::make('name'),
        Components\TextInput::make('quantity')->numeric(),
    ]);

// RichEditor (v4 uses TipTap instead of Trix)
Components\RichEditor::make('content')
    ->toolbarButtons(['bold', 'italic', 'link', 'bulletList'])
    ->fileAttachmentsDisk('public');

// Image with aspect ratio (v4)
Components\FileUpload::make('avatar')
    ->image()
    ->imageEditor()
    ->imageEditorAspectRatios(['1:1', '4:3', '16:9']);

v4 JavaScript Optimizations

// Reduce network requests with JS methods
Forms\Components\TextInput::make('name')
    ->live()
    ->afterStateUpdatedJs('
        $set("slug", $state.toLowerCase().replace(/ /g, "-"));
    ');

// Hide/show without server round-trip
Forms\Components\Toggle::make('has_discount')
    ->live();

Forms\Components\TextInput::make('discount')
    ->hiddenJs('!$get("has_discount")');

Widgets

<?php

namespace App\Filament\Widgets;

use App\Models\Order;
use Filament\Widgets\StatsOverviewWidget as BaseWidget;
use Filament\Widgets\StatsOverviewWidget\Stat;

class OrderStats extends BaseWidget
{
    protected function getStats(): array
    {
        return [
            Stat::make('Total Orders', Order::count())
                ->description('All time')
                ->descriptionIcon('heroicon-m-arrow-trending-up')
                ->color('success'),

            Stat::make('Pending Orders', Order::where('status', 'pending')->count())
                ->description('Requires attention')
                ->color('warning'),

            Stat::make('Revenue', '£' . number_format(Order::sum('total'), 2))
                ->description('This month')
                ->color('primary'),
        ];
    }
}

Laravel Debugbar

Installation

composer require barryvdh/laravel-debugbar --dev

Configuration

// config/debugbar.php
'enabled' => env('DEBUGBAR_ENABLED', null),  // Auto-detect based on APP_DEBUG
'collectors' => [
    'queries' => true,
    'models' => true,
    'views' => true,
    'route' => true,
    'memory' => true,
    'time' => true,
],

Usage in Code

use Barryvdh\Debugbar\Facades\Debugbar;

// Manual messages
Debugbar::info('Info message');
Debugbar::warning('Warning');
Debugbar::error('Error');

// Measure time
Debugbar::startMeasure('render', 'Time for rendering');
// ... code ...
Debugbar::stopMeasure('render');

// Add custom data
Debugbar::addMessage(['user' => $user->toArray()], 'custom');

N+1 Query Detection

Debugbar automatically shows query counts. Look for:

  • Duplicate queries (same query repeated)
  • High query counts on single page load
  • Missing eager loading

SEOTools (artesaos/seotools)

Installation

composer require artesaos/seotools
php artisan vendor:publish --provider="Artesaos\SEOTools\Providers\SEOToolsServiceProvider"

Basic Usage

<?php

namespace App\Http\Controllers;

use Artesaos\SEOTools\Facades\SEOMeta;
use Artesaos\SEOTools\Facades\OpenGraph;
use Artesaos\SEOTools\Facades\TwitterCard;
use Artesaos\SEOTools\Facades\SEOTools;

class ProductController extends Controller
{
    public function show(Product $product)
    {
        // All-in-one
        SEOTools::setTitle($product->name);
        SEOTools::setDescription($product->description);
        SEOTools::opengraph()->setUrl(url()->current());
        SEOTools::opengraph()->addProperty('type', 'product');
        SEOTools::twitter()->setSite('@mysite');
        SEOTools::jsonLd()->addImage($product->image_url);

        return view('products.show', compact('product'));
    }
}

In Blade Layout

<head>
    {!! SEO::generate() !!}
</head>

Configuration

// config/seotools.php
'meta' => [
    'defaults' => [
        'title' => 'My Site',
        'titleSeparator' => ' | ',
        'description' => 'Default description',
        'robots' => 'index,follow',
    ],
],
'opengraph' => [
    'defaults' => [
        'title' => 'My Site',
        'type' => 'website',
        'site_name' => 'My Site',
    ],
],

Structured Data (JSON-LD)

use Artesaos\SEOTools\Facades\JsonLd;

JsonLd::setType('Product');
JsonLd::setTitle($product->name);
JsonLd::setDescription($product->description);
JsonLd::addValue('sku', $product->sku);
JsonLd::addValue('offers', [
    '@type' => 'Offer',
    'price' => $product->price,
    'priceCurrency' => 'GBP',
]);

References

TopicReferenceWhen to Load
Filament formsreferences/filament.mdAdvanced forms, actions
SEOTools patternsreferences/seotools.mdSitemap, canonical, i18n

Quick Commands

# Filament
php artisan make:filament-resource User --generate
php artisan make:filament-widget StatsOverview
php artisan make:filament-page Settings

# Clear caches after changes
php artisan filament:cache-components
php artisan filament:clear-cached-components

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

kilo

61.32%
按下载量换算45

OpenCode

30.14%
按下载量换算22

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills