story-roleplay

Parse SillyTavern character cards and world info files from PNG, WebP, and JSON formats.

Updated Jul 30, 2026
One-click install
npx skills add https://github.com/executiveusa/SYNTHIA-3.1 --skill story-roleplay-executiveusa
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: story-roleplay
Source: https://github.com/executiveusa/SYNTHIA-3.1/tree/main/03-brain/apps/control-room/openclaw-logic/synthia-3.0-backend/Synthia-3.0-opensource/AionUi-main/AionUi-main/skills/story-roleplay
Command: npx skills add https://github.com/executiveusa/SYNTHIA-3.1 --skill story-roleplay-executiveusa

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires png-chunks-extract, png-chunk-text, and includes scripts (resource) components.

What problem does it solve? Character cards and world info files exported from SillyTavern embed data as Base64-encoded JSON inside PNG or WebP image metadata, making them unreadable without a dedicated parser. This Skill extracts that data reliably and applies it to roleplay conversations, eliminating manual decoding and preventing fabricated character information. ## Core Features & Use Cases - Character Card Parsing: Extract name, description, personality, scenario, first message, and system prompt from PNG (chara/ccv3 keywords), WebP, or JSON files in Tavern Card V2/V3 format. - World Info Parsing: Extract keyword-triggered world info entries (naidata keyword) with priority ordering and enable/disable flags for dynamic context injection. - Character Book Handling: Apply character-specific knowledge base entries alongside world info with priority awareness during conversations. - Use Case: A user downloads a SillyTavern character card PNG and asks the AI to load it; the Skill runs the parser script, saves the result as character.json, and starts the roleplay using the character's first message and system prompt. ## Quick Start Load the character card from character.png and start the roleplay using its personality and opening message.

Frequently Asked Questions about story-roleplay

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse a SillyTavern character card PNG file?▼

Run the parse-character-card.js script with Node.js, passing the image path and an output JSON path: node parse-character-card.js character.png character.json. The script extracts Base64-encoded JSON from the PNG tEXt chunks under the chara or ccv3 keyword.

How to extract world info from a PNG image?▼

Use the same parser script with the --world-info flag: node parse-character-card.js world-info.png world-info.json --world-info. It looks for the naidata keyword in the PNG text chunks and decodes the embedded entries array.

Does the parser support WebP character cards?▼

WebP parsing is not directly supported by the script. The recommended approach is to convert the WebP image to PNG first and then run the PNG parser, or ask the user to provide the JSON format exported from SillyTavern.

Why does parsing fail with 'PNG metadata does not contain any text chunks'?▼

This error means the image has no tEXt chunks, so it is likely not a valid SillyTavern character card export. Verify the image was exported from SillyTavern with embedded character data, or request the JSON version of the card instead.

What character card formats are compatible with SillyTavern?▼

The skill supports Tavern Card V2 and V3 JSON formats, PNG images with chara (v2) or ccv3 (v3) embedded data, and world info via the naidata keyword. V3 data takes precedence over V2 when both are present in the same image.