Skip to main content

/role

View or change your role. Role is a personal setting that filters which platform capabilities Claude offers you.

Why this exists

bewith-docs serves two audiences — developers (default) and product (currently Gali, possibly more). Without a role, the capability-awareness hook would offer everyone everything: dev sessions would get product agents during coding, product sessions would get dev tooling during spec writing. Role + the audience field on every artifact makes the offers relevant.

Usage

FormWhat it does
/roleShow current role, its source (permanent / session / default), and how it filters.
/role devSet role to dev (permanent).
/role productSet role to product (permanent).
/role dev --sessionSet role to dev for the next 4 hours only.
/role product --sessionSet role to product for the next 4 hours only.

Default for any user without a saved role is dev. Most developers never need to set it explicitly.

What happens after you change role

Role now lives in the unified per-developer config (~/.bewith/config.json); /role is the shortcut, /settings the full surface.

  • Permanent change is written to config.json .role (with a write-through copy to user_role.md for the transition). It applies to every session in this project until you change it again.
  • Session-only change is written to ~/.claude/session-state.json with a 4-hour expiry. The next session reverts to your permanent role.

The capability-awareness hook re-reads role at the start of every session — there is no daemon to restart.

Arguments

$ARGUMENTS — one of dev, product, dev --session, product --session, or empty.

Cross-references