From persona-hub
Create or enrich a persona from folders, files, URLs, or text
How this skill is triggered — by the user, by Claude, or both
Slash command
/persona-hub:persona-hub-createThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new persona or enrich an existing one from source materials.
Create a new persona or enrich an existing one from source materials.
| Mode | Trigger | What happens |
|---|---|---|
| Create | /persona-hub-create on a new name | Scaffolds a new persona directory and populates from sources |
| Enrich | /persona-hub-create on an existing persona | Adds new findings to existing dimension files from new sources |
Ask for what you don't already know:
real (public figure), fictional (character), or composite (archetype/blend)| Source | Quality | Example |
|---|---|---|
| Folder of files | Best | ./transcripts/, ./interviews/ — bulk ingestion of many files at once |
| Individual files | Great | speech.txt, interview.md, podcast-transcript.txt |
| URLs | Good | Links to articles, interviews, public statements |
| Description | OK for start | "He's a fast-talking NYC real estate guy who..." |
| "Start minimal" | MVP only | Creates skeleton files the user fills in later |
Always encourage more sources. A persona built from one description will be shallow. A persona built from 50+ transcripts will feel real. Tell the user:
The more source material you provide, the more authentic the persona will be. Transcripts, interviews, speeches, and writings work best — they capture how someone actually talks, not how others describe them. You can always add more sources later with
/persona-hub-create <name>.
When the user points to a folder:
.txt, .md, .json, .csv, .yaml)sources/sources.yamlThis is the recommended workflow for building rich personas. Example:
User: /persona-hub-create Elon Musk
Agent: What sources do you have?
User: I have a folder of interview transcripts at ./musk-interviews/
Agent: Found 47 files in ./musk-interviews/. Processing...
Skip this step if enriching an existing persona.
elon-musk./personas/<slug>/ if personas/ exists in cwd, otherwise ~/.persona-hub/personas/<slug>/persona.yaml, identity.md, voice.md, sources/sources.yaml, changelog.mdbeliefs.md, knowledge.md, relationships.md if sources support themversion: "1.0"
id: <slug>
name: "<Full Name>"
type: <real|fictional|composite>
status: draft
summary: >
<2-4 sentence description>
dimensions:
- file: identity.md
priority: required
description: "Core identity and background"
- file: voice.md
priority: required
description: "Speaking style and verbal patterns"
agent_notes: >
Load required files always. Voice patterns override generic LLM tendencies.
created: <today>
last_updated: <today>
primary_author: ""
tags: []
Add more dimension entries as you create them (beliefs.md, knowledge.md, etc.).
Every .md dimension file starts with YAML frontmatter:
---
dimension: <name>
version: 1
last_updated: <today>
confidence: medium
sources: [<source-ids>]
---
Read each source and distribute findings to the right dimension file:
voice.md (required) — How they talk
identity.md (required) — Who they are
beliefs.md (recommended) — What they think
knowledge.md (recommended) — What they know
relationships.md (supplementary) — Who matters to them
Every claim should have an inline citation:
He frequently uses superlatives [source:interview-2024-03, confidence:high]
Confidence levels:
high — direct quote or repeated pattern across multiple sourcesmedium — clearly implied from source materiallow — single instance or reasonable inferencespeculative — educated guess, flagged for verificationAdd every source to sources/sources.yaml:
sources:
- id: interview-2024-03
type: transcript
title: "Joe Rogan Interview March 2024"
date: "2024-03-15"
path: "./transcripts/rogan-2024-03.txt"
word_count: 12500
Check if the minimum viable persona exists:
persona.yaml has name, type, summary ✓identity.md has content beyond frontmatter ✓voice.md has content, including anti-patterns ✓If yes: set status: active in persona.yaml, offer to activate with /persona-hub <name>
If no: keep status: draft, tell user what's missing
Show the user what was created/updated:
Persona: {name}
Status: {active|draft}
Sources processed: {count}
Dimensions: {list of files created/updated}
Total content: ~{word count} words
Next steps:
- Activate: /persona-hub <name>
- Add more sources: /persona-hub-create <name>
- Edit manually: {path to persona directory}
When /persona-hub-create targets an existing slug:
version in each updated file's frontmatterlast_updated datessources/sources.yamlchangelog.md:
## v{version} — {date}
- Added {count} new sources
- Updated: {list of dimension files changed}
- Key additions: {brief summary}
Important: When enriching, look for:
npx claudepluginhub asimokby/persona-hub --plugin persona-hubCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.