Cursor prompts

Cursor prompting tips: plan first, then build

To prompt Cursor well, ask for a plan before any code, keep a short rules file, give it tests to aim at and start a new chat for each task. A rules file is a short note of standing instructions, so you stop retyping the same warnings.

Download for Mac

macOS 13+·Windows 10+·Free for 3 days, no card

Updated

Plan first

Start in Plan Mode

Cursor's own team calls planning before coding the most impactful change you can make.

In Plan Mode, Cursor asks you questions and reads your project, then writes a detailed plan before it touches any code. Press Shift+Tab in the agent input to switch it on. Use it for a new feature, a change that spans many files or a request you have not pinned down. For a quick, familiar edit, normal Agent mode is fine.

The plan is a Markdown file (plain text with simple formatting) that you can edit. Saving it in .cursor/plans/ helps teammates and lets you pick the work up later.

When the build drifts, do not pile on follow-ups. Revert (undo the changes), tighten the plan and run it again.

Rules

Keep a short rules file

Rules are standing instructions that Cursor can apply to every chat, so you write them once.

Project rules live in .cursor/rules/. Cursor lets you choose how each one applies: always, when the agent judges it relevant, only for certain files, or only when you call it. The advice is the same in the docs and the blog:

Avoid vague lines such as "write clean code". A rule works when it is concrete. An example for a small app: "Run the tests after every change." That one is ours, not Cursor's.

Your prompt

Write a goal, a limit and a done when

The plan covers the how, but your prompt still has to say what, what not and when it is finished.

  • Goal: one sentence on what you want and why.
  • Limit: what must not change. For example, no new libraries.
  • Done when: a short list you can check. Tests are the strongest version. Cursor's blog suggests having the agent write the tests first, confirming they fail, committing them, then coding until they pass without editing the tests.

Tag a file with @ only when you know exactly which one you mean. Otherwise let the agent search for the right files. For a layout problem, attach a screenshot.

This tool

What is different in Cursor

Cursor is built around one conversation per job, and it shows you what changed.

Shared habits live on the hub. What follows applies to Cursor only.

Worked example

From "add a pricing page like the other pages" to a prompt with a plan first

Isla runs Juniper Desk, a small invoicing tool. Her co-founder Kai settled the prices in Slack, and she needs the page before the launch email.

In Cursor

You say

optionadd a pricing page like the other pages, kai put the prices in that thread, we need it up before the launch email goes out

Scrubbr finds

  • Slack · #site thread, Kai Jensen: "same layout as the About page"
  • Granola · Pricing call with Kai, Oct 30
  • Knowledge base · Pricing

Cursor · Prompt

Goal: Add a pricing page to the Juniper Desk site that looks and works like our other pages. Visitors cannot see prices anywhere today, and Kai wants it live before the Nov 12 launch email.

Facts: Two plans, from the Oct 30 pricing call and our knowledge base. Starter is $29 a month. Team is $79 a month. Billing is monthly only for now. Enterprise shows a "Contact us" line instead of a price. In Slack, Kai asked for the same layout as the About page. I do not know the file names.

Steps: 1. Start in Plan Mode. Do not write code yet. Read the About page and the files it uses, and ask me anything that is unclear. 2. Give me the plan as a checklist of files to add or change. 3. After I approve, build the page by copying the About page's layout and parts. 4. Add a link to it wherever the other pages are linked. 5. Run the build and the tests.

Limits: Add no new libraries or packages. Change no existing page except to add the link. Use only the prices above. Ask me when a fact is missing. Never make one up.

Format: The plan first, as a short checklist. After I approve, the code. Then three plain lines on what changed.

A great answer: The page opens at /pricing and shows both plans and the Contact us line. It looks like the About page on a phone and on a desktop. The build passes. The package list is unchanged. Only the new page and one link changed.

Demo data. The people, company and facts are invented.

Questions

Cursor questions

What is a rules file in Cursor?

It is a short note of standing instructions for your project, kept in .cursor/rules/. Cursor can apply a rule to every chat, to certain files or only when you ask for it.

How long should my Cursor rules be?

Short and focused. Cursor's docs say to keep rules under 500 lines, and to add a rule only when the agent repeats a mistake.

When should I use Plan Mode?

Use it for complex features, changes across many files and requests that are still unclear. For a quick, familiar edit, normal Agent mode is fine.

Cursor broke my app. What should I do?

Revert the changes, tighten the plan and run it again, rather than sending more follow-up prompts. Then read the diff before you accept the next build.

Should I tag files with @ in every prompt?

No. Tag a file only when you know exactly which one you mean. Otherwise Cursor's agent searches for the right files itself.

Sources

Where these facts come from

Try Scrubbr free for 3 days

Download Scrubbr, connect your tools, and give your first prompt in two minutes.

Download for Mac

macOS 13+·Windows 10+·Free for 3 days, no card