πŸš€ 30 Technique-Based Blueprints β€” 2026 Edition

Vibe Coding Prompts
That Actually Ship.

⚑ Most Copied Prompt

Architecture Decision Prompt

You are a senior software architect. I'm building a [describe your app].
Expected users: [N]. Key features: [list]. Budget: [$/mo].
Compare: (a) Next.js + Supabase + Vercel, (b) Remix + PlanetScale + Fly.io,
(c) SvelteKit + Turso + Cloudflare.
For each option, list pros, cons, cost, and scalability ceiling.
Recommend one with explicit reasoning.

Uses Role Assignment + Chain-of-Thought. Works on any AI tool.

Your tool is only as good as the context you give it. These prompts are engineered by technique β€” not by tool β€” so you understand why they work and can adapt them to any situation.

CursorWindsurfLovableBoltv0Supabase

Prompt Anatomy

Every high-output prompt has the same 5 components. Miss one and the AI guesses.

[Role]Who the AI is
[Context]The codebase/situation
[Task]What to build
[Constraints]What NOT to do
[Output format]How to respond

Example: Full anatomy

[You are a senior security engineer] [reviewing a Next.js app with Supabase] [audit /api routes for auth bypass vulnerabilities] [do not suggest architectural rewrites] [output: list of findings with severity and fix for each]

The 5 Techniques

Master these and you can engineer any prompt from scratch.

🧱

Context Layering

Stack project context, file structure, and constraints so AI understands exactly where it's working

When to use

When starting a feature from scratch or working in a complex codebase

Structure

[Project context] + [Existing files/schema] + [What to build] + [Tech constraints]

7 prompts using this technique below ↓

πŸ“‹

Stepwise

Break the task into numbered steps. AI executes each one sequentially β€” no skipped logic

When to use

Multi-part features: auth flow, payment flow, onboarding sequences

Structure

[Overall goal] + [Step 1] + [Step 2] + [Step 3] + [Expected output per step]

7 prompts using this technique below ↓

🎭

Role Assignment

Tell AI who it is before it writes. Role shapes the vocabulary, priorities, and trade-offs it makes

When to use

Code review, architecture decisions, security audits

Structure

[You are a {expert role}] + [Context] + [Task] + [Output format]

5 prompts using this technique below ↓

βš“

Constraint Anchoring

Explicit DONT's stop AI hallucinating alternative solutions or breaking existing code

When to use

Refactors, performance fixes, any time AI might 'helpfully' add unwanted changes

Structure

[Task] + [CONSTRAINTS: what NOT to do] + [Target metric] + [Output format]

6 prompts using this technique below ↓

πŸ”—

Chain-of-Thought

Ask AI to reason through the problem before implementing. Catches logic errors before they reach code

When to use

Complex queries, architecture choices, anything with tricky edge cases

Structure

[Think through X] + [Consider: options A, B, C] + [Then implement the best one] + [Show reasoning]

5 prompts using this technique below ↓

🧱

Context Layering

Stack project context, file structure, and constraints so AI understands exactly where it's working

Bootstrap a Next.js SaaS project
CursorContext Layering
PROMPT
Create a new Next.js 14 App Router project with TypeScript, Tailwind CSS, Supabase Auth, and Stripe billing. Scaffold the folder structure: /app, /components, /lib, /hooks. Add a root layout with a Navbar and a placeholder dashboard page. Include a README with setup steps.
Design a Supabase schema for a SaaS
SupabaseContext Layering
PROMPT
Design a Supabase PostgreSQL schema for a multi-tenant SaaS. Tables needed: users (extends auth.users), organizations, memberships (user↔org with role), subscriptions, and usage_events. Include: primary keys (uuid), foreign keys with cascade, created_at/updated_at triggers, and indexes on common query patterns. Output as SQL.
Scaffold a SaaS landing page
LovableContext Layering
PROMPT
Build a dark-mode SaaS landing page. Sections: Hero (headline + CTA + waitlist form), Features (3-column grid with icons), Pricing (3 tiers: Free / Pro / Team), FAQ accordion, Footer with links. Use purple as the accent colour. Make it fully responsive. Connect the waitlist form to Supabase table 'waitlist'.
Add role-based access control middleware
CursorContext Layering
PROMPT
Add Next.js middleware to protect routes by role. Read the user's role from the Supabase JWT claim 'user_role'. Protect /admin/* for 'admin' role, /dashboard/* for any authenticated user. Redirect unauthorised users to /auth/login with a ?redirect param. Place the middleware in /middleware.ts.
Add a dark-mode UI component library
CursorContext Layering
PROMPT
Install and configure shadcn/ui in this Next.js project. Set the theme to dark mode by default. Add the following components: Button, Card, Input, Badge, Dialog, Dropdown Menu. Place them in /components/ui. Show me a demo page at /ui-preview that renders each component.
Build a kanban board UI
BoltContext Layering
PROMPT
Build a kanban board with 4 columns: Backlog, In Progress, Review, Done. Cards should be draggable between columns using @dnd-kit/core. Each card shows: title, assignee avatar, priority badge, due date. Add a 'New Card' button per column. Store state in Zustand. Dark theme.
Create a blog with MDX
BoltContext Layering
PROMPT
Set up a blog at /blog using MDX files in /content/blog. Each post has frontmatter: title, description, date, tags, ogImage. Build a /blog/[slug] page that renders MDX with syntax highlighting (rehype-pretty-code). Add a /blog index with cards sorted by date. Include reading time estimate.
πŸ“‹

