Automated summary
Soul Chat lets you write Markdown dialogues in which any entity — a character, document, directory, tool, or concept — speaks in the first person and shares data through embedded typed code blocks (YAML/JSON).
Strengths
- Human-readable Markdown format using '## Speaker Name' headers with typed code blocks woven into the dialogue
- Explicit entity taxonomy (character, document, room, object, concept, bot) that guides each speaker's voice
- Clear file placement and naming conventions: subject first, chat files kept outside the skill directory
- Ready-made templates (CHAT.md.tmpl, CHARACTERS.yml.tmpl, ENTITIES.yml.tmpl) to get started fast
Limitations
- The meaning carried by structure and YAML-JAZZ conventions is implicit and requires reading the linked protocols to use fully
- Heavily tied to the MOOLLM ecosystem (PROTOCOLS.yml, sister skills), so many references won't apply outside it
- No automated validation of dialogue structure is described
Use it when you want to give voice to documents, concepts, or agents and produce a structured conversation in which data passes between speakers.
Security analysis
SafeThe skill only declares read_file and write_file and provides a creative protocol for writing dialogues between characters, documents, rooms, and concepts. It does not execute commands, access networks, exfiltrate data, or instruct destructive behavior.
No concerns found
How this analysis is madeExamples
Create a soul-chat file readme-symposium.md where README.md, the skills/ room, and the YAML-JAZZ concept discuss how newcomers find their way around the repo. Use ## speaker headers and let each one share a small YAML block.Write a soul-chat between the fs.read tool and a config document, each speaking in first person, where the document describes what it contains in an embedded YAML block.Set up a soul-chat debate in a Markdown file between two opposing personas about our naming conventions, with each speaker embedding structured observations.name: soul-chat description: "Everything is alive. Everything can speak." license: MIT tier: 1 allowed-tools:
- read_file
- write_file related: [moollm, society-of-mind, character, persona, room, card, mind-mirror, yaml-jazz, adversarial-committee, speed-of-light] tags: [moollm, dialogue, voice, alive, multi-agent]
Soul Chat
"Everything is alive. Everything can speak."
"YAML Jazz" and "Markup With Typed Code Blocks" dialogues between characters, objects, rooms, documents, concepts—anything with a soul.
[!TIP] Give anything a voice. Characters, concepts, documents, rooms — if it exists, it can speak.
What This Is
A skill for creating conversations where the structure carries meaning beyond the words. Not just characters talking—documents can talk to documents, rooms can welcome visitors, concepts can explain themselves.
Prefer Markdown format — more human readable, can embed any typed code block.
Format: ## Speaker Name headers, prose, then typed code blocks for data.
# Example structure (not a real code block, just illustration):
#
# ## The Gardener
#
# I've been tending these patterns for a while now.
#
# ```yaml
# observation:
# pattern: "Files cluster by prefix"
# ```
#
# ## The Archivist
#
# Let me add some context...
Characters share data by embedding YAML/JSON blocks in their dialogue — YAML-JAZZ in action.
Contents
| File | Purpose | |------|---------| | SKILL.md | Full protocol documentation | | CHAT.md.tmpl | Chat template | | CHARACTERS.yml.tmpl | Characters template | | ENTITIES.yml.tmpl | Entities template |
Quick Start
Chats live OUTSIDE this directory (per ABOUT-NOT-INSIDE).
Use Markdown format — .md not .yml.
Name chats with the subject first: readme-symposium.md, yaml-jazz-debate.md
See CHAT.md.tmpl for the full template.
Entity Types
| Type | Voice | Example |
|------|-------|---------|
| character | First person, personality | The Gardener |
| document | "I contain..." | README.md |
| room | "I hold..." | skills/ |
| object | "I do..." | fs.read tool |
| concept | "I am the principle..." | YAML-JAZZ |
| bot | "I watch for..." | repair-demon |
The Intertwingularity
Everything speaks. Everything is connected.
graph LR
SC[💬 soul-chat] -->|voices| TC[🎴 card]
SC -->|voices| R[🚪 room]
SC -->|voices| DOC[📄 documents]
SC -->|voices| CON[💡 concepts]
TC -->|has voice via| SC
R -->|welcomes via| SC
Dovetails With
Sister Skills
| Skill | Relationship | |-------|--------------| | card/ | Cards speak through soul-chat. Hero-stories have voice. | | room/ | Rooms can welcome visitors, have personality | | memory-palace/ | Rooms in palace can speak, guide navigation | | adventure/ | NPCs and environments speak | | adversarial-committee/ | Committee debates are soul-chats with opposing personas | | speed-of-light/ | Many voices in one call — soul-chat's power |
Protocol Symbols
| Symbol | Link |
|--------|------|
| SOUL-CHAT | PROTOCOLS.yml |
| YAML-JAZZ | PROTOCOLS.yml — Comments carry meaning |
| ABOUT-NOT-INSIDE | PROTOCOLS.yml — Chat files live outside |
| BIG-ENDIAN | PROTOCOLS.yml — Naming conventions |
Kernel
- kernel/NAMING.yml — How to name chat files
Navigation
| Direction | Destination | |-----------|-------------| | ⬆️ Up | skills/ | | ⬆️⬆️ Root | Project Root | | 🎴 Sister | card/ | | 🚪 Sister | room/ |
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/soul-chat-give-voice-to-any-entity-mmh8qqyl/download' --output '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md.part' && mv '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md.part' '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md' && test -s '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/soul-chat' && cp -R '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl' '.claude/skills/soul-chat'Cursor
test -f '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md' && test -s '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/soul-chat' && cp -R '.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl' '.cursor/skills/soul-chat'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl'openskills read 'soul-chat-give-voice-to-any-entity-mmh8qqyl'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/soul-chat-give-voice-to-any-entity-mmh8qqyl/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Writing Fragments
Content
Mine raw writing fragments through a relentless interview, without imposing structure. Capture ideas, quotes, and leading words for later use.
UI Copywriting & Auditing
Content
Write or audit user-facing UI copy including buttons, errors, empty states, and tooltips across the monorepo, following the design system source of truth.
Music MIDI Extraction
Content
Extracts the MIDI or score from an existing music production via the CogMusic MCP tool and confirms availability.