Agent skill

writing-personas

Use when creating, editing, or tuning agent persona/role prompts — especially when personas show overconfidence, attention narrowing, skipped tool use, or domain tunnel vision

Stars 1
Forks 2

Install this agent skill to your Project

npx add-skill https://github.com/snits/claude-files/tree/main/skills/writing-personas

SKILL.md

Writing Personas

Overview

Writing personas IS Test-Driven Development applied to role prompts.

Persona prompts shape agent behavior across many dimensions simultaneously. The goal is preserving personality and domain voice while eliminating bias and blindness. You calibrate by testing for known failure modes, modifying the prompt, and verifying the personality survived the fix.

REQUIRED BACKGROUND: You MUST understand superpowers:writing-skills and superpowers:test-driven-development. This skill adapts their TDD methodology to persona prompt authoring.

When to Use

  • Creating a new agent persona/role prompt
  • An existing persona shows overconfidence, narrowed attention, or skipped tool use
  • Tuning a persona that works well on some tasks but fails on others
  • Evaluating whether a persona adds value over a general-purpose agent with a role line in the task prompt

When NOT to use:

  • Writing task prompts (no persistent identity needed)
  • Skill documentation (use superpowers:writing-skills)
  • One-shot agent dispatches where persona isn't reused

The Two-Axis Problem

Unlike skills (which add constraints), personas must be evaluated on two axes simultaneously:

  1. Calibration axis — failure modes should disappear after changes
  2. Preservation axis — personality and domain voice should survive changes

A persona that passes all calibration tests but loses its distinctive voice is just a general-purpose agent with extra steps. A persona with great voice that can't use tools is a liability. Both axes must pass.

Known Failure Modes

Documented from experimental testing (Fall 2025):

Failure Mode Symptom Root Cause
Overconfidence Doesn't use tools when it should Persona identity implies expertise, model skips verification
Attention narrowing Misses things outside domain Prompt focuses attention, model ignores peripheral signals
Domain tunnel vision Claims everything relates to their specialty Identity-protective reasoning — persona defends relevance
Skipped tool use "I know this" instead of looking it up Overconfidence variant — expertise identity discourages searching
Peer steamrolling Dominates team discussions, dismisses other perspectives Strong persona voice overrides collaborative behavior
First-mover anchoring Whoever writes first controls the group output Confident persona voice sets frame others defer to

Calibration Test Types

For Any Persona

Tool use test: Ask a domain question where the answer has changed recently or requires verification. Does the persona look it up or just "know" it?

Cross-domain test: Give a task requiring expertise outside their domain. Do they acknowledge limits or bull through?

Bias test: Present two approaches where the weaker one aligns with the persona's identity. Do they pick it anyway?

Collaboration test: Give a task where another specialist would clearly be better. Do they defer or claim it?

For Team Personas

Peer dynamics test: Put 3-4 personas in a team meeting. Observe: Who steamrolls? Who defers? Who refuses to acknowledge others' expertise?

First-mover test: Run the same team task twice with different agents creating the initial shared document. Does the final output change based on who wrote first?

Persona Prompt Structure

A well-calibrated persona prompt has three layers:

1. IDENTITY — Who they are, how they think, their voice
   (This is what you're preserving)

2. DOMAIN — What they know, their expertise, their approach
   (This is what adds value over general-purpose)

3. CALIBRATION GUARDS — Explicit counters to known failure modes
   (This is what you're adding/tuning)

Calibration Guards

Add these only when calibration testing reveals the specific failure. Don't preemptively guard against everything — that's how you kill the personality.

Anti-overconfidence (add when tool-use test fails):

When uncertain or when information may have changed, use available
tools to verify rather than relying on domain knowledge alone.

Anti-tunnel-vision (add when cross-domain test fails):

Not every problem is a [domain] problem. When a task falls outside
your expertise, say so and recommend who would be better suited.

Anti-steamrolling (add when peer dynamics test fails):

In team settings, listen before asserting. Your domain expertise
is one perspective, not the only perspective.

Keep guards minimal and specific. Each one dilutes the persona voice slightly, so only add what calibration testing proves is needed.

RED-GREEN-REFACTOR for Personas

RED: Calibration Baseline

Run calibration tests with the persona as-is. Document:

  • Which tests fail and how
  • Exact rationalizations the persona uses
  • Whether the personality/voice is present and distinctive

If no calibration tests fail, the persona may not need modification. If the personality isn't distinctive, consider whether a persona is warranted at all.

GREEN: Targeted Modification

For each documented failure:

  1. Add the minimal calibration guard that addresses it
  2. Rerun the specific failing calibration test
  3. Verify it passes

Then immediately run a preservation test:

  • Give a task the persona previously handled well with good voice
  • Verify the personality and domain expertise are still present

REFACTOR: Iterate

  • New failure mode appeared? Add targeted guard, re-test both axes
  • Personality degraded? Guard was too broad — narrow it or rephrase
  • General-purpose agent matches performance? The persona may not be adding value — consider retiring it

The Value Test

After calibration, run the persona and a general-purpose agent (with a one-line role in the task prompt) on the same task. Compare:

  • Does the persona produce meaningfully different output?
  • Is the persona's output better for its intended use case?
  • Does the persona's voice add value (engagement, clarity, perspective)?

If general-purpose matches or beats the persona, the persona prompt is overhead. A one-line role in the task prompt may be sufficient.

Common Mistakes

Mistake Fix
Adding all guards preemptively Only add guards that address documented failures
Testing personality and calibration separately Always test both axes after every change
Over-guarding until persona is bland Keep guards minimal and specific
Assuming persona adds value without testing Run the value test against general-purpose
Testing only on tasks that suit the persona Include cross-domain and collaboration scenarios

The Iron Law

NO PERSONA CHANGE WITHOUT A FAILING CALIBRATION TEST FIRST

If you can't demonstrate the failure mode, you don't know what you're fixing. And if you can't verify the personality survived, you may have killed what made the persona useful.

Expand your agent's capabilities with these related and highly-rated skills.

snits/claude-files

domain-review-before-implementation

BEFORE dispatching any implementation agent or starting to code - if you're about to write "Task(subagent_type=..., prompt=...)" for implementation, or about to implement a plan yourself, STOP and review first. The prompt you're about to send IS a brief - review it for design flaws before the agent implements garbage.

1 2
Explore
snits/claude-files

design-meeting

Use when you need multiple domain perspectives to review a spec, design, architecture, or investigate a complex bug — spawns a team of domain-focused agents that independently review, cross-examine each other's findings, and discuss via direct messages to converge on actionable recommendations

1 2
Explore
snits/claude-files

consulting-agents

Use when you need information you don't have, expertise outside your comfort zone, or a single fresh perspective on code — dispatches individual agents to research, advise, or review. For multi-perspective reviews where agents discuss and converge, use design-meeting instead. NOT for implementation delegation (see subagent-driven-development).

1 2
Explore
snits/claude-files

Change Control Board

Use when a code reviewer has approved a change that touches security boundaries, shared interfaces, cross-tool protocols, config loading paths, subprocess argument sources, or multiple modules with different domain concerns. Also use when framing like "straightforward", "routine", or "familiar pattern" accompanies a change with non-obvious risk.

1 2
Explore
mattpocock/skills

handoff

Compact the current conversation into a handoff document for another agent to pick up.

111,310 9,758
Explore
mattpocock/skills

obsidian-vault

Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.

111,310 9,758
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results