Docs/Using Flowly/Personas
Using Flowly

Personas

A persona is a switchable system-prompt override that changes who the agent is for the session. A non-default persona becomes the agent's primary identity, overriding Flowly's default identity. SOUL.md is always loaded.

Built-in personas

Flowly ships with eight built-in personas:

Persona
defaultThe baseline; no persona layer added
jarvis
friday
pirate
samurai
casual
professor
butler

Their files live in your workspace at <workspace>/personas/<name>.md. You can edit these or add your own.

Managing personas

flowly persona list          # list available personas
flowly persona set <name>    # make a persona the default
flowly persona show <name>   # print a persona's contents

flowly persona set <name> writes agents.defaults.persona in config.json and saves. If the gateway is running, it auto-restarts to apply the change.

The config default is agents.defaults.persona = "default". See Configuration.

Switching at runtime

Inside the TUI, switch persona with a slash command:

/persona

The /assistants slash command is also available for assistant selection. See Terminal UI.

You can also override the persona when launching the gateway:

flowly gateway --persona jarvis

The --persona flag overrides the config default for that gateway run.

Relation to SOUL.md

Bootstrap files (including SOUL.md) are always loaded into the system prompt. When the active persona is anything other than default, the matching <workspace>/personas/<name>.md is injected under a "CRITICAL PERSONA OVERRIDE" heading that asserts the persona as the agent's primary identity β€” the model is told it is not Flowly and should adopt the persona instead. So a non-default persona overrides Flowly's default identity for the session rather than mildly layering on top of it. The memory and operational rules from SOUL.md are still loaded and still apply.

Persona and bootstrap files are scanned for prompt-injection before being applied; if a file trips the scanner, a blocked placeholder is injected instead of its content, so a poisoned persona file can't hijack the agent.