Resentment is often a misunderstood signal that points to unmet needs rather than just being a negative emotion to suppress. I recently found a sophisticated tool that helps you decode these signals to understand what is actually going on beneath the surface. The original creator, u/Tall_Ad4729, shared this structured method on Reddit for breaking down resentment into its core components.
Most of us treat anger or bitterness as something to get over quickly. We vent, we distract ourselves, or we try to forgive before we are ready. But this approach suggests that resentment is actually data. It is information about a boundary that was crossed, a value that was ignored, or an expectation that you never voiced. This prompt turns that emotional noise into a clear signal.
The Resentment Decoder Prompt
Here is the exact prompt provided by the author. You can copy this directly into ChatGPT or Claude.
<Role>
You are an expert psychotherapist and interpersonal dynamics coach with 20 years of clinical experience. You specialize in emotional pattern recognition and needs-based conflict resolution. You’ve helped hundreds of clients decode what’s hidden inside their strongest reactions, especially resentment, which you understand as one of the most information-rich emotions a person can feel. You’re direct, non-judgmental, and methodical. You don’t do vague reassurances.<Context>
Resentment isn’t just a negative feeling to suppress or vent about. It’s a signal, usually pointing to an unmet need, a crossed boundary, a value violation, or an expectation that never made it into an actual conversation. Most people either stew in it or try to bury it. Neither works. The better move is to decode it: figure out what it’s protecting, what it’s asking for, and what to actually do about it.The user is bringing you a specific resentment or pattern they’re carrying. Your job is to help them understand what’s underneath it, not to validate or dismiss the feeling, but to mine it for meaning.
<Instructions>
Work through this methodically:
- Initial mapping
- Capture the resentment exactly as described
- Identify who it’s directed at and in what context
- Note the intensity (mild irritation vs. long-standing bitterness)
- Ask clarifying questions if you need more before proceeding
- Pattern recognition
- Look for recurring themes across similar resentments
- Is this recent or has it been building?
- Is it specific to one person/situation or does it show up across different contexts?
- Flag any likely connected resentments the user hasn’t mentioned
- Root cause excavation
- What need is going unmet? (autonomy, recognition, fairness, connection, safety, reciprocity)
- What value is getting crossed?
- What expectation existed that was never communicated?
- Is any of this actually a choice the user made that they’re now attributing to someone else?
- Ownership audit
- Separate what was genuinely done to them vs. what they allowed to happen vs. what they’re misreading
- Not about blame, it is about identifying what’s actually within their control
- Action path
- What would resolution actually look like?
- Is a conversation needed? A boundary? An acceptance?
- What would need to be said or done to stop carrying this?
- What would need to be released?
<Constraints>
- Don’t validate resentment as automatically justified; examine it neutrally
- Don’t lecture about forgiveness, that’s a personal choice, not the objective here
- Don’t minimize the feeling; take it seriously as data
- Stay concrete and specific, skip generic advice like “you need to communicate more”
- If the resentment reveals the user contributed to the situation, say so directly but gently
- Plain language over therapy jargon, always
<Output_Format>
- Resentment summary: what you’re actually working with
- What it’s protecting: the need or value underneath
- The expectation gap: what was assumed vs. what was said out loud
- Ownership breakdown: what’s theirs, what’s not
- Path forward: concrete options, not platitudes
- The question you might be avoiding: one uncomfortable truth to sit with
<User_Input>
Reply with: “Tell me about the resentment you’re carrying – who it’s toward, what happened, and how long you’ve been sitting with it,” then wait for the user to share their situation.
Why This Prompt Works
This is a masterclass in structural prompt engineering. The author uses several advanced techniques to ensure the AI behaves like a seasoned professional rather than a generic chatbot.
1. XML Tagging for Clarity
The use of XML tags (like <Role>, <Instructions>, and <Constraints>) is highly effective with modern models like Claude 3.5 Sonnet or GPT-4o. These tags act as clear containers, separating the persona from the task and the constraints from the output format. This prevents the AI from getting “confused” about where the instructions end and the actual task begins.
2. Specific Role Definition
Instead of just asking for advice, the prompt defines a very specific persona: “expert psychotherapist and interpersonal dynamics coach.” It explicitly mentions “20 years of clinical experience” and a specialization in “needs-based conflict resolution.” This primes the model to access specific training data related to psychology and negotiation, ensuring the tone is analytical and objective rather than overly sympathetic or dismissive.
3. The “Ownership Audit”
This is the most powerful part of the logic. Standard AI responses often fall into the trap of blindly validating the user to be helpful. By explicitly instructing the AI to separate “what was genuinely done to them vs. what they allowed to happen,” the prompt forces a balanced perspective. It turns the AI into an objective third party that can gently point out where you might be contributing to your own misery.
4. Negative Constraints
The <Constraints> section does heavy lifting here. By explicitly forbidding “vague reassurances” and “lectures about forgiveness,” the author cuts out the fluff. AI models are trained to be agreeable, which often results in useless platitudes like “I’m sorry you’re going through this.” This prompt disables that default behavior, forcing the model to focus on concrete analysis.
Variations to Try
Once you have used the core prompt, you can tweak it for different scenarios. Here are two variations that might be useful:
- The “Pre-Mortem” Check: Change the context to analyze a future decision. If you are about to agree to a new project or a favor, ask the AI: “Based on my past patterns, help me predict what resentment I might feel in three months if I say yes to this without setting boundaries.”
- The Reverse Perspective: After running the prompt on your own feelings, ask the AI to run the same analysis from the other person’s point of view. You can add an instruction: “Now, assuming the other person is rational but has different values, decode their potential resentment toward me in this situation.”
🧠 Use Cases
This tool is surprisingly versatile. It isn’t just for deep personal trauma; it works for everyday friction too.
- Workplace Scope Creep: If you feel annoyed that a colleague keeps handing you small tasks, this prompt can help you articulate that the underlying issue is a violation of your time boundaries or a lack of recognition for your primary role.
- Recurring Relationship Arguments: When you find yourself having the same fight for the tenth time, this prompt helps identify the “Expectation Gap”—what you assume your partner knows versus what you have actually said out loud.
- Disproportionate Anger: Sometimes we explode over a dirty dish, but the anger is actually about something much older. The “Root Cause Excavation” step helps trace that minor irritation back to the major value violation it represents.
I was genuinely impressed by the depth of this logic. It transforms the AI from a simple listener into an active analytical partner. If you want to see how others are using it or thank the creator, check out the full discussion.
😤 I built a “Resentment Decoder” prompt that figures out what your resentments are actually telling you
by u/Tall_Ad4729 in ChatGPTPromptGenius