djankies
@djankies
Public Skills
implementing-query-caching
by djankies
Implement query result caching with Redis and proper invalidation strategies for Prisma 6. Use when optimizing frequently accessed data, improving read-heavy application performance, or reducing database load through caching.
managing-client-lifecycle
by djankies
Manage PrismaClient lifecycle with graceful shutdown, proper disconnect timing, and logging configuration. Use when setting up application shutdown handlers, configuring logging for development or production, or implementing proper connection cleanup in Node.js servers, serverless functions, or test suites.
migrating-async-request-apis
by djankies
Teach async request APIs in Next.js 16 - params, searchParams, cookies(), headers(), draftMode() are now async. Use when migrating from Next.js 15, fixing type errors, or working with request data.
securing-server-actions
by djankies
Teach server action authentication and security patterns in Next.js 16. Use when implementing server actions, form handlers, or mutations that need authentication.
securing-data-access-layer
by djankies
Teach Data Access Layer pattern to prevent CVE-2025-29927 middleware authentication bypass. Use when implementing authentication, authorization, protecting routes, or working with server actions that need auth.
implementing-optimistic-updates
by djankies
Teaches useOptimistic hook for immediate UI updates during async operations in React 19. Use when implementing optimistic UI patterns, instant feedback, or reducing perceived latency.
reviewing-server-actions
by djankies
Review Server Actions for security, validation, and best practices in React 19. Use when reviewing forms, mutations, or server-side logic.
implementing-server-actions
by djankies
Teaches Server Actions in React 19 for form handling and data mutations. Use when implementing forms, mutations, or server-side logic. Server Actions are async functions marked with 'use server'.
using-cache-lifecycle-apis
by djankies
Teach cache lifecycle APIs in Next.js 16 - cacheLife(), cacheTag(), updateTag(), refresh(), revalidateTag(). Use when managing cache invalidation, setting cache policies, or implementing cache tags.
preventing-error-exposure
by djankies
Prevent leaking database errors and P-codes to clients. Use when implementing API error handling or user-facing error messages.
validating-query-inputs
by djankies
Validate all external input with Zod before Prisma operations. Use when accepting user input, API requests, or form data.
creating-client-singletons
by djankies
Prevent multiple PrismaClient instances that exhaust connection pools causing P1017 errors. Use when creating PrismaClient, exporting database clients, setting up Prisma in new files, or encountering connection pool errors. Critical for serverless environments.
ensuring-query-type-safety
by djankies
Use Prisma's generated types, Prisma.validator, and GetPayload for type-safe queries.
handling-transaction-errors
by djankies
Handle transaction errors properly with P-code checking and timeout configuration. Use when implementing transaction error recovery.
preventing-sql-injection
by djankies
Prevent SQL injection by using $queryRaw tagged templates instead of $queryRawUnsafe. Use when writing raw SQL queries or dynamic queries.
configuring-serverless-clients
by djankies
Configure PrismaClient for serverless (Next.js, Lambda, Vercel) with connection_limit=1 and global singleton pattern.
plan-validate-execute-template
by djankies
[REPLACE] Plan changes, validate before execution, execute with verification. Use when [REPLACE with specific triggers].
reference-educational-template
by djankies
[REPLACE] Teach concepts and demonstrate patterns with examples. Use when [REPLACE with specific triggers].
search-analyze-report-template
by djankies
[REPLACE] Search for patterns, analyze findings, generate structured reports. Use when [REPLACE with specific triggers].
conditional-domain-specific-template
by djankies
[REPLACE] Apply domain-specific logic based on detected context. Use when [REPLACE with specific triggers].
template-based-generation-template
by djankies
[REPLACE] Generate structured content from templates. Use when [REPLACE with specific triggers].
implementing-code-splitting
by djankies
Teaches code splitting with lazy() and Suspense in React 19 for reducing initial bundle size. Use when implementing lazy loading, route-based splitting, or optimizing performance.
preloading-resources
by djankies
Teaches resource preloading APIs in React 19 including prefetchDNS, preconnect, preload, and preinit. Use when optimizing initial load or navigation performance.
implementing-parallel-routes
by djankies
Teach parallel routes and slot patterns in Next.js 16. Use when implementing parallel routes, working with @slot syntax, or encountering missing default.tsx errors.