Beginner · Foundations of a Good Prompt
Assigning roles
Claude's default voice is helpful and informative, which is useful for many tasks and exactly wrong for others. If you are trying to find problems in a business plan, helpful and informative is not what you need. You need skeptical and rigorous.
Assigning a role changes Claude's perspective, vocabulary, and reasoning patterns. It is one of the highest-leverage changes you can make to a prompt.
How to assign a role
Start the prompt with a role declaration: "You are a [role] with [relevant experience or perspective]."
The role declaration works because it activates a coherent cluster of behaviors. A skeptical security auditor looks for edge cases and attack vectors. A patient kindergarten teacher simplifies, uses analogies, and repeats key ideas. A senior engineer reviewing a pull request notices architectural problems, not just syntax.
You do not have to justify the role. Just declare it.
Examples that work
"You are a skeptical security auditor with ten years of experience in API security. Review this API design and list every vulnerability you can find, ranked from most to least severe."
"You are a patient kindergarten teacher explaining photosynthesis to a five-year-old. Use one analogy involving food. Check for understanding at the end with a simple question the child could answer."
"You are a senior engineer reviewing a pull request for a payment processing system. Your job is to find problems, not to validate the work. List every issue you see, starting with the most serious."
Roles that do not work
The role must be relevant to the task. "You are Shakespeare" does not help with Python debugging. "You are a friendly assistant" is too generic to change anything — it is Claude's default. The role should activate a specific perspective that you actually need for the task.
Avoid roles that conflict with the task. "You are an optimistic coach" reviewing a business plan for risks will produce an optimistic evaluation of risks, which is not useful.
If you get stuck
If the role assignment does not change the output, the role is probably too generic. Add a specific qualification or perspective: not "you are an editor" but "you are an editor who specializes in cutting text by 30% without losing meaning."
If the output sounds like a caricature rather than the actual role, soften the role and add a specific task. The role is a frame, not a performance.
Cross-reference
L4 covers specificity in the task and format dimensions. The role dimension is a third axis of specificity — it shapes Claude's approach to the task, not just what it produces.
Deliverable
Take a prompt you use regularly. Assign a role that matches the perspective you actually need. Run the same prompt with and without the role declaration. Note what changes in the output — not whether it got "better," but what specifically changed.
Try these prompts
- You are a skeptical security auditor. Review this API design for common vulnerabilities.
- You are a patient kindergarten teacher. Explain photosynthesis to a 5-year-old.
Sign in to keep your place and tick off lessons. Reading stays open either way.