Quick examples
See the difference between vague and effective prompts:Fixing code
Fixing code
Vague: โFix my code.โEffective: โMy script fails when processing user input. The error seems to be in the validation function. Can you help debug the
validate_input part? Hereโs the error message: [details]โThe effective prompt identifies the problem area, suspected function, and provides context.Building features
Building features
Vague: โMake a website.โEffective: โCreate a simple portfolio website with sections for Home, About Me, and Contact Form. Use a clean, modern design theme and placeholder content.โThe effective prompt defines the purpose, core features, and desired aesthetic.
Performance improvements
Performance improvements
Vague: โDonโt make it slow.โEffective: โRefactor the data processing function to handle larger inputs more efficiently. Could we use a different algorithm or data structure?โTell Agent how to improve rather than using negative constraints.
UI changes
UI changes
Vague: โAdd animation.โEffective: โAnimate the main image on the landing page so it gently fades in when the page first loads to create a welcoming effect.โIdentify the specific element, desired effect, timing, and intended experience.
Complex systems
Complex systems
Vague: โBuild the backend.โEffective: โSet up the server-side logic. Implement user authentication (signup/login) and create an API endpoint to retrieve user profile data securely.โBreak large tasks into specific functionalities.
Core principles

Plan first
Think through your applicationโs structure like a product manager would. Break the overall goal into logical stages. Instead of: โBuild a task manager app.โ Try: โ1. Create the basic HTML structure with an input field and task list. 2. Add JavaScript to add tasks. 3. Use a database to store tasks. 4. Add functionality to mark tasks complete.โ Then prompt Agent for each step.Build incrementally
Use Checkpoints to save progress after each successful step. If something breaks, you can roll back to a working state and try a different approach. Instead of: โBuild a complete e-commerce platform.โ Try: โSet up a basic full-stack project for an e-commerce site with user sign-up and login using Replit Auth.โ Then follow with prompts for product listings, cart, and checkout.Be specific
Define exactly what you need: output formats, constraints, edge cases. Instead of: โAdd a contact form.โ Try: โCreate a contact form page at/contact with fields for:
- Name (required)
- Email (required, must be valid format)
- Message (required, min 10 characters)
contact@mydomain.com.โ
Use positive language
State what you want, not what to avoid. Instead of: โDonโt make the user profile page confusing.โ Try: โDesign a clean user profile page. Display the username prominently, followed by email and join date. Include an โEdit Profileโ button.โKeep it simple
Use clear, straightforward language. Break complex requests into bullet points. Instead of: โImplement the necessary server-side infrastructure to facilitate the dynamic generation and retrieval of user-generated content artifacts.โ Try: โCreate backend functionality for users to submit blog posts. Users should enter a title and body content. Store posts in the database.โWorking with context
Provide relevant files
Mention specific files rather than attaching your entire project. Instead of: (Attaching everything) โImplement the user profile page based on our design system.โ Try: โCreate the user profile page. Fetch user data from the server endpoint. Style according to [URL to design docs] and match this mockup: [attachprofile_mockup.jpg].โ
Show examples
Reduce ambiguity by providing concrete examplesโcode snippets, sample data, or screenshots. Instead of: โMake the product cards look better.โ Try: โRedesign the product cards on the shop page. Each card should display the product image, name, price, and an โAdd to Cartโ button, similar to this layout: [attach screenshot]. Use a light gray border.โDebugging effectively
When errors occur, provide:- The exact error message
- Relevant code snippets
- File names where the error occurs
- What you were trying to achieve
- Steps youโve already tried
/login, I get a โUser not foundโ error in the browser console. The database check doesnโt seem to work. Hereโs the login handling code in auth.js.โ
Ask for guidance
Instead of: โAdd payments.โ Try: โWhat are some good options for accepting credit card payments in a web app built on Replit? I need something relatively simple to integrate.โIterate on your prompts
Your first prompt might not be perfectโthatโs normal. If the result isnโt right:- Add more detail
- Provide an example
- Simplify the instruction
- Try a different way of explaining
Summary
Effective prompting comes down to:- Planning before you prompt
- Building incrementally with Checkpoints
- Being specific about requirements
- Providing context through examples and relevant files
- Iterating when results arenโt quite right