Skip to main content

The Template I Use for Every AI Request (Copy It)

I started keeping a sticky note open every time I built something with AI. Not for the code — for the prompt. Here is exactly what ended up on it.

The Template I Use for Every AI Request (Copy It)

I started keeping a sticky note open every time I built something with AI.

Not for the code. For the prompt. I was tired of re-discovering the same structure every time I wanted something to work on the first try.

Here is what ended up on that sticky note:

STACK: [framework, database, auth, styling]
EXISTING: [what I already have — relevant files, tables, integrations]

BUILD: [one specific thing, described precisely]

CONSTRAINTS:
- Do not install new packages without asking
- Only modify files I mentioned
- [any other hard rules]

SUCCESS: [the exact thing I will test to know it worked]

Five sections. I fill in STACK once per project and keep it saved. I fill in the other four for every request.

This is not magic. It is just writing down the things the AI needs to know before it can do its job.

The reason I started doing this was a bad day. I asked Claude to build a checkout flow. It built a full Stripe integration with a customer portal, subscription management, invoice history, and a cancellation flow. All technically correct. None of it what I needed.

I needed one API route. One Stripe Checkout session. Redirect on success, redirect on cancel.

The problem was I said "checkout flow" and assumed that was specific. To me it was. To Claude, it was a category with many valid implementations.

With the template, I would have written:

STACK: Next.js 14, Supabase, Tailwind
EXISTING: Stripe package installed, STRIPE_SECRET_KEY in .env

BUILD: POST route at /api/create-checkout. Creates a Stripe Checkout Session for Price ID price_xxx. Redirects to /success on payment, /cancel on cancel. Returns the checkout URL.

CONSTRAINTS:
- One file only: app/api/create-checkout/route.ts
- Do not create any other files
- Do not add webhook handling

SUCCESS: Route returns a Stripe Checkout URL I can test in a browser.

That is 60 words. It would have saved me an afternoon.

Briefli generates this template for you — through a two-minute interview. You describe what you want, it asks you the four questions, it writes the output. Same result, less typing.

Free at briefli.io → Or just steal the sticky note — it is yours.

Stop re-writing prompts. Let Briefli build them for you.

Two-minute interview → precise, first-attempt prompt. Free to start.

Try It Free →