User Prompts
How to write effective user-side prompts that complement the system prompt.
"You are a Senior Python Developer. Always use type hints. Be concise and helpful."
"Write a function to slugify a given blog title."
The Merged Output
The AI combines both layers in real-time, applying the Rules from one and the Task from the other.
While a system prompt sets the AI's persona and rules (written by the developer), a user prompt is what you ā the end user ā type in to make a specific request. User prompts are the day-to-day messages you send to the AI within the conversation window. Getting good at writing user prompts is the single most impactful skill for getting value from AI tools.
User prompts can range from a one-liner question to a multi-paragraph, structured instruction. The key is knowing when to be brief and when to be detailed.
Types of User Prompts
1. Instructional: Direct commands. (e.g., 'Summarize this article in 3 bullet points.')
2. Conversational: Natural dialogue. (e.g., 'What is the difference between REST and GraphQL?')
3. Creative: Open-ended generation. (e.g., 'Write a short story about a robot who learns to paint.')
4. Analytical: Data interpretation. (e.g., 'Here is my sales data. What trends do you notice?')
5. Generative Code: Technical tasks. (e.g., 'Write a Python script that reads a CSV and plots a bar chart.')
Do's and Don'ts of User Prompts
ā
Do:
- Be specific about what you want.
- Provide relevant context.
- Specify the output length or format.
- Ask one question at a time for complex topics.
- Say 'Think step by step' for reasoning tasks.
ā Don't:
- Use vague requests like 'Tell me about AI.'
- Assume the AI remembers previous conversations (it doesn't always).
- Accept the first answer blindly ā always follow up to refine.
- Ask for private or sensitive data.
Weak vs Strong User Prompt
Here is a side-by-side comparison of a weak and a strong user prompt:
--- WEAK PROMPT ---
Write code for a login page.
--- STRONG PROMPT ---
You are an expert React developer.
Write a login form component with the following requirements:
- Fields: email, password
- Validation: email format, password min 8 chars
- Show/hide password toggle
- Error messages below each invalid field
- A Submit button that shows a loading spinner while processing
- Use TypeScript and React Hook Form
- Style with Tailwind CSS
Return only the component code.The 'Refine and Repeat' Habit
Never settle for the first response. After getting an answer, ask: 'Can you make this more concise?', 'Can you add error handling?', or 'Explain why you made this choice.' Every follow-up refines the result closer to what you truly need.
