Skip to content

A retention engine for agents.

Source in. Honest, code-graded cards out. No UI included, build whatever sits on top.

Hand it a file, a URL, a repo, or a concept. Every card cites the line it came from, and the grade is computed by code checking your answer against that line, never a model deciding to be nice.

CLI Claude Code skill headless primitives bunx reference tutor (browser)
terminal
$ recallit due --topic thinking-fast-and-slow
1 due
$ recallit answer c14 "We judge from the evidence in front of us and don't notice what's missing." --topic thinking-fast-and-slow
{ rating: "Good", reasons: ["ch.7: 'System 1 is radically insensitive to both the quality and the quantity...'"] }
Primitives

Three things it actually does.

Everything else, chat, voice, a GUI, a CLI, is yours to build on top.

Source ingestion

prepareSource()

A file, a URL, a repo, or a bare concept. Every card cites the exact line it came from. What it can't verify, it holds back.

Honest grading

grade_card()

Code checks the answer against the cited line, or an evidence-verified rubric for open recall. Never up to the model.

Scheduling

get_due_cards()

FSRS spaced repetition, computed by code. The right card is waiting when you come back.

Honest holds

await_user_response()

When it can't confidently grade an answer, it says so. Never a guessed rating, the turn stays retryable.

Headless by default

present_card() · reveal_answer()

No UI opinion shipped. Wire the primitives into a chat agent, a voice loop, a dashboard, whatever fits.

Reference tutor

bunx @waits/recallit-tutor

A working example built on the same primitives, not the only way to use them. Try it in the browser, no key.

✓ good this is the one honest mint moment on the whole page, and it only shows up on an actual grade.
Run it

Copy, paste, go.

Files on disk, no accounts, no server. Everything below is the real CLI.

Install

terminal
bun add -g @waits/recallit # bun-only, imports bun:sqlite

Author a pack

terminal
recallit pack write packs/my-course
recallit topic add packs/my-course # installs READY cards only

Drill it

terminal
recallit due --topic my-course --limit 5
recallit answer <cardId> "your answer" --topic my-course

Inside Claude Code

claude code
Already ships as a Claude Code / OpenClaw skill, fully keyless, CLI-only. No MCP server, no browser, no API key for grading.