Find where you keep repeating yourself to your coding agent.

One command reads the AI coding logs on your machine and shows where you repeat yourself, with the dated messages behind every finding.

or pip install emulo · no model call · nothing leaves your machine

Emulo engraving: a human and a machine head back to back
Reads

Claude Code, Codex, Copilot CLI, OpenCode and Google Antigravity logs

Installs a profile into

Any AGENTS.md repo (read by Codex and OpenCode), Claude Code, Codex, OpenCode, Cursor or Gemini

Also

An MCP server, MIT licensed

What it prints

Four text-match checks on what you typed, each with its dated receipts. It cannot tell why you repeated something, and it says so.

$ uvx emulo --coach emulo usage report read 1394 sessions, 5,705 of your messages, 2026-05-06 to 2026-09-24 sources: antigravity 14, claude 917, codex 459, copilot 2, opencode 2 These are text matches on your own messages. They cannot tell why you repeated something or whether the agent forgot anything; each finding shows its receipts so you can judge. 1. Messages you sent three or more times in a row, unchanged. 11 message(s). The same ask of four or more words, sent back to back. If the answers were not moving, changing the ask may get further than sending it again. 2026-- "[your message, dated]" x [trimmed for this page] This reads only the messages you typed, which is all emulo keeps. It cannot see cost, tokens, tool calls, or whether the agent was right, so it never scores those. Every line above is countable from your own logs.
A real run, 25 September 2026 1,394 sessions across five tools, trimmed to the first finding. The receipt is blanked here. On your machine each one prints your own message and its date.
you.md, an excerpt
  • Done means it runs live. Never trust "done" off a code edit.
  • Fix the one thing. Rewriting what isn't broken gets rejected.
  • No walls of text. Short, concrete, no hype.
From a profile the author mined in early July 2026 (1,656 sessions). Yours comes from your logs and will read nothing like it.

When a report is not enough, mine a profile.

A you.md is a plain file your agent can read before a task: the rules that keep showing up across your sessions, each one carrying the dated quotes it came from. You can open it, edit it, or delete it.

  1. 1

    $emulo

    Reads the same logs, keeps only what you typed, redacts secrets, and writes your history into chunks with a RUN_ME.md beside them. No model call yet.

  2. 2

    read emulo-out/RUN_ME.md and follow it

    Say that to your coding agent. This is the step that spends model calls: it makes one pass per chunk and writes you.md. It starts straight away, with no cost plan first; if you want the plan and an approval step, use the agent route below.

Prefer to stay inside your agent? npx skills add ohad6k/emulo@emulo, then tell it run emulo.

3

Check every quote before you trust a single rule.

emulo verify you.md pulls every quote out of the profile and searches your mined sessions for it. A rule is only as good as its receipt, and this is how you find out which receipts are real.

Then install what survives: emulo --install you.md --target agents --repo . puts it in the project's AGENTS.md, which Codex and OpenCode were seen loading. That writes the whole profile, including verbatim quotes from your sessions, into a file that is usually committed and shared, so keep it out of version control or install to a personal folder that is not committed. In Claude Code, --target claude installs a skill you load by typing /you. Whether a rule is vague, or true of every developer alive, is still your call.

traced
29/30 quotes traced to a real session.

The quote is in your logs. The rule behind it has something to stand on.

one session
That is context, not a rule.

Found, but only once. Worth reading before you keep it.

NOT FOUND
Cut those rules.

The quote appears in no session: it may be invented, paraphrased, or from history that was not mined. The command exits non-zero.

Where this is going, and where it is today.

The aim is an agent that already works the way you do. It is an aim, not a result. In a 60 run test written down in advance, a real mined profile changed the output compared with no profile at all, but it did not beat an invented profile of the same length. Read the test. A September rerun with an older profile and a new invented one separated on 5 of 9 measures on Fable 5.1 and 1 of 9 on Opus 5. Both tests measure whether the output changed, not whether it got better. Read the rerun

The tool is free, and it stays free.

Everything above runs from one MIT licensed tool on your own machine. There is one small paid thing next to it, done by hand, and you never need it to get value from the rest.

Free and open source.

No account, no cloud, nothing to sign up for. Your logs and your profile stay local files.

$0forever
  • The coach report, with no model call
  • Local mining into an editable, portable you.md
  • emulo verify on every quote in it
  • No subscription, and MIT licensed source
Get Emulo

Profile Build

An editing pass on a profile you already mined and verified.

I read your you.md against its verify results, cut the rules whose quotes did not trace or that would be true of any developer, and tighten what is left into short rules an agent can act on. You are paying for the editing time. It is not a promise about how your agent will behave.

$300one timeBack in three business days

You send two files, both written by the free tool on your machine: your you.md and the output of emulo verify you.md --json. I never ask for your session logs and I never see them. Paid by invoice or PayPal. Write to ohadkrispin@gmail.com

Questions.

How do I make my AI agent write code the way I do?

Start with what it keeps missing. The free report shows where you repeat yourself to the agent. Mining goes further: it turns the rules that recur across your sessions into a you.md you can install for your agent, with dated quotes behind every rule. Whether that changes how the agent works for you is worth testing on your own work. Our own 60 run test is public, including the part that did not go our way.

How is this different from agent memory?

Memory stores what you told the model. Emulo reads the messages you actually typed across many sessions and pulls out what keeps recurring, with the dates it came from. The rules you remembered to write down on a good day are usually a smaller set than that.

Is this just a CLAUDE.md or a rules file?

The output is a file like that, and you can edit it like one. The difference is where it comes from. Every rule is derived from real sessions and carries dated quotes, and emulo verify checks that each quote actually exists in your logs.

Do my session logs leave my machine?

The coach report makes no model call and runs entirely on your machine. For a profile, extraction, redaction, caching and the profile itself stay local, and secrets are redacted before anything is written. The one exception is the mining pass: if your agent uses a hosted model, the selected evidence goes to that provider. A local model keeps the whole run on your machine.

Which coding agents does it work with?

It reads Claude Code, Codex, Copilot CLI, OpenCode, and Google Antigravity logs out of the box. It does not read Cursor sessions. Installing a profile and an agent reading it are different things: in a host-by-host test on 2026-09-25, a project AGENTS.md reached the model in Codex and was loaded into OpenCode's instructions, and in Claude Code the profile skill loads when you type /you. It also writes rules files for Cursor and Gemini, where loading is not verified, and ships an MCP server that any MCP client can connect to; it serves only a profile mined through the agent flow.

What does it cost to run?

The tool is MIT licensed and free. The coach report makes no model call, so running it costs nothing. Mining spends model calls to read your history. When an agent mines for you through run emulo, it shows a read-only plan with the cost first and waits for your approval before any model work starts. The plain emulo command makes no model calls: it writes chunks and a RUN_ME.md, and the model work happens when you hand that file to your agent.

How much history do I need?

Any. The report counts whatever you have. For a profile, more sessions help, since a rule only earns a place when separate sessions keep supporting it. The example profile on this page is a profile the author mined in early July 2026 (1,656 sessions).

Start with the free report.

Star on GitHub