by ohad6k
Mine your Claude Code and Codex logs into a local you.md agent profile.
# Add to your Claude Code skills
git clone https://github.com/ohad6k/dittoditto is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ohad6k. Mine your Claude Code and Codex logs into a local you.md agent profile. It has 63 GitHub stars.
ditto's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/ohad6k/ditto" and add it to your Claude Code skills directory (see the Installation section above).
ditto is primarily written in Python. It is open-source under ohad6k on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ditto against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Memory is what you explicitly told the model.
Ditto mines what your work already proved about you: what you reject, what "done" means, when you ask for proof, how you talk when you're actually working, and the agent behaviors that make you stop the task.
That's why it reads raw session logs, not your CLAUDE.md or rules file.
I asked an agent to help me launch this repo. One line: "help me post ditto on reddit." Same model, once cold, once with my Ditto profile loaded.
🡒 agent
Here's how I'd play it.
Subreddits: r/ClaudeAI and r/ChatGPTCoding are your core audience — they've got the .jsonl logs on disk right now. r/LocalLLaMA fits the local angle but is allergic to hype. r/cursor, r/SideProject, r/opensource for reach. Skip r/programming on launch day. Don't blast all at once — post to one, tune the title, repost over a few days.
Titles (pick per sub):
Body:
Every fresh agent session starts from zero — it doesn't know how you work, so you re-explain yourself every time. All of that is already in your session logs. So I built ditto: it reads your history, mines how you decide and talk, and writes a
you.mdyour agents read before every task.
- runs locally, your logs never leave your machine
- redacts secrets before processing
- open source: [link]
Also: open with the pain not the product, reply fast in the first hour, add a demo gif, and flair it correctly. Want me to write tuned variants for each subreddit?
🡒 agent + ditto
the insight first: the mining number is your whole post. "i read 1,656 of my own sessions" is a confession, not a pitch, and nobody scrolls past a confession. lead with the mirror, not the mechanism. the tool is secondary.
post it in r/ClaudeCode. one sub, not five — that crowd lives in their session logs, they'll get it instantly. the repo link goes in your first comment, not the body.
title: I had 20 AI agents read 8 months of my claude sessions and build a model of how I think. it was unsettling how accurate it was
body: i work with claude and codex every day. 8 months, solo. every session gets logged and i never looked back at them.
last night it hit me those logs are the most honest record of how i actually work that exists anywhere. i don't perform in them, i just work. so i mined them.
pulled every message i ever typed, ~1,656 sessions, about 3M tokens of just me. split it into 20 chunks, sent 20 agents at it in parallel, each pulling how i decide, what i reject, how i talk, where i get stuck. merged them into one profile ranked by how many agents independently found each trait. what 15+ of them caught is the real me.
turned the top of it into a skill claude reads before every task. now it starts already knowing how i work instead of me re-explaining myself every session.
you have this same goldmine sitting on your disk right now and you're probably deleting it.
then the move: post it, drop the repo as your own first comment within a minute, and answer every "how" with the mining approach, not features. the comments are where it converts.
The kind of profile Ditto builds, ranked by how many of the 20 agents independently pulled each trait. What 15+ of them agree on is the real you. Your agent reads this before every task.
done means it runs live. never trust "done" off a code edit. show it working first.
fix the one thing. rewriting or "cleaning up" code that isn't the problem gets rejected every time.
builds faster than they understand what they built — then asks the agent to explain their own system back.
voice: lowercase, short, "you get me", no walls of text, no hype.
gets frustrated by repeating the same ask until it lands, not by escalating.
Nobody wrote those rules down. 20 agents pulled them out of one person's own history and agreed on them.
This is an example. Yours is mined from your logs and will read nothing like it.
you.md.That you.md is a skill/context file. Drop it in .claude/skills/, .codex/skills/, your AGENTS.md, or Cursor rules, and every agent starts already knowing how you work.
No clone needed - it's one stdlib file:
curl -O https://raw.githubusercontent.com/ohad6k/ditto/main/ditto.py
python ditto.py --dry-run # preview counts + output paths without writing files.
python ditto.py # auto-detects Codex + Claude + Copilot logs. no deps, stdlib only.
Or the full repo (gets you the mining prompt + skill too):
git clone https://github.com/ohad6k/ditto
cd ditto
python ditto.py
What you can audit before running it:
ditto.py is the extractor. stdlib only, no network calls.ditto-out/.MINING_PROMPT.md.SECURITY.md.You get:
sessions: 1,656
your messages: 7,678
tokens (approx): 2,950,000
secrets/PII redacted: 41
wrote: ditto-out/you-corpus.txt + 20 chunks in ditto-out/chunks/
Then open your coding agent (Claude Code / Codex / Cursor), paste MINING_PROMPT.md, point it at ditto-out/chunks/, and let it build your you.md. Size chunks so each is ~70K tokens (--chunks N, N ≈ tokens / 70000) — agents genuinely read that; bigger gets skimmed. Example output: examples/you.md.
When it finds something true about you that you never wrote down - post the weirdest one. Don't post your full you.md, just the one trait that got you.
More than one self. The default
you.mdis your working self — laws and taste for doing a task. The same logs also hold a thinking self (how you reason) and a designer self (how you make taste calls). Seeexamples/for all three mined from one real 8-month history, andexamples/unified-system.mdfor how ditto stacks with graph memory (Obsidian) and soul.md.
Your you.md is just a context file. Drop it where your agent already looks and it reads it before every task:
| Tool | Where it goes |
|---|---|
| Claude Code | .claude/skills/you/SKILL.md (or append to CLAUDE.md) |
| Codex skill | ~/.codex/skills/you/SKILL.md |
| Cursor | .cursor/rules/you.mdc |
| Codex repo context | AGENTS.md |
| Gemini CLI | GEMINI.md |
| Windsurf / other | its rules or context file |
Ditto writes the you.md with the right frontmatter already, so on Claude Code, Codex, and Cursor it registers as a skill the moment you drop it in - nothing to wire. For Codex, use the native skill path above if you want it everywhere; use AGENTS.md if you only want it in one repo. That's it, no plugin, no config.
Using a coding agent? Point it at this repo and say "run ditto and install my you.md" - the skill in skills/ditto/ walks it through the whole flow (extract, mine, write, place the file) on its own. Works in Claude Code, Cursor, Codex, and Gemini.
Copy/paste version:
run ditto on my local Claude/Codex logs, mine a you.md from the chunks, install it for my current agent, and show me the session/message/token/redaction counts before claiming it worked.
Manual install:
python ditto.py --install you.md --target codex
python ditto.py --install you.md --target claude
python ditto.py --install you.md --target cursor --repo .
python ditto.py --install you.md --target agents --repo .
python ditto.py --install you.md --target gemini --repo .
After mining, get your profile as a card:
python ditto.py --card
Your archetype, your laws with their receipt counts (how many of the 20 agents independentl