Prompting is how you direct Rocket using clear, natural language. You describe what you want (screens, logic, fixes, flows) and Rocket figures out the how.This guide covers:
- The S.I.M.P.L.E. framework for writing effective prompts
- Core prompting strategies (zero-shot, instructional, one-shot)
- How to build features incrementally
- Common mistakes and how to fix them
Start with clear intent
Strong prompting always starts with one question: What should this app, screen, or feature do, in one sentence? Write that sentence first. Then layer in:What
What the user can do (core actions)
Where
Where it lives (which screen, component, or flow)
The S.I.M.P.L.E. framework
Use the S.I.M.P.L.E. framework as a quick checklist before you send any substantial prompt.| Letter | Principle | What it means |
|---|---|---|
| S | Specific | Say exactly what you want, not just how it should “feel”. |
| I | Incremental | Ask for one focused change at a time. |
| M | Meaningful context | Include only the context Rocket actually needs. |
| P | Pattern-aware | Point to existing screens, styles, or flows when helpful. |
| L | Limited scope | State what not to touch to avoid drift. |
| E | Explicit structure | Describe layout and order the way users experience it. |
S - Specific
Vague:I - Incremental
Break big ideas into small, safe steps.M - Meaningful context
Include only the details that change the outcome, enough to be clear, not a full spec.P - Pattern-aware
When you already have good examples in your app, reuse them.L - Limited scope
Tell Rocket what not to change so it does not “help” too much.E - Explicit structure
Describe the layout in the same top-to-bottom order a user experiences it.Self-check before sending
Before you submit a prompt, ask yourself:- Do you know exactly what “done” looks like?
- Is it Specific, Incremental, contextual, Pattern-aware, Limited, and Explicitly structured?
- Could you review the result in under 5 minutes?
Basic prompting strategies
Once you are comfortable with S.I.M.P.L.E., these core strategies cover most day-to-day work.Zero-shot
Direct instructions. Use when the task is small and clear, and you do not need to match an existing pattern.Combine with S, L, and E from S.I.M.P.L.E. to keep it specific, scoped, and structured.
Instructional
Step-by-step “how.” Use when layout and structure really matter.You are telling Rocket how to build it, not just what to build.
One-shot
“Like this, but for X.” Use when you already have a good example in your app and want to mirror it.This leans on the Pattern-aware part of S.I.M.P.L.E.
Plan, Build, Refine
Think of your prompting workflow in three lightweight phases.Plan just enough
Spend a minute writing down:
- What you are building
- Who it is for
- The top 3 jobs it must do well
Common mistakes and how to fix them
These common prompting mistakes map directly to the S.I.M.P.L.E. principles. Use this table as a quick reference when prompts are not working as expected.| Mistake | Example | Why it fails | S.I.M.P.L.E. fix |
|---|---|---|---|
| The Vague Vanisher | ”Make it look nice” | Subjective, no clear anchor | Specific, Explicit structure |
| The Everything Bagel | ”Create a full e-commerce site with products, cart, checkout, user accounts, and admin dashboard” | Too many responsibilities at once | Incremental, Limited scope |
| The Missing Data | ”Show all user data in a table" | "All” is undefined, no source specified | Specific, Meaningful context |
| The Silent Change | ”Clean this up” | No definition of what stays the same | Limited scope, Explicit structure |
| The Assumption Trap | ”Make it user-friendly and fast” | Assumes Rocket knows your preferences | Specific, Meaningful context |
| The Reverse Order | ”Add a submit button, then create a form with name and email fields above it” | Describes elements in wrong order | Explicit structure |
| The Constraint Gap | ”Update the header” | No boundaries on what to change | Specific, Limited scope |
The Vague Vanisher
Mistake:The Everything Bagel
Mistake:The Missing Data
Mistake:The Assumption Trap
Mistake:The Silent Change
Mistake:@utils/helpers.jsx refactor helper functions into separate files. Do not change function logic or parameters.
The Reverse Order
Mistake:The Constraint Gap
Mistake:@components/header.jsx update only the text color and font size. Do not change layout or navigation.
Prompting for integrations
When prompting Rocket to work with external services, being specific about names, keys, and configuration makes the difference between a working integration and a broken one.Stripe
Always include the exact product name, price, billing interval, and mode (test or live).- Product or plan name (for example, “Pro Plan”, “Starter Pack”)
- Exact price and billing interval (for example, “199/year”)
- Test or live mode
- Success and cancel redirect URLs
- Whether it is a one-time payment or a subscription
Supabase
Always name your tables, list the columns with their types, and specify which auth method you are using.- Table name and column names with types
- Auth method (email/password, Google OAuth, magic link)
- RLS requirements (who can read, write, update, delete)
- Redirect paths after auth events
- Whether to use real-time subscriptions
AI features
Always specify which model to use, the desired tone or style of output, and any context limits.- Model name (for example, gpt-4o, claude-3.5-sonnet, gemini-pro)
- Tone or style (for example, professional, casual, technical)
- Output format (for example, bullet points, paragraph, JSON)
- Maximum length or token limit
- Fallback behavior if the API call fails
- Trigger event (for example, signup, purchase, password reset)
- Recipient (who gets the email)
- Subject line
- Body content and any dynamic data to include
- Which email service to use (Resend, SendGrid)
- API key location (environment variables)
Quick comparison
| Integration | Bad prompt | Good prompt | Why it is better |
|---|---|---|---|
| Stripe | ”Add payments" | "Add a Stripe checkout for the Pro Plan at $29/month in test mode, redirecting to /success on completion” | Specifies plan, price, mode, and redirect |
| Supabase | ”Save data to the database" | "Insert a new row into the tasks table with columns title (text), status (text), and user_id (uuid) from the task creation form” | Names the table, columns, and types |
| AI | ”Use AI to help users" | "Add a summarize button that sends article content to OpenAI gpt-4o and returns 3 bullet points in a professional tone” | Names the model, output format, and tone |
| ”Send notification emails" | "When a team member is invited, send an email via Resend with subject ‘You have been invited to [team_name]’ and an accept button linking to /invite/[token]“ | Specifies trigger, subject, body, and service | |
| Analytics | ”Add tracking" | "Track a ‘signup_completed’ GA4 event with parameters signup_method and plan_name when a user finishes registration” | Names the event, parameters, and trigger |

