A plugin for Claude Code · v1.0

Carryover — the parts of Claude Code that should survive the session.

Cross-session memory, cross-project lessons and measured hours. A plugin, not a copy-pasted CLAUDE.md. You already write good instructions — the problem is that they die with the session, stay trapped in one repo, and nobody can tell you how many hours went where.

MIT licence · no account · no telemetry · zero dependencies · refund within 14 days, no questions.

54 s, silent. Install dry run → lesson 1× → 2× → what every session receives → 3× → rule file → weekly hours → measurement holds → zero network calls. Real terminal, no mock-ups.

Three things that go wrong every week

What you get

Four hooks, five skills and four small scripts. Plain, unminified Node — read it before you run it; reading it is the point.

1 · HANDOFF

A session that ends properly

Say "let's wrap up" and the handoff skill writes the note the next session opens with: where we stopped · what is open, with what was already tried · the next command · what not to repeat. One line goes into the memory index, because that index is loaded whole every session and it is capped — so it holds pointers, never content.

2 · LESSONS

Lessons that earn their way into rules

Record a lesson when something bites you. Repetition decides what happens next:

SeenWhat happens
Filed. Nothing else — most lessons are noise; let them prove otherwise.
One line injected at the start of every session, in every project.
Promoted to a rule file that loads automatically — and stops being injected.

A promoted rule can be path-scoped (--paths ".github/**,deploy/**"): it loads only when a matching file is read and costs nothing the rest of the time. Measured, not assumed — see below.

3 · HOURS

Hours you did not type in

Every hook event is timestamped to a local file. Work blocks are derived from those events, never kept as a running timer, so a crashed session or a closed laptop cannot inflate your hours. Folders map to lines ("product", "client"); a folder that maps to nothing is counted separately as ? — never quietly assigned.

Today (2026-09-08): 2h 33m — A 1h 23m · B 1h 10m
  web-app:     1h 23m
  billing-api: 1h 10m
4 · THE KIT

The rest of it

Five skills (handoff · lesson · status · retro · skill-writer), three path-scoped rule packs, seven templates, an auditable installer, and three working example repos you can run before you change a line.

Measured, not claimed

Everything on this page was run on Windows 11 with Claude Code CLI 2.1.263 and Node 24. Each claim says where its number comes from, so you can reproduce it after installing.

ClaimProof
The five skills cost ~770 tokens always-on; hooks cost zeroclaude plugin details — run it yourself after installing
Rule packs, templates and examples add nothing to your contextSame command, before and after
Path-scoped rules load only on a matching fileChecked three ways: matching file → loads · no file read → does not · non-matching file → does not
Session-start injection actually reaches the modelA fresh session was asked to repeat it back, with no file reads
No network calls anywhere in the shipped scriptsgrep -rnE "fetch|https?" scripts/ → 0. Grep it yourself
Zero npm dependenciespackage.json does not exist. Node built-ins only
The three example repos workEach exits 0 as shipped
And what is not measured. Every script — the counter, the lesson store, the installer and the three examples — was run on real Linux (node:20 in Docker) and behaved exactly as on Windows. What was not run there is Claude Code itself, so on Linux "the hooks fire" is inferred rather than measured, and macOS has not been tried at all. Buy on Windows with confidence; buy on Linux knowing the scripts are proven and the wiring is not; on macOS you may be the first, and the refund is there for exactly that.

Also honest: in headless (claude -p) sessions the CLI does not fire SessionEnd, so a scripted one-shot may not record its end. Interactive sessions record everything.

Install

Three ways, all of them reversible. No curl | bash, no post-install script, no account.

claude --plugin-dir carryover.zip      # try it; nothing is written to your settings
node scripts/install.mjs               # prints exactly what it would write
node scripts/install.mjs --apply       # writes it, after a timestamped backup

Or paste four hook entries into settings.json yourself — the README gives them in exec, bash and PowerShell form. The installer is dry-run by default because you should read what a tool does to your config before it does it, and --uninstall removes exactly what it added and nothing else.

Requirements: Node ≥ 20 · Claude Code (any recent version) · Windows, macOS or Linux (see the note above) · a terminal you are willing to paste one command into.

Who this is not for

  • If you use Claude Code for one project, occasionally, the cross-project half of this does nothing for you. The counter alone is not worth $39.
  • If you want an agent framework, orchestration, or a dashboard, this is not that. It is four hooks, five skills and four small scripts.
  • If you will not read a script before running it, do not buy this one.

Who it is for

  • You run Claude Code across several repos — alone or with two or three people — and you have said out loud, more than once: "I explained this last week."
  • You bill hours, or answer to someone who does, and "roughly" is not an answer.
$39 one payment · launch price, then $49

MIT licence. Fork it, change it, use it inside client work and commercial projects, ship your own derivative. You are buying the work, not permission. Every 1.x release is free, downloaded from the same link. Refund within 14 days for any reason — no form, no questions.

Buy Carryover — $39

Checkout and invoicing by Polar (merchant of record). Price includes VAT where it applies. Sold by Cemdalf — Sece Bilişim İthalat İhracat Ticaret Ltd. Şti., İzmir.

FAQ

Does anything leave my machine?

No. There is no network code in the shipped scripts — grep for it; that is why the source is plain and unminified. Hours, lessons and handoffs are files on your disk, under ~/.carryover/, in Markdown and JSONL you can read and delete.

Will it slow my sessions down or eat my context?

The four hooks are harness-only and cost no model context at all. The five skills cost ~770 tokens always-on between them; a skill's body is only read when it fires. Measure it on your own machine with claude plugin details.

What if I already have hooks in settings.json?

The installer merges. It preserves other hooks, permissions and settings, backs the file up before writing, is idempotent, and refuses to touch a settings.json it cannot parse.

What happens when Claude Code changes?

The kit rides four documented hook events and the plugin manifest. When something breaks, 1.x updates are free — and measure-example.mjs tells you that it broke rather than letting it fail silently, which is the part most tooling gets wrong.

Is my data sent to Anthropic, or to you?

Nothing is sent anywhere. There is no account, no key, no callback, and I cannot see your usage. If you want me to see something, you have to send it.

Can I use it for client work?

Yes. MIT.

Refunds?

Ask, within 14 days, for any reason. No form, no questions. Write to support@cemdalf.com.

Was this built with AI?

Yes — with Claude Code, using the same hooks, skills and memory patterns it ships. That is stated in the README and here, and it is the reason the kit exists in this shape.

Is this an Anthropic product?

No. Carryover is an independent plugin for Claude Code, made by Cemdalf. Claude and Claude Code are trademarks of Anthropic, PBC; there is no affiliation or endorsement.