Set up lucide-react, choose the right import pattern, and route icon work to the right Lucide follow-up skill. Use when tasks mention lucide-react, Lucide installation, icon imports, SVG props, absoluteStrokeWidth, import aliases like HouseIcon or LucideHouse, or deciding whether to use direct imports, DynamicIcon, or…
Author and consume next-intl messages with ICU, rich text, typed arguments, validation, and Intl formatting across Next.js components. Use when tasks mention useTranslations, useFormatter, message catalogs, t.rich, t.markup, numbers, dates, lists, relative time, message validation, or extracted messages.
Set up and maintain next-intl locale routing and navigation in Next.js App Router. Use when tasks mention defineRouting, createMiddleware or proxy.ts, createNavigation, locale prefixes, localized pathnames, domains, locale switchers, alternate links, locale cookies, or CMS-driven localized URLs.
Set up next-intl tooling and durable localization workflows for Next.js. Use when tasks mention createNextIntlPlugin, TypeScript augmentation, createMessagesDeclaration, useExtracted, getExtracted, precompile, message loading strategies, missing-message handling, Crowdin, or next-intl migration and upgrade decisions.
Fetch data and control cache behavior in Next.js App Router. Use when tasks mention fetch in Server Components, request memoization, cache components, use cache, unstablecache, revalidatePath, revalidateTag, updateTag, generateStaticParams, route-segment cache behavior, or deciding whether a route should stay static…
Manage metadata and SEO surfaces in Next.js App Router. Use when tasks mention metadata, generateMetadata, generateViewport, ImageResponse, Open Graph or Twitter images, robots.txt, sitemap.xml, manifest.json, JSON-LD, canonical URLs, or deciding between metadata exports and metadata file conventions.
Set up Next.js App Router, choose the right starting path, and route work to the correct follow-up Next.js skill. Use when tasks mention create-next-app, App Router installation, project structure, layouts, pages, linking, navigation, Server vs Client Components, path aliases, src/app, App Router vs Pages Router…
Use when a Next.js App Router route is slow because of render cost, client bundle weight, hydration work, or weak server-client boundaries. Covers server-first rendering, client boundary minimization, route cost diagnosis, and avoiding fashionable but expensive patterns.
Choose rendering mode and request runtime boundaries in Next.js App Router. Use when tasks mention Server vs Client Components, static vs dynamic rendering, streaming, route segment config, runtime = 'edge', Node.js vs Edge decisions, or legacy middleware questions that now map to proxy.ts.
Build safe mutation and API boundaries in Next.js App Router. Use when tasks mention use server, Server Functions, Server Actions, Route Handlers, route.ts, form action, formAction, cookies, redirects after mutations, request and response handling, or deciding between UI-driven mutation flow and explicit HTTP…
Use when a Node.js API is slow because of per-request work, bad concurrency shape, I/O amplification, or weak throughput defaults. Covers p95-first analysis, request path simplification, batching, cancellation, and avoiding fake optimizations that hurt operability.
Use when building or debugging Node.js applications and libraries. Covers modules, async flows, streams, testing, shutdown, environment handling, logging, performance, and modern TypeScript execution choices in Node.js.
Use when someone claims a performance improvement or worries about a regression and needs proof. Covers before-versus-after comparison, stable verification scenarios, user-visible metrics, and guarding against “faster on my machine” conclusions.
Use when something is slow but the owning bottleneck is still unclear. Covers choosing the right performance symptom, assigning likely layer ownership, and routing optimization work before the model starts changing random code.
Use when someone wants to optimize code but the team has not profiled it yet. Covers baseline capture, profiling representative scenarios, finding dominant hotspots, and refusing performance folklore as a substitute for measurement.
Use when reusing authenticated state or modeling multiple user roles in Playwright without leaking state between tests. Covers storage state, setup projects, browser contexts, role-based projects, and the rule that isolation should stay intact even when login is optimized away.
Use when a Playwright test is flaky, failing only in CI, or needs investigation rather than another retry. Covers traces, inspector, UI mode, codegen cleanup, and turning intermittent failures into concrete synchronization or contract fixes.
Choose a stable Playwright test architecture before writing more tests. Use when tasks mention Playwright adoption, test folder layout, fixture boundaries, playwright.config.ts, projects, retries, parallelism, CI posture, browser coverage, or deciding which Playwright follow-up skill should own the work.
Use when writing or fixing Playwright tests that should stay stable against UI refactors. Covers locators, actionability, web-first assertions, accessible roles, text and label contracts, and the rule that tests should bind to user-visible semantics before DOM structure.
Use when Playwright tests need stable synchronization with backend behavior or deliberate network control. Covers request waiting, route interception, mocking boundaries, API request contexts, and the rule that tests should not over-mock what they actually need to verify.
Use when React performance problems come from rerender scope, bad state ownership, or cargo-cult memoization. Covers state placement, context blast radius, render cost boundaries, and choosing fixes that reduce work instead of hiding it.
Use when the real security question is whether the current actor is allowed to do the thing, not whether they are merely authenticated. Covers server-side authorization, ownership checks, tenant boundaries, role use, and avoiding trust in user-controlled identifiers.
Use when a web app risks exposing secrets or privileged behavior across the client-server boundary. Covers server-only logic, public env variables, scoped tokens, browser trust assumptions, and moving sensitive work out of the client.