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