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-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-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.
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.
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.
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.
configuring-serverless-clients
by djankies
Configure PrismaClient for serverless (Next.js, Lambda, Vercel) with connection_limit=1 and global singleton pattern.
ensuring-query-type-safety
by djankies
Use Prisma's generated types, Prisma.validator, and GetPayload for type-safe queries.
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.
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.
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.
handling-transaction-errors
by djankies
Handle transaction errors properly with P-code checking and timeout configuration. Use when implementing transaction error recovery.
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].
conditional-domain-specific-template
by djankies
[REPLACE] Apply domain-specific logic based on detected context. 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].
template-based-generation-template
by djankies
[REPLACE] Generate structured content from templates. Use when [REPLACE with specific triggers].
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-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.
configuring-image-optimization
by djankies
Teach image optimization configuration changes in Next.js 16. Use when configuring images, troubleshooting image loading, or migrating image settings.
using-cache-directive
by djankies
Teach Cache Components model with 'use cache' directive in Next.js 16. Use when implementing caching, optimizing performance, working with dynamic data, or migrating from Next.js 15 caching patterns.
reviewing-nextjs-16-patterns
by djankies
Review code for Next.js 16 compliance - security patterns, caching, breaking changes. Use when reviewing Next.js code, preparing for migration, or auditing for violations.
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.
migrating-middleware-to-proxy
by djankies
Teach middleware.ts to proxy.ts migration in Next.js 16. Use when migrating middleware, encountering middleware errors, or implementing request proxying.
optimizing-with-react-compiler
by djankies
Teaches what React Compiler handles automatically in React 19, reducing need for manual memoization. Use when optimizing performance or deciding when to use useMemo/useCallback.
reviewing-performance-patterns
by djankies
Review React 19 performance patterns including memoization, re-renders, and bundle size. Use when reviewing performance or optimization.
composing-components
by djankies
Teaches component composition patterns in React 19 including children prop, compound components, and render props. Use when designing component APIs, creating reusable components, or avoiding prop drilling.
managing-local-vs-global-state
by djankies
Teaches when to use local state vs global state (Context) in React 19. Use when deciding state management strategy, avoiding prop drilling, or architecting component state.
following-the-rules-of-hooks
by djankies
Fix React Rules of Hooks violations - conditional calls, hooks in loops/callbacks/classes
managing-server-vs-client-boundaries
by djankies
Teaches when to use Server Components vs Client Components in React 19, including the 'use client' directive and boundary patterns. Use when architecting components, choosing component types, or working with Server Components.
supporting-custom-elements
by djankies
Teaches Web Components (Custom Elements) support in React 19, including property vs attribute handling and custom events. Use when integrating Web Components or working with custom HTML elements.
implementing-query-pagination
by djankies
Implement cursor-based or offset pagination for Prisma queries. Use for datasets 100k+, APIs with page navigation, or infinite scroll/pagination mentions.
optimizing-query-performance
by djankies
Optimize queries with indexes, batching, and efficient Prisma operations for production performance.
optimizing-query-selection
by djankies
Optimize queries by selecting only required fields and avoiding N+1 problems. Use when writing queries with relations or large result sets.
deploying-production-migrations
by djankies
Deploy migrations to production safely using migrate deploy in CI/CD. Use when setting up production deployment pipelines.
managing-dev-migrations
by djankies
Use migrate dev for versioned migrations; db push for rapid prototyping. Use when developing schema changes locally.
configuring-connection-pools
by djankies
Configure connection pool sizing for optimal performance. Use when configuring DATABASE_URL or deploying to production.
configuring-transaction-isolation
by djankies
Configure transaction isolation levels to prevent race conditions and handle concurrent access. Use when dealing with concurrent updates, financial operations, inventory management, or when users mention race conditions, dirty reads, phantom reads, or concurrent modifications.
reviewing-prisma-patterns
by djankies
Review Prisma code for common violations, security issues, and performance anti-patterns found in AI coding agent stress testing. Use when reviewing Prisma Client usage, database operations, or performing code reviews on projects using Prisma ORM.
upgrading-to-prisma-6
by djankies
Migrate from Prisma 5 to Prisma 6 handling breaking changes including Buffer to Uint8Array, implicit m-n PK changes, NotFoundError to P2025, and reserved keywords. Use when upgrading Prisma, encountering Prisma 6 type errors, or migrating legacy code.
using-interactive-transactions
by djankies
Use interactive transactions with $transaction callback for atomic operations and automatic rollback. Use when operations must succeed or fail together.
migrating-from-forwardref
by djankies
Teaches migration from forwardRef to ref-as-prop pattern in React 19. Use when seeing forwardRef usage, upgrading React components, or when refs are mentioned. forwardRef is deprecated in React 19.