Skip to main content

Soul Spec Overview

Soul Spec is an open standard for AI agent persona packages. It defines a structured set of files that give an AI agent a persistent identity, personality, and behavioral rules.

Package Structure​

A soul package contains these files:

my-soul/
├── soul.json # Required: metadata
├── SOUL.md # Required: core personality
├── IDENTITY.md # Optional: name, role, traits
├── AGENTS.md # Optional: workflow & behavioral rules
├── STYLE.md # Optional: communication style
├── HEARTBEAT.md # Optional: periodic check-in behavior
├── USER_TEMPLATE.md # Optional: user profile template
├── avatar/ # Optional: avatar image
│ └── avatar.png
└── examples/ # Optional: calibration examples
├── good-outputs.md
└── bad-outputs.md

soul.json​

The metadata file. Defines the soul's identity, compatibility, and file paths.

Required Fields​

FieldTypeDescription
specVersionstringSpec version: "0.3", "0.4", or "0.5"
namestringUnique identifier (kebab-case)
displayNamestringDisplay name
versionsemverPackage version
descriptionstringOne-line description (max 160 chars)
authorobject{ name, github }
licensestringSPDX identifier
tagsstring[]Search tags (max 10)
categorystringCategory path (e.g., "work/devops")
files.soulstringPath to SOUL.md

Optional Fields​

FieldTypeDescription
compatibility.openclawstringMin OpenClaw version
compatibility.modelsstring[]Recommended models (glob)
compatibility.frameworksstring[]Compatible frameworks (v0.4+)
allowedToolsstring[]Expected tools (v0.4+)
recommendedSkillsobject[]Skills with version constraints (v0.4+)
disclosure.summarystringOne-line summary for progressive disclosure (v0.4+)

File Purposes​

SOUL.md​

The core personality file. Defines who the agent is, how it thinks, and what principles it follows. This is the only required markdown file.

IDENTITY.md​

Name, role, background, appearance, and other identity traits. Separating identity from personality allows mixing and matching.

AGENTS.md​

Workflow rules, tool usage patterns, safety guidelines. How the agent operates day-to-day.

STYLE.md​

Communication tone, formatting preferences, language patterns. How the agent writes.

HEARTBEAT.md​

What the agent does during idle/periodic check-ins. Common for always-on agents.

Version History​

VersionDateKey Changes
v0.52026-02-24Robotics/embodied agents, sensors, actuators, hardware-aware personas
v0.42026-02-20Multi-framework compatibility, recommendedSkills, progressive disclosure
v0.32026-02-16specVersion field, soul.json rename, license allowlist

Note: v0.1 and v0.2 were internal development specs. The registry requires v0.3 or higher.

Allowed Licenses​

Souls published to the registry must use one of these SPDX identifiers:

MIT, Apache-2.0, CC-BY-4.0, CC0-1.0, ISC, BSD-2-Clause, BSD-3-Clause, Unlicense

Next Steps​