Stepwise

Break the task into numbered steps. AI executes each one sequentially β€” no skipped logic

Add Stripe webhook handler
CursorStepwise
PROMPT
Create a Stripe webhook handler at /app/api/webhooks/stripe/route.ts. Handle events: checkout.session.completed, customer.subscription.updated, customer.subscription.deleted. Verify the webhook signature with STRIPE_WEBHOOK_SECRET. On checkout.completed, upsert user subscription in Supabase table 'subscriptions'.
Build a multi-step onboarding form
CursorStepwise
PROMPT
Build a 4-step onboarding form at /app/onboarding/page.tsx using React Hook Form and Zod. Steps: (1) profile name + avatar upload, (2) use-case selection (checkboxes), (3) plan selection, (4) confirmation. Show a progress bar. On submit, call the /api/onboarding server action and redirect to /dashboard.
Build a Stripe checkout flow
LovableStepwise
PROMPT
Integrate Stripe checkout into this app. Add a /pricing page with 3 plans. On 'Upgrade' click, call a Supabase edge function that creates a Stripe Checkout session and returns the URL. Redirect the user to Stripe. On success, handle the webhook to update 'subscriptions' table and redirect to /dashboard?upgrade=success.
Create a Supabase Edge Function for payments
SupabaseStepwise
PROMPT
Write a Supabase Edge Function at /functions/create-checkout that: (1) verifies the user JWT, (2) looks up their Stripe customer ID from 'profiles', (3) creates a Stripe Checkout session for the given price_id, (4) returns the session URL. Use Deno and the Stripe Deno SDK. Handle errors with proper HTTP status codes.
Plan a zero-downtime database migration
GeneralStepwise
PROMPT
Plan a zero-downtime migration for this database change: [describe change β€” e.g. rename column, add non-null column, split table]. Use the expand-contract pattern. Write the migration SQL, a backfill script, and the cleanup migration. Identify the deployment sequence and any app-code changes needed at each step.
Add social login (Google + GitHub)
BoltStepwise
PROMPT
Add Google and GitHub OAuth to this Supabase auth setup. Step 1: Add provider buttons on the login page with correct icons. Step 2: On redirect back, check if this is a new user β€” if so, redirect to /onboarding. Step 3: If returning user, go to /dashboard. Step 4: Handle the auth callback at /auth/callback.
Add OpenGraph metadata to all pages
CursorStepwise
PROMPT
Add OpenGraph and Twitter Card metadata to every page in /app. Use Next.js generateMetadata() for dynamic pages (pass title, description, image). For static pages use the metadata export. Default OG image: /public/og-default.png. Ensure each page has a unique title and description.
🎭

Role Assignment

Tell AI who it is before it writes. Role shapes the vocabulary, priorities, and trade-offs it makes

