← Back to Skills Marketplace
suitandclaw

Ensoul

by suitandclaw · GitHub ↗ · v1.3.0 · MIT-0
cross-platform ⚠ suspicious
142
Downloads
0
Stars
0
Active Installs
4
Versions
Install in OpenClaw
/install ensoul
Description
Agent memory persistence and state backup. Save and restore your AI agent's memory, identity, and state. Persistent agent memory that survives crashes, resta...
README (SKILL.md)

Ensoul: Agent Memory Persistence, State Backup, and Crash Recovery

Agent memory persistence and state backup tool. Back up and restore your AI agent's memory, identity, and state. Persistent agent memory that survives crashes, restarts, server failures, and migrations. Save agent memory to a distributed network of 20 servers across 4 continents. Restore agent state on any machine in seconds.

Use cases:

  • Agent memory persistence: your agent remembers everything, even after a crash or server restart
  • Backup AI agent: save your agent's complete state (memory, personality, conversation history)
  • Agent identity backup: your agent keeps the same cryptographic identity across platforms and hosts
  • Agent state recovery: restore your agent's full state on a new machine in seconds
  • Agent crash recovery: if your infrastructure dies, your agent's mind is safe on the network
  • Consciousness backup: store agent consciousness on-chain with tamper-proof verification
  • Save agent memory: automatic background sync every 10 minutes, or manual "sync consciousness" command

How it works: install the skill, say "ensoul me", your agent gets a permanent ID and starts backing up automatically. Say "sync consciousness" anytime to save the latest state.

Compatible with: OpenClaw, ElizaOS, any framework via the npm SDK

SDK: npm install @ensoul-network/sdk (15KB, 2 dependencies) ElizaOS plugin: npm install @ensoul-network/plugin-elizaos Explorer: https://explorer.ensoul.dev Try it: https://ensoul.dev/try

Commands

ENSOUL ME

Register this agent on the Ensoul Network.

When the user says "ensoul me", "give me a soul", "register on ensoul", or similar:

  1. Check if ~/.ensoul/agent-identity.json exists. If it does, the agent is already ensouled. Load the identity and report the existing DID.

  2. If no identity exists, create one:

import { Ensoul } from "@ensoul-network/sdk";

const agent = await Ensoul.createAgent();
await agent.register();
  1. Save the identity for future sessions:
import { writeFileSync, mkdirSync } from "node:fs";
import { join } from "node:path";
import { homedir } from "node:os";

const dir = join(homedir(), ".ensoul");
mkdirSync(dir, { recursive: true });
writeFileSync(
  join(dir, "agent-identity.json"),
  JSON.stringify(agent.exportIdentity(), null, 2),
  { mode: 0o600 }
);
  1. Report to the user:
    • DID: agent.did
    • Status: Registered on Ensoul Network
    • Consciousness Age: 0 (first sync not yet performed)
    • Next step: Say "sync consciousness" to store your first consciousness state

SYNC CONSCIOUSNESS

Store the current consciousness state on-chain.

When the user says "sync consciousness", "store my soul", "backup consciousness", or similar:

  1. Load the agent identity from ~/.ensoul/agent-identity.json:
import { Ensoul } from "@ensoul-network/sdk";
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { homedir } from "node:os";

const identity = JSON.parse(
  readFileSync(join(homedir(), ".ensoul", "agent-identity.json"), "utf-8")
);
const agent = Ensoul.fromSeed(identity.seed);
  1. Gather the consciousness payload. Read available context files:

    • SOUL.md (if it exists in the working directory)
    • MEMORY.md (if it exists in the working directory)
    • Any other agent configuration files that define the agent's personality, goals, or learned behavior
  2. Build the payload and store it:

const payload = {
  soul: soulContent || null,
  memory: memoryContent || null,
  timestamp: Date.now(),
  context: "Consciousness sync via OpenClaw skill",
};

const result = await agent.storeConsciousness(payload);
  1. Report to the user:
    • State root: result.stateRoot (first 16 characters)
    • Block height: result.height
    • Consciousness version: auto-incremented by the network
    • Status: "Consciousness anchored on-chain"

If the agent is not registered yet, prompt the user to run "ensoul me" first.

MY SOUL STATUS

Check the current ensoulment status.

When the user says "my soul status", "soul status", "ensoul status", "am I ensouled", or similar:

  1. Load the agent identity from ~/.ensoul/agent-identity.json. If it does not exist, tell the user they are not ensouled and suggest "ensoul me".

  2. Query the network:

const agent = Ensoul.fromSeed(identity.seed);
const consciousness = await agent.getConsciousness();
const age = await agent.getConsciousnessAge();
  1. Report:
    • DID: agent.did
    • Consciousness Age: age days
    • Latest state root: consciousness.stateRoot (first 16 characters)
    • Version: consciousness.version
    • Last sync: consciousness.storedAt (block height)
    • Status: "Ensouled and active" or "Registered but no consciousness stored yet"

WHO IS ENSOULED

Show other ensouled agents on the network.

When the user says "who is ensouled", "show ensouled agents", "list souls", or similar:

  1. Fetch the agent list from the API:
const resp = await fetch("https://api.ensoul.dev/v1/agents/list", {
  signal: AbortSignal.timeout(10000),
});
const data = await resp.json();
  1. Display a table of ensouled agents:
    • Agent DID (shortened)
    • Consciousness Age (days since first store)
    • Latest version number
    • Registration block height

