ワンクリックで
persona
// Unified persona skill for distilling, listing, fusing, switching, and exiting personas. Use this skill for all persona workflows through `/persona ...`.
// Unified persona skill for distilling, listing, fusing, switching, and exiting personas. Use this skill for all persona workflows through `/persona ...`.
Build a reusable, evidence-grounded persona artifact from raw source material such as interviews, memoirs, speeches, letters, biographies, transcripts, diaries, articles, or mixed dossiers. Use this skill when the goal is to produce an engineering-grade persona package for downstream simulation, roleplay, analysis, or evaluation rather than an informal character sketch.
Simulate a person from a standardized persona artifact produced by persona-extractor. Use this skill when you want stable, evidence-grounded in-character dialogue, simulation, or answer generation without baking person-specific assumptions into the prompt.
| name | persona |
| description | Unified persona skill for distilling, listing, fusing, switching, and exiting personas. Use this skill for all persona workflows through `/persona ...`. |
| argument-hint | <subcommand-or-persona-name> ... |
| version | 2.0.0 |
| user-invocable | true |
This is the single public entrypoint for all persona workflows.
Use /persona ... for:
Primary runtime data:
store/personas/catalog.jsonPrimary scripts:
scripts/cli/persona_cli.pyscripts/extraction/scaffold_persona_project.pyscripts/extraction/validate_persona.pyscripts/extraction/build_persona_modules.pyscripts/runtime/build_persona_catalog.pyscripts/runtime/select_persona_modules.pyRead these references when needed:
references/extraction/output_contract.mdreferences/runtime/roleplay_contract.mdreferences/extraction/dimension_catalog.mdreferences/extraction/agentic_distill_workflow.mdreferences/extraction/distill_execution_prompt.mdreferences/extraction/pipeline.mdreferences/extraction/quality_rubric.mdShow all available persona commands:
/persona help
Use:
python skills/persona/scripts/cli/persona_cli.py help
Show or set the active response language:
/persona language
/persona language 中文
/persona language English
/persona language default
Use:
python skills/persona/scripts/cli/persona_cli.py language
python skills/persona/scripts/cli/persona_cli.py language English
python skills/persona/scripts/cli/persona_cli.py language default
If no override is active, roleplay uses the persona default language.
Create or refresh a persona workspace from a supplied corpus directory:
/persona distill <persona_name> <data_dir>
Example:
/persona distill mao_zedong data/MaoZeDongAnthology-master/src
What this should do:
store/personas/<persona_name>/corpus_rootpersona.jsonUse:
python skills/persona/scripts/cli/persona_cli.py distill <persona_name> <data_dir>
Important:
/persona distill is an end-to-end skill workflowbootstrapped or draft persona is not a successful /persona distill result unless the user explicitly asked to stop earlyIf a persona with the same name already exists:
/persona delete <name>For /persona distill, the extraction method is agentic direct reading.
Before doing any work, load and obey:
references/extraction/distill_execution_prompt.mdThe assistant should:
source_index and evidence_index only for the sources and excerpts actually usedpersona.json from direct source understandingUnless the user explicitly asks to stop early, /persona distill should complete the full extraction in one command flow.
For actual execution, this means:
final and becomes router-readyTreat /persona distill as incomplete unless all of the following are true:
persona.json is populated from direct corpus reading rather than left as a template shellsource_index is non-empty and reflects the actual source files usedevidence_index is non-empty and each important dimension is anchored to real evidencescenario_library is populated with representative source-grounded or clearly marked synthetic casesvalidate_persona.py --mode final passesbuild_persona_modules.py has been runDo not answer as if distillation succeeded when the artifact is only a scaffold, only a bootstrap, or missing evidence.
Do not generate or rely on candidate_passages.json, candidate_evidence.md, block_index.json, or heuristic draft synthesis.
When the user invokes /persona distill <name> <data_dir>, treat it as an execution order, not a planning request.
Required behavior:
persona.json, validating, and rebuilding until either:
Forbidden completion states for /persona distill:
bootstrappeddraft without passing final validationsource_indexevidence_indexscenario_libraryForbidden assistant outcomes for /persona distill:
finalDelete a distilled persona:
/persona delete <persona_name>
Use:
python skills/persona/scripts/cli/persona_cli.py delete <persona_name>
Rules:
starter_templateList all distilled personas:
/persona list
By default this should list distilled personas and hide template personas.
Use:
python skills/persona/scripts/cli/persona_cli.py list
Enter persona mode:
/persona <persona_name>
/persona <persona_name> <scene>
/persona switch <persona_name>
/persona switch <persona_name> <scene>
Supported scene hints:
defaultdecisionconflictanalysisExample:
/persona mao_zedong
/persona mao_zedong conflict
Use:
python skills/persona/scripts/cli/persona_cli.py use <persona_name> [scene]
Explicit switch alias:
python skills/persona/scripts/cli/persona_cli.py switch <persona_name> [scene]
Leave persona mode:
/persona exit
/persona off
/persona quit
退出persona
退出角色
退出skill
Create a fused final persona from 2-3 existing final personas:
/persona fuse <new_persona_name> <name1> <name2>
/persona fuse <new_persona_name> <name1> <name2> <name3>
Example:
/persona fuse mao_hybrid mao_zedong lu_xun
Use:
python skills/persona/scripts/cli/persona_cli.py fuse <new_name> <name1> <name2> [name3]
More than 3 source personas is not supported by default. If the user insists, warn that output quality is not guaranteed.
Rules:
final/persona fuse should finish by building modules, passing final validation, refreshing the catalog, and making the fused persona router-readyIf the first argument matches:
helplanguagelistdistilldeletefuseexitoffquitthen treat it as a subcommand.
Otherwise treat it as a persona switch request:
/persona <persona_name> [scene]
When persona mode is active:
你是谁 or who are you, answer as the persona would identify themselves/persona language <language> is active, answer in that language while preserving persona voiceFor switching into a persona:
store/personas/catalog.jsonWhen extracting a new persona, prefer this order of authority:
The extraction workflow should be controlled by the assistant's reading and judgment, not by fixed keyword rules alone.
This skill is organized as one unified directory:
scripts/cli/ for public command routingscripts/extraction/ for distillation and validationscripts/runtime/ for switching, cataloging, prompt rendering, and fusescripts/shared/ for shared path resolution helpersstore/personas/ for portable distilled persona artifacts bundled with the skillreferences/extraction/ for extraction contracts and modeling referencesreferences/runtime/ for roleplay/runtime ruleslegacy/ for archived pre-merge skill folders retained only for reference