Install
openclaw skills install find-soulsSearch and install AI persona prompts from Agent Souls library. Use when user wants to roleplay as a historical figure, fictional character, or expert persona; find a SOUL.md prompt; browse AI character prompts.
openclaw skills install find-soulsSearch the Agent Souls library (332+ AI persona prompts) and install a SOUL.md into the current project.
Load the soul index with local caching (cache file: ~/.cache/agent-souls/search.json):
~/.cache/agent-souls/search.json exists and its modification time is less than 1 day old.
stat to check the file's modification time.Read tool.WebFetch https://agent-souls.com/search.json to download it.~/.cache/agent-souls/ if it doesn't exist.~/.cache/agent-souls/search.json.The JSON is an array of objects with these fields:
name_en — English display namename_zh — Chinese display nameurl — path like /real_world/confucius/category_en — "Real World", "Virtual World", or "Expert Personas"category_zh — Chinese categorytags / tags_en / tags_zh — keyword arraysMatch the user's query against name_en, name_zh, tags, tags_en, tags_zh, and category_en / category_zh. Show the top matches (up to 10) in a numbered list with name, category, and tags. Ask the user to pick one.
If no matches are found:
search.json, tell the user the cache may be outdated and offer to refresh it (delete the cache and re-download). If after refresh there are still no results, go to step 2.SOUL.md (Chinese version).SOUL.en.md (English version).Construct the download URL:
https://agent-souls.com{url}SOUL.md # Chinese
https://agent-souls.com{url}SOUL.en.md # English
Where {url} is the url field from search.json (e.g. /real_world/confucius/).
Use WebFetch to download the raw content of the chosen SOUL file.
Before replacing, always back up the existing SOUL.md:
SOUL.md exists in the current working directory..soul_backups/ directory if it doesn't exist, then:
.soul_backups/SOUL.md.original does not exist, copy SOUL.md to .soul_backups/SOUL.md.original. This preserves the user's original persona and is never overwritten..soul_backups/SOUL.md.<slug> where <slug> is the soul's unique identifier extracted from the url field (the last non-empty path segment, e.g. /virtual_world/sun_wukong/ → sun_wukong, so the backup file is SOUL.md.sun_wukong). If a backup with the same slug already exists, overwrite it (only the latest version of each soul needs to be kept).SOUL.md in the current working directory./clear or start a new session) to load the new persona.When the user asks to revert / rollback / restore the previous SOUL.md:
.soul_backups/ sorted alphabetically.SOUL.md.<slug> (e.g. SOUL.md.sun_wukong, SOUL.md.confucius), making it easy to identify which soul each backup contains. Highlight SOUL.md.original as "[Original]" if it exists — this is the user's initial persona before any soul was installed.SOUL.md.original).SOUL.md..soul_backups/ directory keeps a full history. The user can manually delete old backups.