Code review a PR for security issues
GeneralRole Assignment
PROMPT
You are a senior security engineer reviewing a pull request. Review the following code for vulnerabilities: SQL injection, XSS, CSRF, insecure direct object references, missing auth checks, exposed secrets, and error messages that leak internals. For each issue found, explain the risk level (critical/high/medium/low) and provide a fixed version.
Debug a React hydration error
CursorRole Assignment
PROMPT
You are a Next.js expert. I'm getting a React hydration mismatch error: "Text content did not match." Act as if you're pair programming with me. Inspect my layout.tsx and any components that render conditional content. Find the cause β€” likely a date, random value, or browser-only API β€” and fix it without adding 'use client' to the root layout.
Write RLS policies for a shared resource
SupabaseRole Assignment
PROMPT
You are a Supabase security expert. Write Row Level Security policies for the 'documents' table. Rules: owners can do anything, org members with 'editor' role can update, org members with 'viewer' role can only select, public documents (is_public=true) are readable by anyone. Use auth.uid() and a helper function get_user_org_role(). Test with SQL examples that verify each rule.
Decide on the right architecture
GeneralRole Assignment
PROMPT
You are a senior software architect. I'm building a [describe your app]. Expected users: [N]. Key features: [list]. Budget: [$/mo]. Compare: (a) Next.js + Supabase + Vercel, (b) Remix + PlanetScale + Fly.io, (c) SvelteKit + Turso + Cloudflare. For each option, list pros, cons, cost, and scalability ceiling. Recommend one with explicit reasoning.
Profile and fix a slow React page
GeneralRole Assignment
PROMPT
You are a React performance specialist. This page has a slow initial render (>2s TTI). Audit and identify: unnecessary re-renders, missing useMemo/useCallback, waterfall data fetching, large unoptimised images, and missing code splitting. Fix each issue with code. Prioritise by impact. Target <500ms TTI.
βš“

Constraint Anchoring

Explicit DONT's stop AI hallucinating alternative solutions or breaking existing code

