← ClaudeAtlas

st-personalisted

Convert a SillyTavern character into a user persona — migrates visuals, lorebook link, avatar.
haingt-dev/agent · ★ 0 · AI & Automation · score 65
Install: claude install-skill haingt-dev/agent
# ST Persona — Character → Persona Migration Hai's flow: import char from Chub/Janitor → find interesting → decide "this is my persona" → convert. ST has no built-in equivalent for `char_prompts` on the persona side, so visual baseline must move INTO `persona_description` text (LLM extracts during Mode 4). This skill automates the migration. **Usage:** ``` /st-persona Parasite # convert, KEEP original char file (default safe) /st-persona Parasite --remove # convert AND delete original char file ``` ## Constants ``` ST_DATA = /home/haint/Projects/home-server/sillytavern/data/default-user ST_SCRIPTS = /home/haint/Projects/home-server/scripts ``` --- ## Phase 0: Parse + Validate Extract from `$ARGUMENTS`: - `CharName` = first non-flag token - `remove_original` = `--remove` flag present Validate: - `$ST_DATA/characters/{CharName}.png` must exist (source character) - `$ST_DATA/User Avatars/{CharName} (Persona).png` must NOT exist — if it does, ask user: overwrite, rename, or abort? --- ## Phase 1: Gather Source Data **Read existing char_prompts via MCP** (path-based, may be empty/missing if /st-setup not yet run): ```python import json try: char_visual_pos = json.loads(mcp__st__st_get_settings(path=f"extension_settings.sd.character_prompts.{CharName}")) except Exception: char_visual_pos = '' # key absent try: char_visual_neg = json.loads(mcp__st__st_get_settings(path=f"extension_settings.sd.character_negative_prompts.{CharName}")) except Exce