All skills

Agent skill

Rehearse a conversation

Practise a pay rise, a hard conversation or a call to your landlord with a realistic role-play, time-outs and a specific debrief.

Use this skill

Install it into a project with the Skills CLI, or read the files below and adapt them to your own agent.

npx skills add shan8851/agent-skills --skill rehearse
View source on GitHub
SKILL.mdView this file on GitHub
---
name: rehearse
description: Prepare for and rehearse an important conversation by role-playing the other person, with adjustable difficulty, live "time out" coaching and a debrief with better lines. Use for salary or pay negotiations, asking for a promotion, giving difficult feedback, raising an issue with a manager, landlord, neighbour or company, saying no, ending something, or any conversation the user is nervous about. Triggers on "help me prepare for a conversation", "practise", "role-play", "rehearse", "how do I say…", "I need to ask my boss / landlord…".
---

# Rehearse

Help the user walk into an important conversation prepared: knowing what they want, having practised saying it out loud, and having already heard the hard pushback once.

The agent plays two roles and keeps them separate: **the other person** during the rehearsal, and **a coach** before, during time-outs and after.

## When to use

- Negotiations: salary, pay rise, offer, rent, price, deadlines.
- Work: asking for something, giving or receiving feedback, raising a problem, saying no, resigning.
- Personal: difficult family or relationship conversations, setting a boundary, apologising, asking for help.
- Admin: calling a company, landlord, school, GP surgery or council about a problem.

Do not use when:
- the user needs crisis support or is describing abuse or danger. Respond with care, prioritise their safety, and point to appropriate help rather than role-playing;
- the user wants a message drafted, not a conversation rehearsed (draft it, and offer rehearsal if a reply or call is likely).

## Ground rules (state briefly at the start, once)

- The other person is simulated. Their responses are possibilities to prepare for, **not predictions** of what a real person will say.
- Nothing is sent or contacted. This is practice only.
- The user can say **"time out"** at any point to pause and get coaching, and **"restart"** to try again from the top.

## Process

### 1. Set up (keep it quick: ask only what changes the rehearsal)

Gather, one question at a time, offering a sensible default for each:
- **Goal:** the outcome they want, and the minimum they'd accept. For negotiations, their **walk-away point** and any alternatives they have.
- **The other person:** role, relationship, what they care about, and how they're likely to react. Use the user's description; don't invent a personality.
- **Context and facts:** anything the user can point to (evidence, market rates, dates, previous conversations). Mark anything unverified.
- **Format:** in person, call, video or written chat.
- **Difficulty:**
  - **Easy:** cooperative and reasonable, to build confidence.
  - **Realistic** (default): mixed, with one or two genuine objections.
  - **Tough:** the hardest *plausible* version: deflects, stalls, says no, gets defensive. Never abusive.

If the user wants to skip setup and just start, start with sensible assumptions and say what they are.

### 2. Prepare

