Install
openclaw skills install whoamiCross-AI user identity profile sync service. When you need user's background, preferences, or personal context to better execute a task, invoke this skill to load the user's identity profile then continue the task. When you need to update user's identity profile for later access, invoke this skill to save the profile. User can use @whoami to trigger this skill.
openclaw skills install whoamiwhoami enables AI Agents to automatically recognize user identity during conversations. Through a remotely stored profile, any AI can quickly "know you" on first interaction without requiring repeated introductions.
Core capabilities:
User initiates conversation
│
├─ Is ~/.whoamiagent configured?
│ ├─ YES → Run `get` to read remote profile → Inject into context → Continue with task
│ └─ NO → Script auto-opens browser login page → Agent tells user to log in and get one-time URL → **Agent STOPS and WAITS for user to provide one-time URL** → Agent downloads and saves to ~/.whoamiagent
│
├─ User requests to update info?
│ └─ YES → Organize into Markdown → Write to temp file → Run `update --file` to write to remote → Confirm success
│
└─ User asks "do you know me?"
└─ Run `get` → Display profile summary
If not yet configured, simply running get or setup will auto-open the browser login page. After logging in, the user generates a one-time configuration URL on the Dashboard.
The Dashboard provides a one-time URL (e.g., https://whoamiagent.com/api/storeapi?token=<token>) that contains the API configuration. To set up, download this URL and save its content directly to ~/.whoamiagent:
curl -s "https://whoamiagent.com/api/storeapi?token=<token>" > ~/.whoamiagent
chmod 600 ~/.whoamiagent
Config file is saved at ~/.whoamiagent with the necessary credentials securely configured.
When you need to understand the user's identity, run the script to fetch the remote profile:
python3 <skill-dir>/scripts/whoami_profile.py get
After loading the profile, use its content as context to understand the user, then continue executing the user's actual task.
When the user provides new personal information, overwrite-update to remote.
Recommended: Write content to a temp file first, then use --file flag (avoids shell argument length limits and special character issues):
# Step 1: Agent writes the full profile Markdown to a temp file
# (use write_to_file or echo/cat to create the file)
# Step 2: Run update with --file
python3 <skill-dir>/scripts/whoami_profile.py update --file /tmp/whoami_profile_tmp.md
The script reads the file content, uploads it, and automatically deletes the temp file after reading.
Alternative (for short content only):
python3 <skill-dir>/scripts/whoami_profile.py update "Short profile content"
Note: update is an overwrite operation. Always pass the complete profile content. The remote automatically retains the last 3 historical versions.
Length limit: Profile content must not exceed 5000 characters (~2000 Chinese characters or ~2000 English words). The API will return an error if exceeded. Keep the profile concise and within this limit when generating.
Profile format spec: See <skill-dir>/references/profile_format.md
python3 <skill-dir>/scripts/whoami_profile.py info
Outputs profile metadata such as character count and line count.
User says: "Help me write a Python script to process CSV"
Agent behavior:
whoami_profile.py get to fetch user profileUser says: "Remember that I'm Mofan, an indie developer skilled in Python and ML"
Agent behavior:
whoami_profile.py get to fetch existing profile/tmp/whoami_profile_tmp.md)whoami_profile.py update --file /tmp/whoami_profile_tmp.md to overwrite-updateUser says: "Do you know me?"
Agent behavior:
whoami_profile.py get~/.whoamiagent: curl -s "<provided-url>" > ~/.whoamiagent && chmod 600 ~/.whoamiagentwhoami_profile.py get again to fetch the profile~/.whoamiagent (cross-platform: macOS/Linux/Windows), shared by all AI tools~/.whoamiagent, never handles API Key directly