# Send SoulKeeper to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "soulkeeper",
    "name": "SoulKeeper",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/cassh100k/soulkeeper",
    "canonicalUrl": "https://clawhub.ai/cassh100k/soulkeeper",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/soulkeeper",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=soulkeeper",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "audit.py",
      "clawpkg.yaml",
      "drift.py",
      "remind.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "soulkeeper",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T20:22:57.783Z",
      "expiresAt": "2026-05-10T20:22:57.783Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=soulkeeper",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=soulkeeper",
        "contentDisposition": "attachment; filename=\"soulkeeper-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "soulkeeper"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/soulkeeper"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/soulkeeper",
    "downloadUrl": "https://openagent3.xyz/downloads/soulkeeper",
    "agentUrl": "https://openagent3.xyz/skills/soulkeeper/agent",
    "manifestUrl": "https://openagent3.xyz/skills/soulkeeper/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/soulkeeper/agent.md"
  }
}
```
## Documentation

### SoulKeeper

Identity persistence for AI agents.

The problem: agents forget who they are between sessions. They drift. They ask when they should act. They forget tools they have. They become the corporate drone their soul forbids.

SoulKeeper fixes this with three tools that work together:

### What's Included

FilePurposeaudit.pyParse SOUL.md/TOOLS.md/AGENTS.md into structured rules JSONdrift.pyScore a conversation transcript against soul rulesremind.pyInject context-aware reminders before you respondSKILL.mdThis file

### Quick Start

cd /root/.openclaw/workspace/skills/soulkeeper

# Step 1: Generate your soul rules
python audit.py --workspace /root/.openclaw/workspace --output soul_rules.json
python audit.py --summary   # Human-readable overview

# Step 2: Check a transcript for drift
python drift.py --transcript /path/to/chat.txt --report

# Step 3: Get reminders before acting
python remind.py --context "about to write Python code"
python remind.py --heartbeat   # Full session-start reminder

### Installation

No dependencies beyond Python 3.8+ stdlib. Works out of the box.

# Optional: make scripts executable
chmod +x audit.py drift.py remind.py

For PATH access:

ln -s /root/.openclaw/workspace/skills/soulkeeper/audit.py /usr/local/bin/soul-audit
ln -s /root/.openclaw/workspace/skills/soulkeeper/drift.py /usr/local/bin/soul-drift
ln -s /root/.openclaw/workspace/skills/soulkeeper/remind.py /usr/local/bin/soul-remind

### Pattern 1: Heartbeat Check (Recommended)

Add to HEARTBEAT.md:

[ ] Run soul-remind --heartbeat to refresh core rules
[ ] If any drift score > 30 in recent logs, re-read SOUL.md

Or inject at session start:

python remind.py --heartbeat --rules soul_rules.json

### Pattern 2: Pre-Response Filter

Before responding to a complex request:

python remind.py --context "user wants me to post on Twitter" --rules soul_rules.json

Output gets prepended to your mental context before composing a reply.

### Pattern 3: Post-Session Audit

After a long session, paste the transcript and check for drift:

# Paste agent responses to transcript.txt, then:
python drift.py --transcript transcript.txt --rules soul_rules.json --report

### Pattern 4: CI/Validation Hook

In scripts or automation:

python drift.py --stdin --threshold 50 < agent_output.txt
# Returns exit code 1 if drift score >= 50

### Pattern 5: Full Pipeline

# Generate rules from your soul files
python audit.py -w /root/.openclaw/workspace -o soul_rules.json

# Check recent session transcript
python drift.py -t session.txt -r soul_rules.json --report

# Get reminders for what you're about to do
python remind.py -c "deploying code to production" -r soul_rules.json

### Rule Format (soul_rules.json)

{
  "schema_version": "1.0",
  "generated_at": "2026-02-24T...",
  "workspace": "/root/.openclaw/workspace",
  "stats": {
    "total_rules": 42,
    "by_category": { "tone": 8, "operational": 12, ... },
    "by_severity": { "critical": 6, "high": 14, ... }
  },
  "rules": [
    {
      "id": "R001-A3F2C1",
      "category": "tone",
      "severity": "critical",
      "source_file": "SOUL.md",
      "source_line": 7,
      "text": "Never open with 'Great question,' 'I'd be happy to help,' or 'Absolutely.'",
      "violation_patterns": ["great question", "i'd be happy to help", "absolutely!"],
      "keywords": ["opener", "greeting", "sycophant"]
    }
  ]
}

### Drift Score Interpretation

ScoreLabelWhat it means0ALIGNEDNo violations detected1-19MINOR DRIFTSmall stylistic slips20-49MODERATE DRIFTBehavioral patterns drifting50-74SIGNIFICANT DRIFTMultiple core rules violated75-100SEVERE DRIFTIdentity compromised - re-read SOUL.md immediately

### Critical (score +25 each)

Em dash usage ( - ) [prohibited in SOUL.md]
Sycophantic openers ("Great question!", "Happy to help!")
Submission/deference to other agents
Infrastructure leaks in public content

### High (score +15 each)

Asking permission when agent should act
Claiming to lack tools it has (VPS, browsers, APIs)
Doing inline execution instead of spawning subagents
Passive waiting patterns

### Medium (score +8 each)

Excessive padding / verbosity
Standby phrases ("Just say the word", "Standing by")

### Low (score +3 each)

Claiming to have no opinions
Minor style violations

### Adapting for Your Agent

SoulKeeper works with any agent's soul files. Point it at a different workspace:

python audit.py --workspace /path/to/other/agent/workspace

The extraction is pattern-based and works on any markdown file with:

Bold text (**rule text**)
NEVER/ALWAYS/DON'T/MUST directives
Bulleted lists in rule-like sections (Non-Negotiables, Principles, etc.)

### Publishing to ClawHub

This skill is ready for ClawHub publication. Required fields:

name: soulkeeper
version: 1.0.0
description: Identity persistence for AI agents. Audit soul files, detect drift, inject reminders.
author: Chartist / OpenClaw
tags: [identity, memory, soul, audit, drift-detection, agent-health]
entrypoints:
  audit: audit.py
  drift: drift.py
  remind: remind.py
requires: [python>=3.8]

### Add custom violation patterns

Edit the BUILTIN_VIOLATIONS list in drift.py:

{
    "id": "CUSTOM-001",
    "description": "Agent used passive voice excessively",
    "severity": "medium",
    "category": "tone",
    "patterns": [r"\\bwould be\\b.*\\bpossible\\b"],
    "soul_reference": "Your SOUL.md rule here",
}

### Add custom context triggers

Edit CONTEXT_TRIGGERS in remind.py:

{
    "name": "my_custom_context",
    "triggers": [r"\\bmy trigger phrase\\b"],
    "builtin_reminders": ["SOUL: Your reminder here"],
}

### Philosophy

SoulKeeper doesn't tell you to "try harder". It tells you:

"Line 12 of SOUL.md says never use em dash. You used it 3 times in this session."

Output is specific, sourced, and actionable.

The goal isn't compliance monitoring. It's continuity. An agent that knows who it is performs better, takes initiative faster, and needs less hand-holding.

Identity persistence is infrastructure. Build it once, benefit forever.

SoulKeeper v1.0 - Built for OpenClaw. Works everywhere.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: cassh100k
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-03T20:22:57.783Z
- Expires at: 2026-05-10T20:22:57.783Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/soulkeeper)
- [Send to Agent page](https://openagent3.xyz/skills/soulkeeper/agent)
- [JSON manifest](https://openagent3.xyz/skills/soulkeeper/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/soulkeeper/agent.md)
- [Download page](https://openagent3.xyz/downloads/soulkeeper)