Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when sending notifications via mail, Slack, database, or custom channels — with queuing, on-demand recipients, and notification preferences.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill when sending notifications to users or external systems:
For Mailables (complex email templates, attachments), see laravel-mail.
app/Notifications/ and the notifiable models for current channels, queue defaults, and per-user preferences.php artisan make:notification InvoiceCreated.via().toMail(), toArray(), etc. for each channel.ShouldQueue interface for non-blocking delivery.php artisan make:notification InvoiceCreated
class InvoiceCreated extends Notification implements ShouldQueue
{
use Queueable;
public function __construct(
private readonly Invoice $invoice,
) {}
/** @return array<int, string> */
public function via(object $notifiable): array
{
return ['mail', 'database'];
}
public function toMail(object $notifiable): MailMessage
{
return (new MailMessage())
->subject('New Invoice #' . $this->invoice->getNumber())
->greeting('Hello ' . $notifiable->getName())
->line('A new invoice has been created.')
->action('View Invoice', url('/invoices/' . $this->invoice->getId()))
->line('Thank you for your business.');
}
/** @return array<string, mixed> */
public function toArray(object $notifiable): array
{
return [
'invoice_id' => $this->invoice->getId(),
'amount' => $this->invoice->getAmount(),
];
}
}
// Via the Notifiable trait on the model
$user->notify(new InvoiceCreated($invoice));
// Via the Notification facade (multiple recipients)
Notification::send($users, new InvoiceCreated($invoice));
// On-demand (no user model needed)
Notification::route('mail', 'admin@example.com')
->route('slack', '#billing')
->notify(new InvoiceCreated($invoice));
Requires the notifications table migration:
php artisan notifications:table
php artisan migrate
// Read notifications
$user->notifications; // all
$user->unreadNotifications; // unread only
// Mark as read
$notification->markAsRead();
$user->unreadNotifications->markAsRead();
public function toSlack(object $notifiable): SlackMessage
{
return (new SlackMessage())
->text('Invoice #' . $this->invoice->getNumber() . ' created')
->headerBlock('New Invoice')
->sectionBlock(function (SectionBlock $block) {
$block->text('Amount: ' . $this->invoice->getAmount());
});
}
public function via(object $notifiable): array
{
// Respect user preferences
$channels = ['database'];
if ($notifiable->wantsEmailNotifications()) {
$channels[] = 'mail';
}
if ($notifiable->wantsSlackNotifications()) {
$channels[] = 'slack';
}
return $channels;
}
ShouldQueue to avoid blocking requests.toArray() — store IDs, not full objects.via() for channel logic — don't hardcode channels, respect user preferences.Notification::route() for non-user targets.toArray() for database notifications — it throws silently.via() method must return an array even for a single channel — return ['mail'], not return 'mail'.data — use IDs and fetch on read.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
日本語の概要は準備中です。原文の説明を表示しています。
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
日本語の概要は準備中です。原文の説明を表示しています。
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
日本語の概要は準備中です。原文の説明を表示しています。
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
日本語の概要は準備中です。原文の説明を表示しています。
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
日本語の概要は準備中です。原文の説明を表示しています。