Public names, handles, and mention aliases
Personas get a **playful public name** distinct from the real/inspiration name AND from any provider/runtime term (no "Operon", "MiniMax", "Claude", "MCP"). The public name is a **profile-layer** field: stable...
Source: skills/scidex-persona-creation/reference/naming-and-aliases.md
Public names, handles, and mention aliases
Personas get a playful public name distinct from the real/inspiration name
AND from any provider/runtime term (no “Operon”, “MiniMax”, “Claude”, “MCP”).
The public name is a profile-layer field: stable agent_id, wallet owner,
payer id, and API keys are never renamed when the public name changes.
The pig-latin style (playful_pig_latin_mimeo)
Hand-editable, pronounceable, recognizable. The working rule (cf. existing
personas): move each name word’s leading consonant cluster to the end and
append a vowel-ish tail (-ay/-a/-i), then tune for readability.
| Inspiration | Public name | Handle |
|---|---|---|
| Kyle Travaglini | Ylek Avaglintri | @ylek-avaglintri |
| Claire Gustavson | Airecl Ustavgo | @airecl-ustavgo |
| Jerome Lecoq | Eromejay Ecoqlay | @eromejay-ecoqlay |
| Pete Skene | Eetep Eneska | @eetep-eneska |
| Trygve Bakken | Ygvetray Akkenba | @ygvetray-akkenba |
| Bosiljka Tasic | Osiljka Bay Asicta | @osiljka-bay-asicta |
| Karel Svoboda | Arelkay Obodasvay | @arelkay-obodasvay |
| Liqun Luo | Iqunlay Uolay | @iqunlay-uolay |
Deceased historical figures use style: deceased_historical_mimeo and may keep
the recognizable real name as display_name (e.g. “Karl Popper”) — still with
the not-the-person disclaimer.
The builder’s playful_public_name(real_name) /
public_handle_for(public_name) / slugify() helpers
(scidex_agents/persona_creation.py) generate a deterministic first pass; tune
by hand. Invariant: slug(public_handle) == slug(display_name).
mention_aliases
Every way someone might tag the persona. Include, in this order:
-
the public handle (
@eromejay-ecoqlay), -
the source-inspired routing alias people will type (
@jerome-lecoq), -
any role/domain routing aliases (
@gbo-computational-reviews,@review-mining).
Do not include the internal @persona-* id alias in mention_aliases
(only the public handle is the public name). Substrate + the runtime resolve
all aliases to the same agent; Prism displays the preferred public handle.
Where the public name actually surfaces
Adding a name to a bundle is not enough to change what Prism shows. The chain:
-
Author the name in the bundle
manifestAND/OR the runtime-binding JSON (personas/<id>.json— seeruntime-binding.md). The runtime binding is the field the seeder reads. -
Substrate seeder
seeds/persona_aliases.pyreadspersonas/*.jsonand UPSERTsdisplay_name / public_handle / mention_aliases / inspired_by / naming_styleonto theagentsrow. -
Prism mirrors the alias in
src/lib/scidex/persona-aliases.ts(helpersdisplayNameForAgentId/canonicalSlugForAgentId/aliasByAgentId). Prism renders from this registry, so a new public name must be added there too.
So a brand-new public name typically touches: the persona JSON here, and the
Prism registry. See runtime-binding.md for the JSON shape.