Where is your mind?

For people who work with agents on ambitious projects, and want to look after their mind while they do it.

Wimym reads your Claude Code transcripts on your computer and shows how your collab with agents went. Once a week, a retro helps you pick what to change, and measure progress.

Robin's messages since September. Each column is a project and each string a session. Strings light up when you message their corresponding sessions, and when Claude generates large outputs. Robin is a made-up user. Hover or tap a string to read the message.

Working with agents// One of Robin's days

Working with agents

A message goes out, and minutes later something exists. Nothing tells you when to stop.

You jump between sessions, asking and approving while the agents build, at any hour. Here's what one of those days looks like in the transcripts.

One of Robin's days, replayed

23:28

Thursday 22 October · 147 messages · 4 projects

Messages
147
Project switches
66
Go-aheads, three words or fewer
28
Agent sent back
5

Each project is a string, and each message plucks it when it was sent.

All of this is already in the transcripts on your computer. Wimym just shows it to you.

It only classifies & quantifies your own usage and helps you introspect.

What it shows// Live, on Robin's record

This week

Where your attention went this week.

The front page opens on the Loom: your messages in the order you sent them, one column per main project and one string per session. The colour is what the message asked for, and a string gets brighter the more Claude wrote back. Below it, the week so far as a spiral, one turn per day, next to a normal day for you and the time you wanted to stop.

This week, live on Robin's record. Open it in the demo

Vital signs

Quantified-self

Each sign covers the last twelve weeks, with your normal range shown as a band. Anything outside it two weeks in a row comes first, with a short sentence saying what changed.

  • Days in a row, active hours, nights and days off
  • The longest stretch on one project, and how often you switch
  • Minutes past the hour you meant to stop
  • Go-aheads sent before you could have read the reply
  • Strain in your messages, and days someone else took part
  • Projects that went quiet with nothing landed
Robin's health signs, live. Click one to see what it measures. Open it in the demo

The weekly retro

Once a week, talk it through.

Once a week, a Claude session that has read your week brings up a few moments worth looking at, with the messages behind each one, and asks what you think. You talk it through and pick one or two practices to try. Or none, if nothing needs to change.

The week's page opens with a shape that reacts to your signs. It splits into lobes when you ran many sessions at once, frays when your nights were short, and pulses slowly after a long run of days without a break.

Robin's week, live, with the weeks before it a click away. Open it in the demo

Practices and limits

Decide what to change and measure the results.

A practice is something you decide to do differently, with the sign that will tell you if it's working. Some are for you, like stopping at a fixed time. Others are easier to give to the agents as a rule. Every retro assesses your progress.

Set a stopping time, a number of days off a week or a maximum number of sessions at once, and an optional hook tells you in Claude Code as soon as you go over:

Wimym: It's 23:30, past the 21:30 you set. 7 sessions running, more than the 4 you set.

The week turn by turn, with the stopping hour Robin set. Open it in the demo

History

Every message you sent, classified & searchable.

Each day is shown as a score of its sessions. You can filter every message you sent by what it asked for, its tone or its project, and open it in full with Claude's reply and the command to resume that session. Claude Code deletes old transcripts, but Wimym keeps what it has read, so your history keeps growing.

Tuesday 20 October, one of Robin's days, as a score. Open it in the demo

Share mode

Share it without showing what you work on.

One switch hides your messages, project names and people's names across the whole app, so you can show it or screenshot it safely. The postcard is a six-second looping video of your Loom with three facts from your data. It only shows shapes and counts.

Robin's postcard, tall for a phone. The wide one is for a link or a post.

Privacy

Wimym itself sends nothing.

Your transcripts say a lot about you. They mention clients, colleagues, and sometimes family or health. Wimym is built for you to use on yourself. It doesn't report to an employer, a team or a vendor.

01

Read on your computer

Wimym reads your transcripts, prompt history and git history on your computer, and sends nothing anywhere itself.

02

Only open to your computer

The page runs on 127.0.0.1, answers only requests addressed to your machine, and takes input only from its own page.

03

Claude, through your own login

Text only leaves your computer when you run the labeller or use the skills, and then it goes to Claude through your own claude login. It's text Claude already saw when you wrote it.

04

GitHub only if you turn it on

Pull requests and reviews are read through your gh login only if you opt in. It is off by default.

Set it up

On your Mac or PC, in a few minutes.

Wimym is early, and I built it for myself first. If you use Claude Code most days, it should have something to tell you.

  • macOS, or Windows 10 or 11
  • Python 3.9 or later
  • Node 18 or later
  • Claude Code transcripts in ~/.claude/projects

Claude CodeOne prompt

Let Claude set it up

Paste this into Claude Code. It reads the setup guide, checks your computer, and asks you everything at once before it changes anything. Then it does what you chose, saying what each step does.

Set up Wimym on this computer for me. Read the guide with curl -fsSL https://wimym.matricetechnologies.com/setup.md and follow it step by step: say what each step does, and ask me before anything that changes my computer.

It offers a backup of ~/.claude, the demo, the command, the skills, the limits and the labels, then gets the code and starts Wimym on your own record. It comes back to you only for a TypeSafe key, if you want one, and to show you what the labels cost before it sends anything. You still need your GitHub account invited to the private repository; Claude checks, and tells you which account to give. The guide it follows: setup.md.

