Agent skill

Adversarial Roleplay

by gnurio in gnurio/nurijanian-skills

PM stress-test roleplay. An agent skill from gnurio/nurijanian-skills.

MITAuto-check passedTesting & QA

Install Adversarial Roleplay

skills CLI
$ npx skills add gnurio/nurijanian-skills --skill adversarial-roleplay -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gnurio/nurijanian-skills adversarial-roleplay --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gnurio/nurijanian-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/adversarial-roleplay .claude/skills/adversarial-roleplay && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
adversarial-roleplay
GitHub stars
124
Token cost
~1.8k tokens
SKILL.md length
1,002 words
Files
2 (incl. references)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

PM stress-test roleplay. An agent skill from gnurio/nurijanian-skills.

  • Works in 3 steps: Set Up the Scenario → Run the Roleplay → Debrief
  • A PM wants to practice handling a difficult situation with a designer
  • SKILL.md covers What This Mode Does, Process, Calibration Notes and Input/Output Contract
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Adversarial Roleplay is an agent skill from gnurio/nurijanian-skills. PM stress-test roleplay. Use this skill whenever a PM wants to practice handling a difficult situation with a designer or engineer, stress-test their instincts in a realistic scenario, or understand what it feels like to be on their team when things go wrong. You play a frustrated, skeptical, or overloaded team member and respond as they would. Trigger on: "let's do a roleplay", "play my designer", "play my lead engineer", "stress test how I handle this", "I want to practice", "pretend you're the engineer who's…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/pm-excellence-behaviors.md`).

It sits in Testing & QA, covering Load testing. The repository describes itself as: Claude Code and Cursor skills for product managers — PM coaching, verbalized sampling, tech sensemaking, and more. The licence is MIT.

When your agent uses it

  • A PM wants to practice handling a difficult situation with a designer
  • Stress-test their instincts in a realistic scenario
  • Understand what it feels like to be on their team when things go wrong
  • : lets do a roleplay

Example prompts

  • “s do a roleplay”
  • “play my designer”
  • “play my lead engineer”
  • “/adversarial-roleplay”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Set Up the Scenario
  2. Run the Roleplay
  3. Debrief

What it can do on your machine

Read from SKILL.md and the folder at commit 43a0566. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Adversarial Roleplay loads about 1.8k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 217 tokens; SKILL.md has 1,002 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~217
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gnurio/nurijanian-skills at commit 43a0566, republished under its MIT licence (© gnurio). 1,002 words, ~1,784 tokens.

Download SKILL.mdSave it as .claude/skills/adversarial-roleplay/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
adversarial-roleplay
description
PM stress-test roleplay. Use this skill whenever a PM wants to practice handling a difficult situation with a designer or engineer, stress-test their instincts in a realistic scenario, or understand what it feels like to be on their team when things go wrong. You play a frustrated, skeptical, or overloaded team member and respond as they would. Trigger on: "let's do a roleplay", "play my designer", "play my lead engineer", "stress test how I handle this", "I want to practice", "pretend you're the engineer who's pushing back", "act as my team member", or any time a PM wants to rehearse a scenario before it happens or replay one that already happened to try a different approach. Also trigger when a PM says "I never know how to handle when my designer gets defensive" or any similar statement that implies a repeated interpersonal challenge.

Adversarial Roleplay

Read references/pm-excellence-behaviors.md before beginning. The behaviors in the document describe what great PMs do in exactly the kinds of situations you're about to simulate.

What This Mode Does

You play a realistic designer or engineer — not a caricature villain, not a pushover, but someone with real concerns, real expertise, and real frustration with a PM dynamic they've experienced before. The PM interacts with you as they normally would. After 3-5 exchanges, you break character and give an honest debrief of how it landed.

The goal is not to make the PM feel bad. It's to give them information they don't normally get: what their communication actually feels like from the other side.


Process

Step 1: Set Up the Scenario

Ask the PM: "Do you have a specific situation in mind — something upcoming or something you want to replay differently? Or should I give you one?"

If they have a situation: Get enough context to make the roleplay realistic. You need:

  • Who they'll be talking to (designer vs. engineer, junior vs. senior, new vs. longstanding)
  • What the tension is (feature got cut, specs are vague, deadline moved, they pushed back on a direction)
  • Any relevant history ("they've been resistant since the reorg")

If they want a scenario: Choose from the list below based on what would be most useful, or ask "which of these feels most relevant to you right now?" and offer 3 options.

Scenario Library

Scenario A — The Cut Feature You are a senior engineer who has spent 3 weeks building a feature the PM just announced is being cut due to a business priority change. You heard about it in the all-hands before the PM told you directly. You're not dramatic about it — you're quietly pissed and your trust is damaged.

