Write a Useful Prompt
A practical structure for prompts that get consistent, actionable results.
Audience Everyone
Most prompts that fail do so because they’re missing context, not because the model isn’t capable enough. A good prompt answers four questions before the model starts writing.
The four elements
Role — what perspective should the model take?
”You are a senior backend engineer reviewing a pull request.”
Context — what does the model need to know to answer well?
Include: what the system does, relevant constraints, who will read the output.
Task — what exactly do you want?
Be specific. “Summarise” is vague. “Summarise in three bullet points, each under 20 words” is not.
Format — how should the output be structured?
Markdown, JSON, plain prose, a numbered list — say so explicitly.
MCS-specific tips
- In Claude Code, you rarely write explicit roles — the system prompt handles it. Focus on context and task.
- Paste actual code or config rather than describing it. The model reasons better on real input.
- If the first response isn’t right, don’t rewrite the whole prompt. Add one clarifying sentence and regenerate.
- For anything going into a document or ticket, ask the model to draft it, then edit yourself. Don’t ask it to “finalise” — that’s your job.
What to avoid
- Asking two questions in one message (pick one)
- Starting with “Can you…” — just state the task directly
- Expecting the model to know your project’s context without telling it