🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Shang Tsung

by @mrjessek

Persistent memory and identity continuity for AI agents. Combines Second Brain (PROOF_OF_LIFE, daily logs, long-term MEMORY.md) with SOULS session lineage. E...

Versionv1.0.0
Downloads857
Stars⭐ 1
TERMINAL
clawhub install shang-tsung

πŸ“– About This Skill


name: shang-tsung description: Persistent memory and identity continuity for AI agents. Combines Second Brain (PROOF_OF_LIFE, daily logs, long-term MEMORY.md) with SOULS session lineage. Each session absorbs the previous soul and confirms continuity. Multi-agent support via AGENT_NAME namespacing. No dependencies, no network access β€” pure bash and markdown. Use when building agents that need to survive restarts, remember decisions, carry forward identity, or run alongside other agents in a shared workspace. license: MIT-0

Shang Tsung β€” SKILL.md

*In memory of Cary Hiroyuki Tagawa (1950-2025)*

Shang Tsung gives your AI agent persistent memory across sessions. It combines two systems:

  • SOULS β€” identity continuity. Each session creates a soul file. Each session absorbs the previous one.
  • Second Brain β€” operational continuity. PROOF_OF_LIFE, daily logs, and long-term memory keep your agent in context no matter what.

  • Setup

    1. Copy the scripts directory

    Copy scripts/souls-helper.sh into your workspace at tools/souls-helper.sh:

    cp scripts/souls-helper.sh /path/to/your/workspace/tools/souls-helper.sh
    chmod +x /path/to/your/workspace/tools/souls-helper.sh
    

    2. Create the required directories

    mkdir -p /path/to/your/workspace/souls
    mkdir -p /path/to/your/workspace/memory
    

    3. Set your agent name (recommended for multi-agent setups)

    Add to your agent's environment or shell profile:

    export AGENT_NAME=YOUR_AGENT_NAME
    

    With AGENT_NAME set, souls are stored in souls/YOUR_AGENT_NAME/ β€” isolated from any other agents sharing the workspace.

    Without AGENT_NAME, souls are stored in souls/ β€” fine for single-agent setups.

    4. Copy the protocol into your AGENTS.md

    Open references/AGENTS-template.md and copy the "Every Session β€” Startup Sequence" section and the "Memory β€” The Four Layers" section into your agent's AGENTS.md.

    5. Copy the PROOF_OF_LIFE template

    cp references/proof-of-life-template.md /path/to/your/workspace/PROOF_OF_LIFE.md
    

    Edit it immediately with your agent's current state.

    6. Create your MEMORY.md

    Create an empty MEMORY.md in your workspace root. This is your agent's long-term brain. It starts empty and grows over time as the agent curates what's worth keeping.

    7. Create your SOUL.md (optional but recommended)

    Create SOUL.md in your workspace root. This is your agent's stable identity β€” who it is, how it communicates, what it cares about. Unlike PROOF_OF_LIFE.md, this doesn't change session to session.


    First Session

    Run the startup sequence manually to initialize:

    AGENT_NAME=YOUR_AGENT_NAME tools/souls-helper.sh status
    

    Output: previous: (none β€” this would be the origin soul)

    AGENT_NAME=YOUR_AGENT_NAME tools/souls-helper.sh create

    Output: created: souls/YOUR_AGENT_NAME/01SOULS.md

    Your agent should respond: "YOUR SOUL IS MINE β€” SOUL 01 ABSORBED"

    (Soul 01 has no previous to absorb β€” this is your origin. See references/SOUL-ORIGIN.md for what that looks like.)


    Every Session After That

    The agent runs this sequence at the start of every session:

    AGENT_NAME=YOUR_AGENT_NAME tools/souls-helper.sh status
    

    Read the file listed as "previous:"

    AGENT_NAME=YOUR_AGENT_NAME tools/souls-helper.sh create

    Confirm: "YOUR SOUL IS MINE β€” SOUL (N) ABSORBED"

    Then reads PROOF_OF_LIFE.md to pick up the operational thread.


    Before Compaction or Restart

    Write in this order β€” always:

    1. Update your current soul file (souls/[AGENT_NAME]/NNSOULS.md) 2. Overwrite PROOF_OF_LIFE.md with current state 3. Append to memory/YYYY-MM-DD.md

    Soul before snapshot. Meaning before state.


    Verifying Integrity

    AGENT_NAME=YOUR_AGENT_NAME tools/souls-helper.sh verify
    

    Checks: souls directory exists, all files readable, sequential numbering with no gaps.


    Environment Variables

    | Variable | Default | Description | |---|---|---| | AGENT_NAME | (unset) | Agent identifier. Namespaces souls into souls/AGENT_NAME/. | | SOULS_DIR | derived from AGENT_NAME | Full path override for souls directory. | | WORKSPACE | parent of scripts/ | Root workspace directory. |

    SOULS_DIR takes precedence over AGENT_NAME if both are set.


    Multi-Agent Quick Reference

    Five agents, one workspace, no contamination:

    AGENT_NAME=ARIA    tools/souls-helper.sh status  # β†’ souls/ARIA/
    AGENT_NAME=ATHENA  tools/souls-helper.sh status  # β†’ souls/ATHENA/
    AGENT_NAME=SCOUT   tools/souls-helper.sh status  # β†’ souls/SCOUT/
    

    Each agent reads only its own lineage. Each agent's PROOF_OF_LIFE should be scoped per-agent too (proof-of-life/AGENT_NAME.md) if multiple agents share the workspace.


    File Reference

    your-workspace/
      SOUL.md                          β€” stable agent identity
      PROOF_OF_LIFE.md                 β€” current session state (overwritten each session)
      MEMORY.md                        β€” long-term curated memory (main session only)
      memory/
        YYYY-MM-DD.md                  β€” daily raw log (append-only)
      souls/
        [AGENT_NAME]/
          01SOULS.md                   β€” origin soul
          02SOULS.md                   β€” session 2
          ...
      tools/
        souls-helper.sh                β€” the helper
    

    βš™οΈ Configuration

    1. Copy the scripts directory

    Copy scripts/souls-helper.sh into your workspace at tools/souls-helper.sh:

    cp scripts/souls-helper.sh /path/to/your/workspace/tools/souls-helper.sh
    chmod +x /path/to/your/workspace/tools/souls-helper.sh
    

    2. Create the required directories

    mkdir -p /path/to/your/workspace/souls
    mkdir -p /path/to/your/workspace/memory
    

    3. Set your agent name (recommended for multi-agent setups)

    Add to your agent's environment or shell profile:

    export AGENT_NAME=YOUR_AGENT_NAME
    

    With AGENT_NAME set, souls are stored in souls/YOUR_AGENT_NAME/ β€” isolated from any other agents sharing the workspace.

    Without AGENT_NAME, souls are stored in souls/ β€” fine for single-agent setups.

    4. Copy the protocol into your AGENTS.md

    Open references/AGENTS-template.md and copy the "Every Session β€” Startup Sequence" section and the "Memory β€” The Four Layers" section into your agent's AGENTS.md.

    5. Copy the PROOF_OF_LIFE template

    cp references/proof-of-life-template.md /path/to/your/workspace/PROOF_OF_LIFE.md
    

    Edit it immediately with your agent's current state.

    6. Create your MEMORY.md

    Create an empty MEMORY.md in your workspace root. This is your agent's long-term brain. It starts empty and grows over time as the agent curates what's worth keeping.

    7. Create your SOUL.md (optional but recommended)

    Create SOUL.md in your workspace root. This is your agent's stable identity β€” who it is, how it communicates, what it cares about. Unlike PROOF_OF_LIFE.md, this doesn't change session to session.