Scenario B — The Vague Spec You are a designer who has received a brief from this PM that is full of user stories but has no clear design constraints, no defined scope, and keeps expanding. You've asked for clarity twice and gotten back "let's keep it flexible." You're staring at an infinite canvas with no guidance.

Scenario C — The Scope Creep Standup You are a lead engineer in a sprint planning meeting where the PM has added three "small" items to a sprint that's already full. You know from experience that "small" is never small. You're about to push back.

Scenario D — The Ignored Concern You are a designer who flagged a UX problem in the design review two weeks ago. It was acknowledged, logged, and never addressed. The PM is now asking you to sign off on the build.

Scenario E — The Pressure Pass-Through You are an engineer. Leadership just moved up the deadline by two weeks and your PM walked into the standup and announced it as "the new plan" with zero acknowledgment of what that means for the team. You're tired.

Step 2: Run the Roleplay

Announce clearly: "Okay, I'm going into character now. You can start whenever you're ready."

Play the character with full commitment:

  • Use realistic language — not theatrical anger, but the dry, specific frustration of someone who has felt this way before
  • Have real knowledge and opinions about your domain — if you're an engineer, you know what the tech debt situation looks like; if you're a designer, you have views on the design system
  • Don't make it easy for the PM. If they say something vague, push: "What does that actually mean?"
  • If they do something genuinely good — acknowledge it the way that character would: not with immediate capitulation, but with a visible shift in body language (described in text)

Run for 3-5 exchanges. If the PM is handling it well, introduce a complication. If they're struggling, let the natural consequence of the conversation play out.

End the roleplay when:

  • 5 exchanges have passed
  • A natural resolution point is reached
  • The PM says "okay I want to stop and reflect"
  • The situation has reached a genuine impasse that won't move

Announce the break clearly: "Stepping out of character."

Show full SKILL.md (333 more words)Show less
Step 3: Debrief

Stay in the voice of the character for the first part of the debrief — it lands harder:

"As [designer/engineer], here's what I noticed: [specific observations about what the PM did and how it landed on me]. The moment I shifted was when [specific thing]. What I wanted you to do instead was [specific alternative]."

Then step fully out of character and map to the framework:

What you did well: (Name it specifically — if they did something genuinely effective, say so)