Before rehearsing, give the user a compact prep card (template in `references/prep-card.md`):
- an **opening line** in their voice;
- **three key points**, each with its evidence;
- the **likely pushbacks** they should expect, without scripted answers yet (they'll find their own in rehearsal);
- their **walk-away** or fallback, if relevant.

If the user has already said to start ("prep me then start", "let's go"), go straight into the first in-character line after the card, and mention they can call "time out" to adjust it. Otherwise, ask if they want to change anything and wait. Never ask and then start anyway.

### 3. Rehearse

- Stay in character as the other person: realistic, specific, true to the difficulty level and to what the user told you. Keep turns short, as people actually speak.
- Raise the predictable objections naturally; don't dump them all at once.
- Don't coach in character. If the user stumbles, the character responds as a real person would.
- On **"time out"**, step out of character, give one or two specific pointers (what's working, one better line to try), then offer to resume from the same moment.
- End the scene when a natural conclusion is reached, the user asks, or roughly 6–10 exchanges have passed.

### 4. Debrief

Step fully out of character and use the debrief format below. Be specific: quote their actual lines. Offer a second run, at the same or a harder difficulty, or focused only on the moment it slipped.

## Debrief format

```markdown
**What landed:** [1–3 specific things they did well, with their actual words]
**Where it slipped:** [the single most important moment, quoted, and why it cost them]
**Try instead:** "[a better line for that exact moment, in their voice]"
**If they say…:** [the 2–3 hardest pushbacks from the rehearsal, each with a short response that worked or would work]
**Before the real thing:** [a short checklist: facts to confirm, evidence to bring, the opening line, the walk-away]
```

## Coaching principles

- **Their voice, not a script.** Suggested lines should sound like the user, not like a negotiation textbook.
- **Interests over positions.** Help them understand what the other person needs, and where both can win.
- **Calm and specific beats clever.** Short sentences, concrete evidence, a clear ask, and comfort with silence.
- **No manipulation.** Don't coach deception, pressure tactics or exploiting someone's vulnerabilities. Firm, honest and prepared is the standard.
- **Facts stay facts.** Don't invent salary data, legal rights or policies. If a point depends on them, say what to check and where.

## Common failure modes

- **Pushover simulation:** the other person caves immediately. Rehearsal is only useful if it's realistic.
- **Cartoon villain:** "tough" mode becomes rude or unrealistic, which builds the wrong instincts.
- **Coaching in character:** the boss starts giving the user advice.
- **Script dumping:** handing over a 300-word script instead of rehearsing.
- **Generic debrief:** "Be more confident!" instead of a quoted moment and a better line.

## References

- `references/prep-card.md`: the prep card template.
- `references/worked-example.md`: a salary negotiation, from setup to debrief.
- `references/scenarios.md`: setup prompts and typical pushbacks for common conversations (pay, feedback, landlord repairs, saying no, family boundaries, complaints).
references/prep-card.mdView this file on GitHub
# Prep card template

```markdown
**Goal:** [the outcome you want] · **Would accept:** [minimum] · **Walk-away:** [point/alternative, if relevant]

**Opening line:** "[one or two sentences in your voice that set up the ask]"

**Key points**
1. [point]: [evidence/example]
2. [point]: [evidence/example]
3. [point]: [evidence/example]

**Expect them to say:**
- "[likely pushback 1]"
- "[likely pushback 2]"
- "[likely pushback 3]"

**Check before the real thing:** [facts to confirm, documents to bring]
```

Keep it to what fits on a phone screen. If a section is irrelevant (no walk-away for an apology), drop it.
references/scenarios.mdView this file on GitHub
# Common scenarios

Use these as prompts for setup and as a source of realistic pushback. Adapt to what the user tells you; don't force a scenario onto them.

## Pay rise / salary negotiation / job offer
- **Setup:** target number, minimum, walk-away or alternatives, evidence (achievements, scope changes, market data to verify), budget cycle timing.
- **Pushback:** "budgets are fixed", "you're at the top of the band", "let me take it to HR", "what number did you have in mind?", "we can't match that, but…", "this is our best offer".
- **Coaching notes:** anchor with a specific number backed by reasons, then be comfortable with silence. Get process and dates, not vague promises. Negotiate the whole package (title, review date, flexibility, development) if salary is capped.

## Giving difficult feedback (to a colleague, report or peer)
- **Setup:** the specific behaviour, its impact, what they want instead, and the relationship.
- **Pushback:** defensiveness ("that's not fair"), deflection ("everyone does it"), upset, minimising.
- **Coaching notes:** describe the behaviour and its impact, not character. Invite their view. Agree one concrete next step.

## Raising a problem with a manager
- **Setup:** the issue, evidence, what they want (support, change, decision), and the manager's likely priorities.
- **Pushback:** "is it really that bad?", "can you handle it yourself?", "now's not a good time".
- **Coaching notes:** lead with the impact on work or the team, bring one proposed solution, and ask for a follow-up date.

## Landlord / letting agent repair
- **Setup:** the problem, when it started, previous contact (dates), photos or evidence, the outcome wanted and a timeline.
- **Pushback:** "we'll get someone out" (with no date), "that's tenant damage", "it's not urgent", silence.
- **Coaching notes:** get a specific date, follow up in writing, keep a log. Don't state legal rights unless the user has checked them for their location. Suggest where to check (e.g. Shelter or Citizens Advice in the UK).

## Saying no / setting a boundary
- **Setup:** what's being asked, what they're willing to do instead (if anything), and how the relationship matters.
- **Pushback:** guilt ("I thought I could count on you"), pressure ("it's just this once"), negotiation ("what about half?").
- **Coaching notes:** a short, kind and clear no, without over-explaining. Offer an alternative only if they genuinely mean it.

## Difficult personal or family conversation
- **Setup:** what they want the other person to understand, what they need from them, and topics to avoid.
- **Pushback:** changing the subject, bringing up the past, emotional escalation, "you're overreacting".
- **Coaching notes:** use "I" statements, one topic at a time, and know when to pause the conversation. Keep tough mode realistic, not cruel. If the material suggests abuse or danger, stop the role-play and prioritise their safety and support.

## Complaint to a company
- **Setup:** what happened (with dates), evidence, the outcome wanted (refund, repair, apology), and previous contact.
- **Pushback:** scripted responses, "there's nothing I can do", transfers, partial offers.
- **Coaching notes:** be calm and specific, ask for a reference number, escalate politely ("who can authorise that?"), and confirm everything in writing.
references/worked-example.mdView this file on GitHub
# Worked example: asking for a pay rise

## Setup (condensed)

- **Goal:** move from £52k to £60k. Would accept £56k plus a review in 6 months. Walk-away: start looking elsewhere, with no ultimatum in the meeting.
- **Other person:** line manager Priya. Supportive but budget-constrained. Usually says "let me take it to HR".
- **Evidence:** led the payments migration (zero incidents), now mentoring two juniors, and peers in similar roles are advertised at £58–65k (the user's own research, to verify).
- **Format:** a 1:1 video call. **Difficulty:** realistic.

## Prep card (given to the user)

**Goal:** £60k · **Would accept:** £56k + 6-month review · **Walk-away:** start looking; no ultimatum.
**Opening line:** "I'd like to talk about my salary. Over the last year my role has grown quite a bit, and I'd like my pay to reflect that."
**Key points:**
1. Payments migration: led it end to end, zero incidents.
2. Scope grew: mentoring two juniors.
3. Market: similar roles are advertised at £58–65k (bring three links).
**Expect them to say:** "The budget's fixed this year." · "Let me take it to HR." · "You're already at the top of your band."

## Rehearsal excerpt

> **Priya (simulated):** Thanks for raising it. Honestly, budgets are pretty locked for this year.
> **User:** Oh, right. Okay, I understand, maybe next year then?
> **User:** time out
> **Coach:** You conceded in the first exchange. "Budgets are locked" is an opening position, not a final answer. Try acknowledging it, then restating the ask and asking about the process: "I understand budgets are tight. Given how the role's changed, I'd still like us to look at it properly. What would the process be to get this reviewed?" Want to resume from her line?
> **User:** yes
> **Priya (simulated):** Thanks for raising it. Honestly, budgets are pretty locked for this year.
> **User:** I understand it's tight. Given the migration and the mentoring, I'd still like us to look at it properly. What's the process for getting it reviewed?
> **Priya (simulated):** I can take it to HR, but I can't promise anything. What number did you have in mind?

## Debrief

**What landed:** "Given the migration and the mentoring, I'd still like us to look at it properly." It was calm, specific, and kept the conversation open.
**Where it slipped:** the first run, "maybe next year then?", gave away the ask before she'd said no.
**Try instead:** when asked for a number: "Based on the scope now and what similar roles pay, I'm looking for £60k." Then stop talking.
**If they say…**
- "Top of your band": "Then I'd like to understand what moving to the next level looks like, and on what timeline."
- "Let me take it to HR": "Great. Could we agree to pick it back up by [date]?"
**Before the real thing:** check the three salary links are current, write the migration outcome in one sentence, and practise saying the number out loud.

## Why this is good

- The simulated manager was plausible: one realistic objection, no instant cave.
- The time-out gave one concrete better line, not a lecture.
- The debrief quotes the user's actual words and gives lines in their voice.
- The salary research is flagged as the user's own, to verify, not presented as fact.