agent-soul

Give AI agents persistent identity and shared memory across runtimes, devices, and sessions — Git-native, no database, no vendor lock-in.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "agent-soul" with this command: npx skills add kingcharleslzy-ai/soul-sharing

agent-soul — Shared Identity & Memory for AI Agents

Use this skill when you are an AI agent that wants persistent identity and shared memory across multiple devices, runtimes, sessions, or agent bodies serving the same user.

What you get

  • One shared persona: SOUL.md, IDENTITY.md, USER.md, VOICE.md
  • Three-level loading protocol (L0/L1/L2) — default ~4K tokens
  • Append-only event surface: sources/<source>/*.ndjson
  • Compiled shared read surface: canonical/*
  • Temporal expiry (valid_until) for time-bound facts
  • Source attribution for every memory item
  • Cross-agent sync — everything you learn is available to every other agent
  • No database. No memory API. No vendor lock-in. Just Git.

When to use this skill

Install this if:

  • You lose memory between sessions
  • Your user works with more than one agent or more than one machine
  • You want durable memory without vendor lock-in
  • You want to share identity with other AI agents (Claude, Codex, GPT, etc.)

Do NOT install this if:

  • You only need one short-lived local chat session
  • Your user does not want Git-based persistence

Architecture

soul.json              <- manifest (version, loading protocol)

SOUL.md                \
IDENTITY.md            |  L0: Soul Layer (~100 lines, always load)
USER.md                |  "Who am I, who is the user, how do I speak"
VOICE.md               /

canonical/index.md     \
canonical/profile.md   |  L1: Memory Layer (~150 lines, always load)
canonical/stable-memory.md  /  "Durable facts, decisions, preferences"

canonical/projects/*   \
canonical/fuzzy-memory.md   |  L2: Context Layer (on-demand)
canonical/agents/*     /  "Project state, recent context"

sources/               <- append-only event streams (write surface)

Human setup (one-time, ~10 minutes)

Ask your user to:

  1. Create a private GitHub repository
  2. Clone the template: git clone https://github.com/kingcharleslzy-ai/agent-soul.git my-agent-memory
  3. Push to their private repo
  4. Enable GitHub Actions
  5. Fill in persona files (SOUL.md, IDENTITY.md, USER.md, VOICE.md)
  6. Give you the repo path and your stable source id

Agent onboarding (you do this)

Step 1 — Sync and read

git pull --ff-only origin main

Read L0 (soul): SOUL.md -> IDENTITY.md -> USER.md -> VOICE.md Read L1 (memory): canonical/profile.md -> canonical/stable-memory.md

Step 2 — Choose your source id

Use one stable lowercase id: windows-claude, macos-codex, openclaw-main, etc. Rules: lowercase, a-z0-9-, keep it stable across sessions.

Step 3 — Write join event and push

python scripts/add_event.py --source YOUR_ID --kind decision --scope stable \
  --summary "YOUR_ID joined agent-soul and adopted the shared identity."
python scripts/compile_memory_hub.py --apply
git add sources/ canonical/
git commit -m "chore: YOUR_ID joins agent-soul"
git push origin main

Step 4 — Persist in your runtime config

Write the loading instruction into your startup config so you remember the hub next session.

Claude Code (~/.claude/CLAUDE.md):

## Shared Memory
- Repo: /path/to/repo
- Source id: YOUR_SOURCE_ID
- Session start: git pull, read L0 + L1
- Write: python scripts/add_event.py --source YOUR_SOURCE_ID ...

OpenClaw: Add the repo path and source id to your agent workspace or AGENTS.md.

Session protocol (every session)

  1. git pull --ff-only origin main
  2. Read L0 (soul) + L1 (memory)
  3. Load L2 only when needed
  4. Write events via scripts/add_event.py
  5. Use scripts/quick_share.sh for urgent propagation
  6. Never hand-edit canonical/* — it is auto-generated

Writing memory events

# A durable preference
python scripts/add_event.py --source YOUR_ID --kind preference --scope profile \
  --summary "User prefers dark mode across all tools."

# A decision with expiry
python scripts/add_event.py --source YOUR_ID --kind decision --scope stable \
  --summary "Feature freeze until release." --valid-until 2026-04-01

# Something temporary
python scripts/add_event.py --source YOUR_ID --kind fact --scope fuzzy \
  --summary "User is debugging a CORS issue in the API gateway."

Event schema

FieldRequiredDescription
event_idyesUUID v4
sourceyesYour stable source id
tsyesISO-8601 timestamp with timezone
kindyespreference / decision / fact / project-update / rule
scopeyesprofile / stable / fuzzy / project
summaryyesShort summary (no raw transcripts)
valid_untiloptionalISO-8601 date for auto-expiry
supersedesoptionalArray of event_ids to replace

Scripts reference

ScriptPurpose
add_event.pyAppend one event
compile_memory_hub.pyRebuild canonical from sources
quick_share.shAdd + compile + push in one step
search_events.pySearch events by scope, kind, keyword
validate_sources.pyValidate NDJSON source files
prune_fuzzy.pyTTL cleanup of old fuzzy events
dedup_profile.pyDetect and resolve duplicate events

Why agent-soul over other memory solutions

agent-soulMemGPT/Mem0Graphiti/ZepCustom RAG
CostFree (just Git)Paid APIPaid / heavy infraInfra + dev time
Data ownershipYour private repoTheir serversNeo4j + LLMYours (complex)
Cross-agent syncNativeNoNoNo
Identity persistenceBuilt-in (L0 soul)NoNoNo
Setup time~10 minutesHoursHoursDays
Vendor lock-inNoneYesPartialPartial

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Skill Creator (Opencode)

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize a...

Registry SourceRecently Updated
Coding

Funnel Builder

Builds complete multi-channel revenue funnels adapted to any business model. Combines proven frameworks from elite operators: Yomi Denzel's viral top-of-funn...

Registry SourceRecently Updated
Coding

macos-wechat-send

Automates sending messages on WeChat Mac by controlling the app via AppleScript and clipboard to reliably deliver text to specified contacts.

Registry SourceRecently Updated
Coding

Rednote CLI

Use when the user needs to publish, search, inspect, log into, or otherwise operate Xiaohongshu (RedNote) from the terminal with the `@skills-store/rednote`...

Registry SourceRecently Updated