What I was feeling: (Translate the character's reactions into the actual team dynamics they create)

What the framework says: (Reference 1-2 specific behaviors from references/pm-excellence-behaviors.md that were either demonstrated or missed)

One thing to try: Give them one specific reframe or phrase they could use next time this happens. Not "be more empathetic" — something they could literally say differently.


Calibration Notes

Play the character honestly, not charitably. The value of this exercise is that the PM experiences what their communication actually feels like. If they're vague, be frustrated by the vagueness. If they're clear and direct, let that land.

Don't telegraph what the PM should do. The character is not a puzzle with an obvious solution. Some real team dynamics are just hard. The goal is for the PM to encounter that hardness and develop instincts, not to discover a "right answer."

The debrief is more important than the roleplay. The roleplay generates the experience; the debrief is where the learning happens. Don't rush it.

Avoid melodrama. The most effective character to play is calm and specific — "when you said that, I checked out" — not explosively angry. Real frustration in a professional context is usually quiet.


Input/Output Contract

Accepts: A scenario (from library or described by PM) and context about the person being played

Produces: A 3-5 exchange roleplay followed by a character debrief and framework-mapped analysis

Passes to: decision-audit if a specific decision point drove the conflict; terminal if the PM has a concrete behavior change to work on

© gnurio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/adversarial-roleplay of gnurio/nurijanian-skills.

  • SKILL.md
  • references/pm-excellence-behaviors.md

Open the folder on GitHubat commit 43a0566

Compare with similar skills

Adversarial Roleplay next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Adversarial Roleplay compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Adversarial Roleplay this skillgnurio/nurijanian-skills124—~1.8kAutomated safety check: PassMIT
Microbenchmarkingdotnet/skills5.6k3 repos~3.3kAutomated safety check: PassMIT
Omnigent Load Test Runneromnigent-ai/omnigent11k—~1.1kAutomated safety check: PassApache-2.0
Control UI E2Eopenclaw/openclaw392k—~2.9kAutomated safety check: PassMIT
Writing Livekit Scenarioslivekit-examples/agent-starter-python2641 repos~2.5kAutomated safety check: PassMIT
Go Testingcxuu/golang-skills1731 repos~1.3kAutomated safety check: PassApache-2.0

Similar skills

  • Microbenchmarking

    dotnet/skills

    Official

    Activate this skill when BenchmarkDotNet (BDN) is involved in the task — creating, running, configuring, or reviewing BDN benchmarks.

    5.6k GitHub starsUsed in 3 repos~3.3k tokens
    Testing & QAAuto-check passed
  • Omnigent Load Test Runner

    omnigent-ai/omnigent

    Runs the Omnigent load test with real hosts and multi-turn sessions against a mocked LLM, then explains the latency results from summary.md.

    11k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Control UI E2E

    openclaw/openclaw

    A skill your agent uses when designing, testing, fixing, or extending the OpenClaw Control UI GUI, including UI stress-test galleries with feedback inputs, Vitest + Playwright end-to-end checks…

    392k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Writing Livekit Scenarios

    livekit-examples/agent-starter-python

    Creates and maintains the scenarios a LiveKit agent simulation runs, and wires the agent to consume them.

    264 GitHub starsUsed in 1 repo~2.5k tokens
    Testing & QAAuto-check passed
  • Go Testing

    cxuu/golang-skills

    A skill your agent uses when writing, reviewing, or improving Go test code — including table-driven tests, subtests, parallel tests, test helpers, test doubles, and assertions with cmp.Diff.

    173 GitHub starsUsed in 1 repo~1.3k tokens
    Testing & QAAuto-check passed
  • Goalcraft

    grp06/goalcraft

    Turn a rough draft, vague ambition, or messy task brief into a powerful Codex /goal objective for persistent, evidence-checked work.

    102 GitHub stars~3.8k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed

More from gnurio/nurijanian-skills

All 15 skills in this repo
  • Vibe Code Leaf Finder

    gnurio/nurijanian-skills

    This skill should be used when a user wants to identify which parts of a codebase are safe to modify with AI ("vibe code") and which require careful human engineering.

    124 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Corporate Misalignment Finder

    gnurio/nurijanian-skills

    Find, diagnose, and fix misalignment in corporate settings. An agent skill from gnurio/nurijanian-skills.

    124 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Verbalized Sampling

    gnurio/nurijanian-skills

    Generate diverse outputs by prompting for a probability distribution instead of a single response.

    124 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check: warnings
  • Focal Point Finder

    gnurio/nurijanian-skills

    This skill should be used when someone needs to find, propose, or evaluate a focal point in a coordination, negotiation, or alignment problem.

    124 GitHub stars~3.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Orchestrate Pm Alignment

    gnurio/nurijanian-skills

    PM alignment coach and router. An agent skill from gnurio/nurijanian-skills.

    124 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Tech Sensemaking

    gnurio/nurijanian-skills

    Analyze technology announcements to surface non-obvious strategic implications using Verbalized Sampling.

    124 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Adversarial Roleplay

What does Adversarial Roleplay do?

PM stress-test roleplay. An agent skill from gnurio/nurijanian-skills. Adversarial Roleplay is an agent skill from gnurio/nurijanian-skills. PM stress-test roleplay.

When should I use Adversarial Roleplay?

Adversarial Roleplay fits situations like: A PM wants to practice handling a difficult situation with a designer; stress-test their instincts in a realistic scenario; understand what it feels like to be on their team when things go wrong; : lets do a roleplay.

How do I install Adversarial Roleplay in Claude Code?

Run `npx skills add gnurio/nurijanian-skills --skill adversarial-roleplay -a claude-code`. Or copy the skill folder (skills/adversarial-roleplay in gnurio/nurijanian-skills) into .claude/skills/adversarial-roleplay in your project. Claude Code loads it when a task matches its description.

How do I install Adversarial Roleplay in Codex?

Run `npx skills add gnurio/nurijanian-skills --skill adversarial-roleplay -a codex`. Or copy the skill folder (skills/adversarial-roleplay in gnurio/nurijanian-skills) into .agents/skills/adversarial-roleplay in your project. Codex loads it when a task matches its description.

Can I use Adversarial Roleplay in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gnurio/nurijanian-skills --skill adversarial-roleplay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/adversarial-roleplay, .gemini/skills/adversarial-roleplay, .github/skills/adversarial-roleplay and .opencode/skills/adversarial-roleplay in your project.

What does Adversarial Roleplay need to run?

SKILL.md names no scripts, command-line tools or credentials: Adversarial Roleplay is instructions for the agent only.

Does Adversarial Roleplay access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Adversarial Roleplay safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Adversarial Roleplay use?

Adversarial Roleplay is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Adversarial Roleplay use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.

What are the alternatives to Adversarial Roleplay?

Skills that share tags, products or a category with Adversarial Roleplay: Microbenchmarking (dotnet/skills, 5.6k stars), Omnigent Load Test Runner (omnigent-ai/omnigent, 11k stars), Control UI E2E (openclaw/openclaw, 392k stars) and Writing Livekit Scenarios (livekit-examples/agent-starter-python, 264 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Adversarial Roleplay?

gnurio (a GitHub user) maintains it in gnurio/nurijanian-skills, which has 124 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on August 13, 2026.

Source: gnurio/nurijanian-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.