skillsync
Docs/Skillsync CLI

Search your sessions

Ask a question about your past coding sessions, from the terminal or inside Claude Code, Codex and OpenCode.

These docs cover the current Skillsync CLI. Local session support is powered by the open-source txcript project.

skl searches two ways. skl query finds exact text. skl search answers a question. Use query when you know the words, and search when you know what you want to find out.

Find exact text

skl query "auth bug"
skl query "auth bug" --cwd .
skl query

A pattern prints the sessions that contain it, best first. It matches the text as typed and ignores case. With no pattern you get a picker, and Enter continues the session you choose.

Ask a question

skl search "what went wrong last time we touched the auth middleware?"
skl search "how did we set up the release pipeline?" --cwd .

You get a short answer. Each [n] in it points at a session listed underneath, with the command that reads it.

OptionWhat it does
--cwd <DIR>Only sessions recorded in this directory.
--timeout <SECONDS>How long to search. The default is 30, and 0 means no limit.
--jsonPrint the result as JSON.

A search stops after 30 seconds and gives you what it found by then.

It runs on your Skillsync plan, so sign in first with skl login. You can also run it on your own keys.

A search sends what you typed in each session, plus the exchanges from the few likeliest ones, off your machine to be scored.

skl search isn't on Windows yet. Neither are the plugin and the keys below.

In Claude Code, Codex and OpenCode

skl plugin install                  # every supported tool found here
skl plugin install --agent claude   # one tool
skl plugin status                   # which tools have it
skl plugin remove

The plugin runs the same search on each prompt you send. If you've built or done this before, your coding tool gets what your past sessions recall, with the sessions cited. It also adds the MCP tools.

--agent takes claude, codex or opencode. Repeat it for more than one.

A lookup stops after 30 seconds and your prompt goes through as typed. Short replies and slash commands are never looked up.

On a Mac with the Skillsync app, the app installs this plugin itself. skl plugin status says whose plugin each tool has. install and remove leave the app's plugin alone unless you pass --force.

Your own keys

skl keys          # what search runs on
skl keys set      # use your own keys
skl keys test     # test the saved keys again
skl keys off      # back to your plan

skl keys set runs search on your keys instead of your plan, everywhere search is asked. It takes a TypeSafe key for the search and an OpenAI key for the answers, and tests each one before keeping it.

Keys come from TYPESAFE_API_KEY and OPENAI_API_KEY, or from a prompt in the terminal. A key is never a command argument.

The answers key is optional. Without it a search finds sessions and writes no answer, and the plugin looks nothing up.

To send a key somewhere other than its provider, name a base URL and a model:

skl keys set --search-base https://jev.example.com --search-model clef
skl keys set --answer-base https://gateway.example.com/v1 --answer-model my-writer

Pass an empty value to go back to the provider.

Saved keys live in search-keys.json next to your login, readable only by you. TYPESAFE_API_KEY in your environment wins over a saved key.