How to write and send transactional emails (welcome, first-deploy, notifications) from Cloudflare Workers. Covers the preferred personal writing style (no headings, Gmail-default look, dark mode), building HTML with plain template strings, the send_email wrangler binding, previewing in light/dark mode with Playwriter, and test-sending real emails via a temp worker without deploying. ALWAYS load this skill when adding, editing, or testing transactional emails in a project.
Authentication and authorization with better-auth in Spiceflow and TypeScript apps. Covers server config with Drizzle adapter (Postgres and SQLite), Spiceflow middleware for forwarding auth requests, client setup, session middleware, social and email/password auth, server-side session checks, and React client hooks (useSession, signIn, signOut, signUp). Also covers device authorization (CLI device flow), bearer token auth, and server actions with auth. ALWAYS load this skill when a project uses better-auth.
Cloudflare Workers and Durable Objects conventions for TypeScript projects. Covers wrangler.jsonc configuration, type-safe env via `wrangler types` and `import { env } from 'cloudflare:workers'`, secrets.required for typed secrets, custom_domain for routing, preview/production environments, deploy scripts, Durable Objects with SQLite, and Spiceflow as the web framework with Vite. ALWAYS load this skill when a project uses wrangler, Cloudflare Workers, Durable Objects, or deploys to Cloudflare. Load it before writing any wrangler config, worker code, or deploy scripts.
Drizzle ORM conventions and best practices for TypeScript projects. Covers namespace imports, Prisma-like query API, object-style where filters, schema design (ULIDs, cascade deletes, indexes, enums over bools), Zod schema generation, type inference, transactions, migrations, and driver setup for Cloudflare Durable Objects (via sqlite-proxy), libSQL/Turso, Postgres via Hyperdrive, and Cloudflare D1. ALWAYS load this skill when a repo uses drizzle-orm.
Identify songs from audio files using ShazamIO. Use when the user asks to recognize a song, identify music from an audio file, find what song is playing, or Shazam an audio clip.
Stripe billing patterns for spiceflow + Drizzle apps. Covers creating products and prices via the Stripe CLI with stable lookup keys, multi-currency USD+EUR pricing, monthly/yearly subscriptions, type-safe Checkout and Billing Portal integration in spiceflow routes, webhook handling, and the rules for preventing double customers and double subscriptions in the database. Load this skill whenever adding, modifying, or debugging any Stripe code (prices, checkout sessions, portal sessions, webhooks, subscription logic).
Stripe dispute and chargeback evidence workflow. Covers listing open disputes via CLI, collecting evidence from databases and APIs, generating evidence PDFs with react-pdf, capturing screenshots with Playwriter, rendering email images, and submitting evidence via Stripe CLI. Includes best practices for winning disputes on SaaS and digital products, Visa CE 3.0 prior undisputed transactions, per-reason-code evidence strategies, and file formatting rules. Load this skill when handling Stripe disputes, chargebacks, or generating evidence documents.
Generate professional PDF reports using @react-pdf/renderer in Node.js scripts. Produces clean, document-style output similar to academic papers or business reports. Covers headings, paragraphs, lists, images, page numbers, and the Node API (renderToFile, renderToBuffer). Use this skill when the user asks to generate, create, or build PDF reports from TypeScript/Node scripts.