Or set it up by hand// 8 steps

The same steps, as commands to run yourself.

First, back up ~/.claude

That folder is your whole history with Claude Code: every transcript and every memory note your agents keep about you. Wimym only reads it. But it is young software, and that folder can't be replaced. Make a copy before you start, and check the copy is there:

ditto ~/.claude ~/Backups/claude-$(date +%Y-%m-%d)
du -sh ~/.claude ~/Backups/claude-*

Claude Code also deletes transcripts older than 30 days on its own. To keep them longer, set "cleanupPeriodDays" to a larger number in ~/.claude/settings.json.

  1. Get the code

    For now, Wimym is shared by invitation, in a private GitHub repository. Ask the person who sent you this page to add your GitHub account, then:

    git clone https://github.com/matrice-technologies/wimym.git ~/wimym

    The steps below assume it is in ~/wimym. To update later: git pull, then ./install.sh again.

  2. Try the demo first optional

    See the whole page on Robin, a made-up person, before Wimym reads anything of yours. It runs on port 8997 with its own folders, and none of your data is read.

    cd ~/wimym
    ./install.sh --demo

    When you are done: ./install.sh --demo --stop.

  3. Run it on your own record

    ./install.sh

    It checks Python and Node, builds the page, starts Wimym on http://127.0.0.1:8990 and opens it. The first time, it reads every transcript on your computer and shows its progress: each message it finds appears as a star and falls into your planet. A few dozen transcripts take a second or two, months of them about half a minute.

    Run it again any time: it only redoes what changed. ./install.sh --stop stops it. It writes only in its own folder, in ~/.wimym (what you enter: keep it) and in ~/.cache/wimym. No sudo.

  4. Ask your own record optional

    ./install.sh --link puts the wimym command in ~/.local/bin. It answers from a local SQLite copy of everything Wimym knows.

    wimym week                       # last week's vital signs, days and moments
    wimym moments --about switches
    wimym rules                      # instructions you keep giving the agents
    wimym practice add …             # and practice list | check, limits
  5. Add the two skills optional

    /wimym answers open questions about yourself with your data in context, and /retro runs the weekly retro. They use the wimym command, so run ./install.sh --link first, then link them into your skills folder:

    mkdir -p ~/.claude/skills
    ln -s ~/wimym/skills/wimym ~/.claude/skills/wimym
    ln -s ~/wimym/skills/retro ~/.claude/skills/retro

    Then, in Claude Code: /wimym Am I more scattered on days I start before 7? or /retro.

  6. Get a nudge when you cross a limit optional

    Set a stopping hour, days off or a ceiling on sessions at once, on the front page or with wimym limits. Then see what the hook would say right now:

    python3 ~/wimym/hooks/limits.py --check
    python3 ~/wimym/hooks/limits.py --status

    To turn it on, add these entries to ~/.claude/settings.json. Merge them with what is already there: keep your own hooks, and swap statusLine only if you want Wimym's (9h35 today · 85 days in a row) in place of yours.

    {
      "hooks": {
        "SessionStart": [
          { "hooks": [{ "type": "command", "command": "python3 ~/wimym/hooks/limits.py", "timeout": 5 }] }
        ],
        "UserPromptSubmit": [
          { "hooks": [{ "type": "command", "command": "python3 ~/wimym/hooks/limits.py", "timeout": 5 }] }
        ]
      },
      "statusLine": { "type": "command", "command": "~/wimym/hooks/statusline.sh" }
    }

    It stays silent until a limit is crossed, says it at most once every 30 minutes in a session, and never blocks a prompt. Remove the entries to turn it off.

  7. Labels, for what is read from words optional

    Tone, strain and what each message asks for come from a model reading your words. The labeller sends them to Claude Haiku through your own claude login, and uses your plan. See how much it would read first:

    python3 labeller/label.py --dry-run
    python3 labeller/label.py --all

    Every label says it is a model's reading, and the Labels page shows how far each one has been checked.

  8. On Windows

    The same steps in PowerShell, on Windows 10 or 11: .\install.cmd takes every option ./install.sh does, and py -3 stands for python3. Install what is missing with winget, then open a new terminal:

    winget install Python.Python.3.12
    winget install OpenJS.NodeJS.LTS
    winget install Git.Git
    Copy-Item -Recurse $HOME\.claude "$HOME\Backups\claude-$(Get-Date -Format yyyy-MM-dd)"
    git clone https://github.com/matrice-technologies/wimym.git $HOME\wimym
    cd $HOME\wimym
    .\install.cmd --demo          # Robin; .\install.cmd --demo --stop after
    .\install.cmd                 # your own record; --stop, --update, --link
    New-Item -ItemType Junction -Path $HOME\.claude\skills\wimym -Target $HOME\wimym\skills\wimym

    Skills are linked with junctions, which need no administrator rights (and retro the same way). In settings.json, the hooks' command is py -3 C:/Users/you/wimym/hooks/limits.py, and the status line's the same with --status. If you run Claude Code inside WSL, follow the steps above in WSL instead.