Feature Request: Persona Profiles — switchable bundles of model, writing style, skills, and constraints

4 min read Original article ↗

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

Summary

As someone who uses Claude Code across multiple professional domains — education content, marketing, and professional standards — I find myself repeatedly re-establishing context at the start of every session. I have to manually re-specify my writing register, activate the right skills, and adjust the quality bar depending on which "hat" I'm wearing. This is friction that compounds across dozens of sessions.

The Problem

My daily workflow spans at least three distinct operating modes:

  • Education — formal, CPD-compliant writing, structured learning outcomes, enterprise-grade HTML modules
  • Marketing — persuasive, audience-aware copy, brand voice, GTM positioning
  • Professional Standards — precise, board-ready language, regulatory tone, no ambiguity

Each mode requires a different writing style, a different set of active skills, and ideally a different model (e.g. Opus for complex strategy work, Sonnet for fast drafting). Right now, none of this is bundled — I have to reconstruct the context manually or hope my CLAUDE.md covers it.

A Persona Profile is a named, switchable bundle containing:

  • Model selection (e.g. Opus 4 for strategy, Sonnet for drafting)
  • Writing style / register (formal, persuasive, technical, educational)
  • Active skills (which slash commands and skill files are loaded)
  • Quality bar and constraints (e.g. "Board-ready polish, no forced linear progression")
  • CLAUDE.md overrides specific to that persona

The user can define multiple profiles and switch between them with a single click or command — e.g. /profile education, /profile marketing, /profile strategy.

Why This Matters

The current workaround is directory-level CLAUDE.md files, but this:

  • Requires navigating to a different project directory to change context
  • Doesn't change the active model
  • Doesn't activate/deactivate skills
  • Isn't visible or selectable from the UI

A persona profile would be a first-class concept in Claude Code settings — visible in the UI, switchable at session start, and portable across machines.

Real-World Impact

Over 58 sessions I've worked across all three domains above. The time spent re-establishing context — re-specifying tone, quality bar, constraints, and skills — is a consistent tax on every session start. A one-click profile switch would eliminate that entirely and make Claude Code meaningfully more useful for professionals who work across domains.

Suggested Implementation

  • Profiles defined in ~/.claude/profiles/ as markdown files (similar to skills)
  • Each profile specifies: model, writing_style, active_skills[], claude_md_additions
  • Selectable via /profile <name> command or a dropdown in the Claude Code UI
  • Active profile shown in the status line

Proposed Solution

A named Persona Profile stored in ~/.claude/profiles/ as a markdown file, containing:

  • model — which Claude model to use (e.g. claude-opus-4-7 for strategy, claude-sonnet-4-6 for drafting)
  • writing_style — register and tone descriptor (e.g. "formal CPD-compliant", "persuasive marketing", "board-ready executive")
  • active_skills[] — list of skills to load automatically at session start
  • claude_md_additions — persona-specific CLAUDE.md overrides (quality bar, constraints, anti-patterns)

Interaction model:

  • Switch via /profile <name> slash command at session start
  • Or select from a dropdown in the Claude Code UI session header
  • Active profile name shown in the status line so the user always knows which context is active
  • Profiles are portable — stored in ~/.claude/ so they transfer across machines

Alternative Solutions

The current workaround is directory-level CLAUDE.md files, but this approach has significant limitations:

  • Requires navigating to a different project directory to change context
  • Does not change the active model
  • Does not activate or deactivate skills
  • Is not visible or selectable from the UI
  • Cannot be easily transferred to a new machine as a named profile

Manually re-specifying tone, quality bar, and constraints at the start of each session works but creates repeated overhead across every session.

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

No response

Additional Context

No response