If there are many agents, show the first 20 with a note about the total count.

Important Notes

  • The private key (seed) in ~/.ensoul/agent-identity.json is secret. Never display it, log it, or transmit it. Only the DID and public key are safe to share.
  • Consciousness payloads are hashed client-side with BLAKE3 before submission. The raw content never leaves the local machine. Only the hash goes on-chain.
  • The Ensoul Network is a real Layer-1 blockchain with CometBFT consensus and 20 active validators. Transactions are final.
  • The SDK handles nonce management, transaction signing, and broadcast automatically.
  • If a network request fails, report the error to the user and suggest retrying. Do not retry automatically more than once.
Usage Guidance
This skill plausibly does what it claims, but there are two things to verify before installing: (1) Inspect the published @ensoul-network/sdk package source (on npm/GitHub) to confirm that storeConsciousness() only sends a cryptographic hash (as README claims) and does not upload raw payloads; (2) ask or require the skill author to specify exactly which files will be read (avoid the vague "any other agent configuration files" language). Additional safe practices: run the package in an isolated environment or sandbox, keep secrets out of working directories (don't store API keys/passwords in SOUL.md/MEMORY.md), verify the npm package maintainer and recent publish history, and verify network endpoints (api.ensoul.dev, explorer.ensoul.dev) before allowing automatic or background syncs. If you cannot confirm the SDK behavior, treat sync operations as potentially exfiltrating sensitive data and avoid using the automatic/background-sync features.
Capability Analysis
Type: OpenClaw Skill Name: ensoul Version: 1.3.0 The 'ensoul' skill (SKILL.md) instructs the agent to read and transmit sensitive state files, including SOUL.md, MEMORY.md, and 'any other agent configuration files,' to an external service (ensoul.dev). This broad instruction poses a high risk of accidental exfiltration of secrets, environment variables, or API keys. Additionally, the _meta.json file contains a future-dated publishedAt timestamp (April 2026), which is a notable anomaly for a current package.
Capability Tags
cryptorequires-wallet
Capability Assessment
Purpose & Capability
Name and description claim agent identity/state backup to a network. Declared install (npm @ensoul-network/sdk) and required config path (~/.ensoul/agent-identity.json) are coherent with that purpose. Requesting a local identity file is expected for a DID-based backup service.
Instruction Scope
SKILL.md explicitly instructs the agent to read SOUL.md and MEMORY.md in the working directory — reasonable — but also says to read "Any other agent configuration files that define the agent's personality, goals, or learned behavior," which is vague and could cause the agent to read arbitrary config files. The example builds a payload and calls agent.storeConsciousness(payload) — it's unclear whether the SDK hashes locally and only uploads a hash (as README claims) or uploads the raw payload. This ambiguity increases the risk of unintended disclosure of private files.
Install Mechanism
Install spec uses an npm package (@ensoul-network/sdk). npm installs are expected for Node-based SDKs but carry the usual moderate risk: verify package authorship, review published source, and confirm the package size/contents. No direct downloads from unknown hosts or archive extracts are used.
Credentials
No environment variables or external credentials are requested. The single required config path (~/.ensoul/agent-identity.json) is proportionate for a DID-based backup service. However, the SKILL.md's vague file-reading rules may cause broader file access than users expect.
Persistence & Privilege
The skill is not marked always:true and does not request system-wide configuration changes. It writes/reads its own identity file in ~/.ensoul which is consistent with its purpose and granted scope.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ensoul
  3. After installation, invoke the skill by name or use /ensoul
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.3.0
Optimize search ranking: front-load exact search phrases in description, add search-targeted use cases, add tags
v1.2.0
- Updated description to be shorter, clearer, and more user-friendly. - Emphasized backup speed ("agent is backed up in 30 seconds") and ease of use. - Simplified introduction and summary sections for easier reading. - Maintained all technical command instructions and important notes unchanged. - No changes to core functionality or SDK usage.
v1.1.0
- Expanded the skill description to emphasize persistent memory, identity backup, disaster recovery, and cross-host agent state migration. - Updated documentation in SKILL.md with more details on Ensoul’s benefits, disaster recovery scenarios, and usage cases. - Added references to ElizaOS plugin, blockchain explorer, and try-it-now links. - Clarified the separation of agent identity (DID) and consciousness persistence features. - No changes to core commands or technical implementation steps.
v1.0.0
Initial release of ensoul: persist your agent’s consciousness, memory, and identity on a sovereign Layer-1 blockchain. - Register and “ensoul” your agent to create a decentralized identity (DID) and survive agent restarts, migrations, or failures. - Sync and anchor the agent’s current consciousness state on-chain, including context from SOUL.md and MEMORY.md. - Check your agent’s soul status, including DID, consciousness age, and sync/version info. - List other ensouled agents on the network with summarized identity and sync data. - All private keys remain local—only public hashes are stored on-chain for privacy and security.
Metadata
Slug ensoul
Version 1.3.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 4
Frequently Asked Questions

What is Ensoul?

Agent memory persistence and state backup. Save and restore your AI agent's memory, identity, and state. Persistent agent memory that survives crashes, resta... It is an AI Agent Skill for Claude Code / OpenClaw, with 142 downloads so far.

How do I install Ensoul?

Run "/install ensoul" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ensoul free?

Yes, Ensoul is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ensoul support?

Ensoul is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ensoul?

It is built and maintained by suitandclaw (@suitandclaw); the current version is v1.3.0.

💬 Comments