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 creating or modifying Laravel middleware — request/response filtering, groups, priority, terminable middleware, or route-level assignment.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Use this skill when working with HTTP middleware:
app/Http/Middleware/ and bootstrap/app.php (or app/Http/Kernel.php) to identify naming conventions, aliases, and current group/global registration.php artisan make:middleware EnsureCustomerIsActive.handle(), return response or pass to next.php artisan make:middleware EnsureCustomerIsActive
declare(strict_types=1);
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class EnsureCustomerIsActive
{
public function handle(Request $request, Closure $next): Response
{
if (!$request->user()?->getCustomer()?->isActive()) {
abort(403, 'Customer account is inactive.');
}
return $next($request);
}
}
// Before middleware — runs BEFORE the request hits the controller
public function handle(Request $request, Closure $next): Response
{
// Check something before the request
return $next($request);
}
// After middleware — runs AFTER the controller returns a response
public function handle(Request $request, Closure $next): Response
{
$response = $next($request);
// Modify the response
$response->headers->set('X-Custom-Header', 'value');
return $response;
}
Runs after the response has been sent to the browser:
class LogRequestDuration
{
private float $startTime;
public function handle(Request $request, Closure $next): Response
{
$this->startTime = microtime(true);
return $next($request);
}
public function terminate(Request $request, Response $response): void
{
$duration = microtime(true) - $this->startTime;
Log::info('Request duration', [
'url' => $request->fullUrl(),
'duration_ms' => round($duration * 1000, 2),
]);
}
}
class CheckRole
{
public function handle(Request $request, Closure $next, string $role): Response
{
if (!$request->user()?->hasRole($role)) {
abort(403);
}
return $next($request);
}
}
// Usage in routes
Route::get('/admin', AdminController::class)->middleware('role:admin');
// Route-level
Route::get('/dashboard', DashboardController::class)
->middleware([EnsureCustomerIsActive::class]);
// Group-level
Route::middleware(['auth', EnsureCustomerIsActive::class])->group(function () {
// ...
});
// Global middleware (bootstrap/app.php)
->withMiddleware(function (Middleware $middleware) {
$middleware->append(LogRequestDuration::class);
$middleware->prepend(SetLocale::class);
})
// bootstrap/app.php — control execution order
->withMiddleware(function (Middleware $middleware) {
$middleware->priority([
AuthenticateMiddleware::class,
EnsureCustomerIsActive::class,
CheckRole::class,
]);
})
handle() if the next middleware might also modify it — use terminate() for cleanup.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.