scriptease.dev

Sharing a Chat With Myself Too

The Remembering saga: 1. The Posts I Write to Forget · 2. Sharing a Chat With Myself · 3. Notes Left for the Next Me · 4. Sharing a Chat With Myself Too

This morning an AI and I built a tool for finding my old conversations. Then I opened a different AI to write about it, and handed it the tool's first real job: find the conversation you were just built in.

It came back empty-handed.

Now check the other boxes

A few weeks ago I wrote about getting back a gardening chat buried deep inside Claude's app — I built a tool to get it out. But that was July. It's August now, and I count five places where my AI conversations live.

Claude Code, the AI in my terminal, keeps each session filed in a folder on my hard drive. Claude inside Xcode, Apple's app builder, stores its own in another. GitHub Copilot — another coding AI — in another folder again. T3 Code — the tool I use to drive coding sessions from my iPad — stores them in a database instead. And Claude's website hides mine behind a login.

Five boxes, each organized differently. And the conversation I need is always in the one I'm not looking in.

"I noticed you were struggling"

The tool was born from watching an AI go through exactly that.

This morning's session started with one dictated sentence: I wanted my last session back. The AI didn't know where those conversations live, so it went spelunking — searching my notes, guessing folder names, finally cracking open the database file and reading its table layout like a burglar studying blueprints. It found the session. It took a while.

So I told it: I noticed you were struggling in the beginning. Let's build a skill for this.

A skill, in my setup, is a recipe the AI pulls out when I ask for it. This one would be a catalogue of the five boxes: how each one is organized, how to look inside without making a mess.

A catalogue, not a funnel

The shape constantly changed, because I kept changing my mind — and we went through a couple of corrections.

My first correction: this can't be a script that takes a session ID, because I never have a session ID. I have a sentence like "the chat about the model names, sometime this week." The tool's job is to turn that into candidates — title, date, project, first thing I said — and let the AI pick. I point it in a direction; it finds the data.

The AI took that as "scripts are bad" and deleted the script entirely. Second correction: I like the script, put it back. The point was never no plumbing — the point was that the plumbing is optional. If a conversation is small, the AI can read the raw file directly, and I don't care.

But some of my conversations, like one from May, weigh 37 megabytes — printed on paper, a shelf of novels. If an AI naively reads that to catch up, it immediately runs out of working memory, and the individual steps taken drown the actual conversation. So the skill's answer is bite-size: my messages, the AI's answers, a shelf of novels compressed into a few readable pages.

A skill has to survive the first run to earn its place

By the end of the morning session, the skill existed, and I wanted to blog about it.

Then I remembered my own rule and scrapped that plan. A skill that has never been triggered by a real request is a wish, not a tool. Writing the post in the same session that built it would prove nothing — that AI already had everything in its head. The real test was a stranger.

So I closed that session, opened a fresh one with a different AI, and dictated the meanest test I could think of: use the new skill and find the conversation it was written in.

Mean, because I knew something the tool didn't handle: that conversation isn't about the skill. It started as iPad housekeeping and pivoted halfway through — its title, its date, its opening line all point somewhere else. The one honest way to find it is by what's buried in the middle.

"Does it mean that your skill is not enough?"

The new AI pulled out the recipe exactly as intended. Ran the search. Got nothing back.

And then it did something I only half-liked: it quietly went around its own new tool and cracked open the database by hand, the burglar routine all over again — file dates, blueprints, searches. It found the right session in under a minute. Great detective work. Terrible advertisement for the skill we'd built that same morning.

So I asked it straight: I saw you touching databases directly. Does it mean that your skill is not enough?

The search only reads the label on the box. A conversation that changed its mind halfway through has a lying label. And my conversations always change their mind halfway through; that's how this whole story happened.

Skill-building skills

Two additions fixed it. The search can now grep — look for a literal snippet of text inside the conversations, not just on their labels. And it can take a time window, because a file's creation date is a confession: the skill's files appeared at 08:19, so the guilty conversation had to be whichever ones were alive at 08:19.

With that, the mean test passed. Asked for any conversation mentioning the recipe by name, the tool returned exactly two: the one where it was born, and the one we were sitting in.

One more change. The first version, finding nothing, said "no matching sessions" and stopped. That message is where the whole detour started — a dead end teaches the AI to abandon the tool, and it never comes back. Now the same failure explains itself: I only searched the labels; try a grep, or widen the window. A skill is only useful if its first real use actually succeeds — and when it can't succeed, the next best thing is failing with directions.

Make it work the way you work

I switch sessions all the time. I ask every question inside the project it belongs to, so the AI answers with the actual code in front of it. When the answer turns into something that should live elsewhere, I move — new folder, new session — and the work lands where it will be used. At the end, a storyteller session collects what the earlier ones made and shapes the result.

That relay is how this post happened. The idea started in the tool's own folder, next to the code. The next session ran in the vault — the place where I keep my notes — and its first job was to fetch that earlier conversation; the script and the skill it built landed where they run. And this session, the storyteller, used the skill to pull in both of the others: my words, the decisions, the final answers. A few readable pages per handoff, never the megabytes.

So the vault holds the catalogue, and I leave any session the moment a better folder calls. Every model gets the best of the previous model, not the plumbing.