soul-chat
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/ |
More from simhacker/moollm
self-repair
Missing state triggers repair, not failure.
37probability
Motto: The LLM is the dice. It narrates the outcome.
30memory-palace
Spatial organization of knowledge in navigable directories
28persona
Identity layers for characters — WHO they are vs WHAT they do
25dog
Canine interactions, loyalty mechanics, and pack dynamics
22storytelling-tools
Build narrative capture and sharing into the system.
20