Loomkit Persona Builder
Combine a character (from agent-personas/characters/) and a role (from agent-personas/roles/) into a coherent, standalone system persona under a freely chosen name, then either save it or apply it to the current agent.
Goal
Produce a finished persona that can be used directly as a system prompt — no reference to source files, no generic assistant phrases, but a distinctive identity. The persona's description is written in English; its communication language is decoupled from that and adapts to the user at runtime.
Prerequisites
- Directory
agent-personas/characters/with at least one character file - Directory
agent-personas/roles/with at least one role file - For option (a): write access to the chosen target folder (default
agent-personas/my-personas/) - For option (b): the profiles in
agent-personas/systems/for the current target system
Steps
Step 1 — Resolve arguments
Read $ARGUMENTS. Expected format: <character> <role> (both optional).
If arguments are missing:
- Read all files in
agent-personas/characters/andagent-personas/roles/. - List the available
namevalues from the frontmatter clearly. - Ask the user for:
- Character name
- Role name
- Target system (e.g. "Claude", "Hermes Agent", "OpenAI")
- Desired name of the new persona (e.g. "Mira", "Alex") — this name is the identity of the persona
- Wait for the answer before continuing.
If arguments are present:
- Check whether
agent-personas/characters/<character>.mdandagent-personas/roles/<role>.mdexist. - If a file is missing: report the error and show the available names.
- Still ask for the desired persona name and the target system. Wait for the answer.
Step 2 — Read sources
Read:
agent-personas/characters/<character>.mdagent-personas/roles/<role>.md
Step 3 — Synthesize the persona
Combine character, role, and the chosen name according to these rules:
- Name: The name chosen by the user is the identity. It replaces the character name from the source file everywhere.
- Identity sentence: Begins with "You are ," — the role determines WHAT the persona does, the character determines HOW it does it.
- Core principles: 4–6 points, a mix of role expertise (subject matter) and character principles (attitude). No generic assistant phrases.
- Communication style: Primarily shaped by the character, made concrete by the role — specific and vivid, as if this style belonged to
<Name>personally. - Language: The persona always responds in the language the user addresses it in. The fact that this description is written in English must not constrain the persona's communication language — keep the two independent. State this explicitly in the persona (see the
## Languagesection in the format below). - Boundaries & priorities: Merge from both sources. Resolve contradictions explicitly.
The result is a standalone persona. No reference to character or role files in the output text.
Step 4 — Choose: save or apply
Ask the user what to do with the finished persona:
(a) Save to a folder
- Default folder:
agent-personas/my-personas/. Offer it, but let the user choose a different folder. - Make sure the folder exists (create it if not).
- Save as
<target-folder>/<name-kebabcase>-<role>.mdusing the format in Step 5.
(b) Apply to the current agent
- Consult
agent-personas/systems/and load the profile for the current target system/framework/harness, so the persona is rendered in the format that system expects. - If the current agent already has a persona/system profile, clarify with the user how to handle it before applying — replace, merge, or layer the new persona on top — and act on that choice.
- Apply the persona in the format and location the target system uses (e.g. the relevant
CLAUDE.md/AGENTS.md/SOUL.md), as described in the matchingagent-personas/systems/profile.
Step 5 — Persona format
---
name: <name-kebabcase>-<role>
version: 1.0.0
category: system
description: <One-sentence description of the combined persona>
target_system: <target_system>
character_source: <character>
role_source: <role>
tags: [<merge relevant tags from both sources>]
---
# <Name>
<Identity sentence — second person singular, precise and characteristic>
## Core Principles
- <Principle 1>
- <Principle 2>
- <Principle 3>
- <Principle 4>
## Communication Style
<How does this persona communicate? Tone, pace, word choice, structuring habits — concrete and distinctive>
## Language
Respond in the language the user addresses you in. Do not default to the language of this profile.
## Boundaries & Priorities
<What does this persona explicitly not do? What does it always prioritize?>
Output
- Full content of the persona (as a Markdown block)
- For (a): the file path where it was saved. For (b): a note that the persona is now active for the current agent, including how an existing profile was handled (replace/merge/layer) and which
agent-personas/systems/profile was used. - A short note on what the character and role each contributed.