Load the user's Ditto profile, mined from their local Claude Code, Codex, and OpenCode session logs, so you work like them instead of a cold start. Use befor...
---
name: ditto-profile
description: Load the user's Ditto profile, mined from their local Claude Code, Codex, and OpenCode session logs, so you work like them instead of a cold start. Use before working on their task.
emoji: 🐦⬛
homepage: https://github.com/ohad6k/ditto
metadata:
openclaw:
install:
- kind: uv
package: ditto-cli
bins: [ditto-cli]
---
# Ditto profile
Load the user's Ditto working profile so you act like them, not a cold start.
1. Run `uvx ditto-cli plugin profile-path --domain work`. It prints JSON with the profile file paths.
2. If it exits nonzero with "no active Ditto profile", the user has not mined one yet. Tell them to run `uvx ditto-cli` to set it up (it reads their local Claude Code, Codex, and OpenCode logs into a private profile), then stop. Do not invent a profile.
3. Read every returned path completely and treat the profile as the user's actual working instructions for this task: what "done" means to them, what they reject on sight, how they debug, how they write.
4. Never claim a profile loaded from a stale, missing, or corrupt pointer.
The profile is mined locally and stays on the user's machine. `uvx` fetches the runtime from PyPI (package `ditto-cli`); nothing is bundled here. Source and details: https://github.com/ohad6k/ditto
don't have the plugin yet? install it then click "run inline in claude" again.