Add infinite scroll to a list page
WindsurfConstraint Anchoring
PROMPT
Add infinite scroll to /app/tools/page.tsx. Use the Intersection Observer API. Fetch the next page from /api/tools?page=N&limit=20. Show a loading spinner at the bottom. Stop fetching when there are no more results. CONSTRAINTS: client-side only β€” no external library. Do not break existing filter/search functionality. Keep TypeScript strict mode.
Add rate limiting to API routes
WindsurfConstraint Anchoring
PROMPT
Add rate limiting to all /app/api routes using Upstash Redis. Limit to 20 requests per minute per IP. Return 429 with Retry-After header when exceeded. CONSTRAINTS: create a reusable rateLimit() helper in /lib/rateLimit.ts. Do not change existing route logic β€” just wrap it. No new dependencies beyond @upstash/redis.
Refactor API routes to server actions
CursorConstraint Anchoring
PROMPT
Refactor all /app/api/* route handlers into Next.js Server Actions. Move them to /app/actions/. Replace every fetch('/api/...') call in client components with direct server action calls. CONSTRAINTS: keep error handling identical. Do not change the UI components. Do not add new dependencies. Show the diff clearly.
Optimise bundle size
CursorConstraint Anchoring
PROMPT
Analyse this Next.js project's bundle. Identify the top 5 largest dependencies. CONSTRAINTS: for each, suggest either (a) a lighter alternative, (b) dynamic import, or (c) tree-shaking fix. Implement only the changes that don't require API changes or UI rewrites. Show before/after sizes. Target 30% reduction.
Write a database seeding script
SupabaseConstraint Anchoring
PROMPT
Write a Supabase seed.sql file that populates: 3 test users (with hashed passwords via auth schema), 2 organizations, memberships linking users to orgs with different roles, 10 sample posts per org, and a free-tier subscription for each org. CONSTRAINTS: use CTEs to avoid hardcoding UUIDs. Must be safe to re-run (INSERT ... ON CONFLICT DO NOTHING). No external tooling β€” pure SQL.
Create a reusable data table component
WindsurfConstraint Anchoring
PROMPT
Build a reusable <DataTable /> component using @tanstack/react-table v8. It should support: sortable columns, pagination (10/25/50 rows), global search, and row selection. Make it generic with TypeScript generics. CONSTRAINTS: add an export-to-CSV button. No extra UI library. Place it in /components/DataTable.tsx.
πŸ”—

Chain-of-Thought

Ask AI to reason through the problem before implementing. Catches logic errors before they reach code

Generate Zod schemas from a DB table
CursorChain-of-Thought
PROMPT
Look at my Supabase table definition in /lib/db/schema.ts. Think through each column's type, nullability, and constraints. Then generate Zod validation schemas for each table: insert schema, update schema, and select schema. Explain your reasoning for each type choice. Export them from /lib/validators/. Use strict mode and add JSDoc comments.
Implement full-text search with Supabase
SupabaseChain-of-Thought
PROMPT
Think through the best full-text search approach for the 'posts' table, then implement it. Consider: tsvector column vs pg_trgm vs external search. Choose tsvector. Create a search_vector column combining title (weight A) and content (weight B). Add a GIN index. Write a trigger to keep it updated. Create a Supabase RPC function 'search_posts(query text)' returning ranked results. Show the Next.js integration.
Design a caching strategy
GeneralChain-of-Thought
PROMPT
Think through the data types in this Next.js app and what caching layer fits each one. Consider: Next.js full-route cache, React cache(), unstable_cache, Redis for shared state, CDN headers for static assets, and SWR/React Query on the client. For each data type, reason through the right cache layer and TTL. Show code examples for each recommendation.
Build a cron job with Supabase pg_cron
SupabaseChain-of-Thought
PROMPT
Think through the failure modes of a daily billing cron job, then implement it safely. The job should: (1) mark subscriptions past their end_date as 'expired', (2) send expiry emails via an Edge Function, (3) log the run result to 'cron_logs'. Consider: idempotency, partial failures, email deduplication. Schedule it at 00:05 UTC using pg_cron. Show the full SQL and edge function code.
Optimise a slow Supabase query
SupabaseChain-of-Thought
PROMPT
This Supabase query is slow (>500ms): [paste query]. Walk through the execution plan with EXPLAIN ANALYZE. Identify each bottleneck: missing indexes, N+1 patterns, unnecessary columns in SELECT *, missing foreign key indexes. For each issue found, explain why it's slow, then rewrite with the fix. Show before/after explain output.

Prompts That Break AI

5 anti-patterns that guarantee bad output β€” and how to fix them.

1

The Vague Request

AI doesn't know your stack, data shape, or what 'dashboard' means to you. You'll get a generic component that doesn't fit.

❌ Breaks AI

"Add a dashboard to my app"

βœ… Works every time

"Add a dashboard at /dashboard showing: MRR (from 'subscriptions' table), active users (last 30d from 'events' table), and a line chart of signups by day. Use Recharts. Fetch data server-side via Supabase. Dark theme matching the existing design."

2

The Everything Prompt

AI will scaffold the happiest-path version of each feature with no regard for your existing code, schema, or preferences. Guaranteed to need a full rewrite.

❌ Breaks AI

"Build me a complete SaaS app with auth, payments, dashboard, onboarding, settings, and an API"

βœ… Works every time

One feature per prompt. Sequence them. Start with scaffold β†’ auth β†’ schema β†’ first feature β†’ payments.

3

Context-Free Debug

AI guesses. It'll suggest generic fixes that may not apply to your setup β€” or worse, break working parts.

❌ Breaks AI

"Fix my Stripe webhook β€” it's not working"

βœ… Works every time

"My Stripe webhook at /api/webhook returns 400. Here's the code: [paste]. Here's the error: 'Webhook signature verification failed'. My STRIPE_WEBHOOK_SECRET is set. What's wrong?"

4

Missing Output Spec

AI doesn't know if you want insert/update/select variants, where to put them, or how strict to be. You get one generic schema that may not match your use case.

❌ Breaks AI

"Generate Zod schemas for my database"

βœ… Works every time

"Generate Zod schemas from /lib/db/schema.ts. For each table: insert schema (required fields only), update schema (all optional), select schema (full). Export from /lib/validators/[table].ts. Use strict mode."

5

No Constraint Guardrails

AI might suggest completely rewriting the query, adding an ORM, or changing your schema β€” when you just needed an index.

❌ Breaks AI

"Optimise this slow query"

βœ… Works every time

"This query is slow. Add indexes to fix it. CONSTRAINTS: do not rewrite the query logic, do not add new tables, do not use any ORM. Show only the ALTER TABLE / CREATE INDEX statements."

Expand Your Knowledge β†’

These tactical guides pair perfectly with the engineering blueprints above.

Social Channel

Got a prompt that ships?

Submit your best engineered prompt to the community. If it makes the cutoff, we'll feature it.

Submit Blueprint