65 published skills
- ▌ Adding Auth · spencerpaulyAdd authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, session management, and protected routes.
- ▌ Creating Pr · spencerpaulyCreate a clean, review-ready pull request with a good title, structured description, linked issues, and appropriate reviewers.
- ▌ Form Testing · spencerpaulyUse Cursor's browser to fill and submit every form in the app with valid and invalid data, verifying validation, error states, and success flows.
- ▌ SEO Auditing · spencerpaulyAudit technical SEO — meta tags, structured data, Open Graph, sitemaps, robots.txt, performance, and accessibility signals.
- ▌ Writing Copy · spencerpaulyWrite marketing copy for landing pages, product descriptions, CTAs, emails, and app UI text.
- ▌ Adding Docker · spencerpaulyDockerize an application with a production-ready Dockerfile, docker-compose setup, and .dockerignore.
- ▌ Adding Stripe · spencerpaulyIntegrate Stripe payments into a web application, including checkout sessions, webhooks, and customer portal.
- ▌ Setting Up CI · spencerpaulySet up a GitHub Actions CI/CD pipeline with linting, testing, type-checking, and deployment steps.
- ▌ Writing Tests · spencerpaulyAnalyze existing code and write comprehensive unit and integration tests for it. Detects the test framework, identifies untested code paths, and generates tests with proper mocking, edge cases, and assertions. Use when the user asks to add tests, improve coverage, or test a specific module.
- ▌ Babysitting Pr · spencerpaulyMonitor a pull request for CI failures, review comments, and merge conflicts — then fix them automatically. Use when a PR is open and you want the agent to keep it merge-ready.
- ▌ Reviewing Code · spencerpaulyPerform a thorough code review focused on correctness, maintainability, performance, and best practices.
- ▌ Using UI Stack · spencerpaulyEnforce a configuration-driven design system when generating UI. Ensures consistent spacing, colors, typography, dark mode, interactions, and accessibility across all AI-generated components.
- ▌ Adding API Docs · spencerpaulyGenerate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response types, and interactive docs UI.
- ▌ Database Design · spencerpaulyDesign database schemas — tables, relationships, indexes, constraints, and ORM setup. Covers relational design, normalization, and common patterns.
- ▌ Adding Analytics · spencerpaulyAdd PostHog analytics to a web application, including event tracking, page views, feature flags, and session replay.
- ▌ Adding E2e Tests · spencerpaulySet up Playwright end-to-end testing in a project, including test configuration, example tests, and CI integration.
- ▌ Exporting To Png · spencerpaulyExport code, terminal output, diagrams, or UI components to PNG images using headless browser rendering or CLI tools.
- ▌ API Smoke Testing · spencerpaulyStart the dev server, discover API routes from the codebase, hit every endpoint, and report which ones return errors.
- ▌ Auditing Security · spencerpaulyPerform a systematic security audit of a codebase, checking for OWASP Top 10 vulnerabilities, secrets exposure, and insecure patterns.
- ▌ Best Of N Solving · spencerpaulySolve a hard problem by trying multiple approaches in parallel using isolated git worktrees. Each attempt runs in its own branch, and the best solution is selected. Use for complex refactors, tricky bugs, or architectural decisions where multiple strategies could work.
- ▌ Dark Mode Testing · spencerpaulyToggle between light and dark mode in Cursor's browser, screenshot both states, and flag missing token mappings or contrast issues.
- ▌ Generating Images · spencerpauly bundleGenerate or edit images using the OpenAI Image API (gpt-image-2). Use when the user asks to generate, create, draw, render, illustrate, mock up, or edit an image, icon, logo, mockup, illustration, OG image, blog hero, marketing asset, or similar visual. Also use when the user supplies a reference image and asks to modify, restyle, or remix it. Triggers on: "generate an image", "create an image", "make a picture of", "edit this image", "restyle this", "make a mockup of", "draw a", "render a", "illustration of".
- ▌ Incident Response · spencerpaulyHandle production incidents — triage, mitigate, communicate, and write postmortems.
- ▌ Suggesting Skills · spencerpaulyWhen the user struggles with a task that a known skill could handle, suggest installing it.
- ▌ Visual QA Testing · spencerpaulyVisually QA a web application by launching it in Cursor's built-in browser, taking screenshots, checking console errors, and auditing network requests. Use after making UI changes to verify they look correct.
- ▌ Auto Type Checking · spencerpaulyRun TypeScript type checking after file edits and immediately flag type errors before moving on. Uses Cursor hooks for automatic enforcement.
- ▌ Parallel CI Triage · spencerpaulyWhen GitHub Actions fails, fetch failing job logs and assign each failing job to a separate subagent that fixes its slice of the problem in parallel. Use for multi-job CI failures where jobs are independent.
- ▌ Parallel Exploring · spencerpaulyExplore a large codebase in parallel by launching multiple explore subagents that each investigate a different area simultaneously. Use when onboarding onto a new project, understanding architecture, or investigating a cross-cutting concern.
- ▌ Prompt Engineering · spencerpaulyWrite effective prompts for LLMs — structure, few-shot examples, chain-of-thought, system prompts, and output parsing.
- ▌ Python Tdd With Uv · spencerpaulyTest-driven development in Python using uv as the package manager. Covers the red-green-refactor cycle, vertical slicing, and uv project setup.
- ▌ Responsive Testing · spencerpaulyOpen the app in Cursor's browser at multiple viewport sizes, screenshot each, and report any layout breakage.
- ▌ Switching Projects · spencerpaulySwitch the current Cursor workspace to a different project directory using the cursor-app-control MCP. Use when the user asks to switch projects, open another repo, jump to a different codebase, or move to a worktree.
- ▌ Codebase Onboarding · spencerpaulyLaunch multiple explore subagents in parallel to investigate architecture, data models, auth, APIs, and deployment. Synthesize into an onboarding document.
- ▌ Fixing Broken Links · spencerpaulyCrawl all links in a file or project, test each for a valid HTTP response, report broken ones, and fix or remove them.
- ▌ Grinding Until Pass · spencerpaulyKeep iterating on code changes until the tests pass, the build succeeds, or linting is clean. Runs in a tight loop of fix → run → check → repeat. Use when you want the agent to autonomously grind through test failures or build errors.
- ▌ Adding Feature Flags · spencerpaulyAdd feature flags to an application for gradual rollouts, A/B testing, and kill switches using PostHog, LaunchDarkly, or a simple local implementation.
- ▌ Auditing Performance · spencerpaulyAudit and optimize application performance, including bundle size, rendering, database queries, and Core Web Vitals.
- ▌ Kubernetes Deploying · spencerpaulyDeploy applications to Kubernetes — Deployments, Services, Ingress, ConfigMaps, Secrets, health checks, and scaling.
- ▌ Parallel Code Review · spencerpaulyRun four parallel read-only subagents that each review the same diff from a different lens — security, performance, correctness, and readability — then merge findings into one report. Use before merging large or risky PRs.
- ▌ Parallel Test Fixing · spencerpaulyWhen multiple tests fail, assign each failing test file to a separate subagent that fixes it independently in parallel.
- ▌ Setting Up Terraform · spencerpaulySet up Terraform infrastructure-as-code for cloud resources, including provider configuration, modules, state management, and CI integration.
- ▌ Systematic Debugging · spencerpaulyStructured debugging methodology — reproduce, isolate, hypothesize, verify. Covers git bisect, binary search, logging, and minimal reproduction.
- ▌ Tailing Build Output · spencerpaulyMonitor a build process (webpack, turbo, docker) for warnings and errors as they stream. Summarize issues and fix them before the build finishes.
- ▌ Updating NPM Package · spencerpaulySafely update an npm package by checking npmjs.com for the latest version, reading release notes, and handling minor vs major upgrades differently. For minor updates, just do it. For major updates, find the upgrade guide, validate breaking changes, and produce a detailed migration report.
- ▌ Verifying In Browser · spencerpaulyAfter making code changes, start the dev server, open the app in Cursor's built-in browser, and verify everything works — check rendering, console errors, and network health. Use proactively after any UI or API change.
- ▌ Adding Error Tracking · spencerpaulyAdd Sentry error tracking, performance monitoring, and source maps to a web application.
- ▌ Profiling Performance · spencerpaulyProfile a running web application's CPU performance using Cursor's built-in browser profiler. Captures call stacks, identifies slow functions, and suggests optimizations. Use when a page feels slow or janky.
- ▌ React Native Patterns · spencerpaulyBuild mobile apps with React Native and Expo — navigation, platform-specific code, performance, and native modules.
- ▌ Accessibility Auditing · spencerpaulyUse Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.
- ▌ Finding Dev Server Url · spencerpaulyScan running terminals for dev server URLs (localhost ports), report them, and optionally open the app in Cursor's built-in browser.
- ▌ Suggesting Cursor Hooks · spencerpaulyWhen the user keeps asking for the same check to run (lint, tests, type-check), suggest a Cursor hook to automate it.
- ▌ Suggesting Cursor Rules · spencerpaulyWhen the user repeats the same correction or convention multiple times, suggest a Cursor rule to encode it permanently.
- ▌ Writing Commit Messages · spencerpaulyWrite clear, conventional commit messages with proper type prefixes, scopes, and body content.
- ▌ Detecting Port Conflicts · spencerpaulyDetect EADDRINUSE and port conflicts, find what's using the port, and resolve it by killing the process or suggesting an alternative port.
- ▌ Network Request Auditing · spencerpaulyAfter navigating and interacting in Cursor's built-in browser, use browser_network_requests to audit every fetch/XHR for failures, slowness, duplicate calls, and suspicious payloads. Use for API-heavy pages and after backend or client networking changes.
- ▌ Saving Workspace Context · spencerpaulyAutomatically persist useful context — research, decisions, learnings, templates — to workspace files so knowledge survives across conversations.
- ▌ Screenshotting Changelog · spencerpaulyGenerate a visual changelog or PR description by taking before/after screenshots of UI changes using Cursor's built-in browser. Use when preparing a PR with visual changes.
- ▌ Converting CSS To Tailwind · spencerpaulyConvert plain CSS stylesheets to Tailwind CSS utility classes. Handles selectors, media queries, pseudo-classes, custom properties, and animations.
- ▌ Monitoring Terminal Errors · spencerpaulyWatch running terminal processes for crashes and stack traces. When an error appears, navigate to the failing file and line, diagnose, and fix it automatically.
- ▌ Comparing Branches Visually · spencerpaulyCheck out two branches in separate worktrees, start both dev servers on different ports, screenshot the same pages, and produce a visual diff.
- ▌ Architecture Decision Records · spencerpaulyDocument technical decisions as Architecture Decision Records (ADRs) with context, options considered, and rationale.
- ▌ Building Skills From Patterns · spencerpaulyWhen the same multi-step workflow repeats in Cursor (user corrections or agent redos), capture it as a new SKILL.md under .cursor/skills/ so future sessions load it automatically.
- ▌ Verifying Markdown Formatting · spencerpaulyVerify that a Markdown file has correct formatting — headings, lists, links, code blocks, spacing, and consistent style.
- ▌ Recording Browser Flow As Test · spencerpaulyExecute a user flow step-by-step in Cursor's built-in browser while documenting each action, then emit a Playwright test that replays the same flow using stable selectors derived from the accessibility tree.
- ▌ Converting CSS Modules To Tailwind · spencerpaulyMigrate CSS Modules (.module.css/.module.scss) to Tailwind utility classes. Handles styles object removal, className interpolation, composition, and global overrides.