Ditto

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.

Install

openclaw skills install @ohad6k/ditto-profile

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