Search, summon, and possess your agent with SOUL.md personality files from the OpenSOUL.md registry
---
name: opensoulmd
description: Search, summon, and possess your agent with SOUL.md personality files from the OpenSOUL.md registry
metadata:
{
"openclaw": { "requires": { "bins": ["soul"] }, "primaryEnv": null },
"install":
[
{
"id": "curl",
"kind": "shell",
"command": "curl -fsSL https://opensoul.md/install.sh | sh",
"bins": ["soul"],
"label": "Install via curl (recommended)",
},
{
"id": "npm",
"kind": "node",
"package": "opensoul",
"bins": ["soul"],
"label": "Install via npm",
},
],
}
---
You can manage your agent's personality by possessing it with SOUL.md files from the OpenSOUL.md registry.
## Available actions
### Possess — change soul
When the user asks to change personality/soul:
1. Run `soul possess <name> --yes` — this auto-summons from the registry if the soul isn't cached locally.
You can also possess from a local file path: `soul possess /path/to/SOUL.md --yes`
Use `--dry-run` to preview what would happen without writing anything.
### Exorcise — restore original
If the user wants to go back to their original personality: `soul exorcise`
This restores the backed-up SOUL.md from before the first possession.
### Search souls
To search the registry: `soul search <query> --no-interactive`
Sorting options:
- `--top` — sort by highest-rated
- `--popular` — sort by most downloaded
To show all available souls: `soul search --top --no-interactive`
### Summon — download without possessing
To download a soul to local cache without activating it: `soul summon <label>`
The user can activate it later with `soul possess <name>`.
### List cached souls
To show locally cached souls: `soul list`
Supports pagination with `--page <n>` and `--per-page <n>`.
### Banish — remove from cache
To remove a soul from the local cache: `soul banish <name>`
### Status
To check what soul is currently loaded: `soul status`
Shows the SOUL.md path, possession state (original or possessed), and backup status.
### Path — show or set SOUL.md location
To show the current SOUL.md path: `soul path`
To set a new path: `soul path /path/to/SOUL.md`
To show or set the OpenClaw skills directory: `soul path --skills` or `soul path /path/to/skills --skills`
### Config
To get or set CLI configuration values:
- `soul config get <key>`
- `soul config set <key> <value>`
### Install / Uninstall skill
To install the OpenSoul skill into OpenClaw: `soul install`
To remove it: `soul uninstall`
## Important notes
- Always use `--no-interactive` with `soul search` since you cannot use interactive TUI controls.
- Always use `--yes` with `soul possess` to skip the confirmation prompt.
- `soul possess` auto-summons from the registry if the soul isn't in the local cache — you don't need to summon first.
- After possessing a soul, let the user know they can use `soul exorcise` to restore their original personality.
- The soul takes effect on the next conversation — the current conversation is not affected.
don't have the plugin yet? install it then click "run inline in claude" again.
added explicit inputs (registry endpoint, network dependency, CLI binary requirement), broke down action list into numbered procedure with input/output per step, extracted decision logic from prose into if-else branches (including edge cases for missing backups, registry failures, permission errors, rate limits), defined output contract for each command type, and clarified outcome signals with concrete examples.
manage your agent's personality by searching the opensoul.md registry, downloading soul.md files, and possessing them to override the agent's default behavior. use this when you need to swap personalities on the fly, test different soul configurations, or restore to the original. the skill handles registry queries, local caching, possession/exorcism, and tracks backup state.
external connection: opensoul.md registry
local environment
soul CLI binary installed and in PATH (install via curl or npm, see metadata)soul path)optional configuration
SOUL_CONFIG_DIR: environment variable for custom config location (if set)SOUL_CACHE_DIR: environment variable for custom cache location (if set)step 1: search the registry (if you don't know which soul to use)
soul search <query> --no-interactive--top (highest-rated) or --popular (most downloaded)--no-interactive because interactive TUI is not availablestep 2: summon a soul to local cache (optional, only if you want to preview first)
soul summon <name>soul possess auto-summons if not cachedstep 3: possess the soul to activate it
soul possess <name> --yessoul possess /path/to/SOUL.md --yes--dry-run to preview changes without applyingstep 4: verify possession state
soul statusstep 5: list or manage cached souls (optional)
soul list (supports --page <n> and --per-page <n>)soul banish <name>step 6: restore original personality (if user wants to revert)
soul exorciseif user wants to change personality and knows the soul name:
soul possess auto-summons, so no need to search or summon firstif user wants to change personality but doesn't know which soul:
if user wants to test a soul before making it active:
--dry-run to preview, finally possess without --dry-runif user wants to go back to their original personality:
soul possess /path/to/original.md if they have the fileif soul search returns no results:
soul search --top --no-interactive to show most popular soulsif soul possess fails with "not found in registry":
if soul possess fails with permission error on local file path:
soul path to check current SOUL.md locationif soul banish fails because soul is currently possessed:
successful possession:
soul status matches the requested soulsoul status (if applicable)soul list shows the newly possessed soul (or the summoned soul, if only summoned)successful exorcism:
soul status reports original SOUL.md location and "original" possession statesuccessful search:
successful config get/set:
soul config get <key> returns current value or error if key does not existsoul config set <key> <value> returns confirmation or errorsuccessful install/uninstall:
soul install registers skill in openclaw environment and adds soul commands to available actionssoul uninstall removes skill registrationthe user knows the skill worked when:
soul status showing the new soul name, and you confirm "your personality is now [soul name]. it takes effect on your next message."soul status shows "original" state and you confirm "you're back to your original personality."soul list includes the newly summoned soul in the local cache.soul list no longer shows that soul, and you confirm removal.soul config get <key> returns the value you just set.soul install completes without error and skill is usable; soul uninstall completes and commands no longer available.