Skip to main content

reSkill

reSkill, while Claude thinks you learn

tests license: MIT Python 3.10+

A terminal companion for Claude Code. While Claude thinks for 23 seconds, reSkill hands you a quiz about the exact code it's working on.

Zero network. No Claude slowdown. Local state, single flag file. MIT, alpha. Landing: https://amitsubhash.github.io/reskill/.

Claude is thinking...                   reSkill   Q1
                                        ╭── think about this ──╮
  · Reading 3 files                     │ Most Pythonic way to │
  · Analyzing scheduler.py              │ read a UTF-8 JSON?   │
                                        │                      │
  Actioning... 16s                      │  1) open(...)        │
                                        │  2) Path(...).read_  │
                                        │     text(utf-8)  ✓   │
                                        │  3) codecs.open()    │
                                        │  4) io.open()        │
                                        ╰──────────────────────╯

Install

# 1. install the package  (the PyPI name is reskill-cli; the CLI binary is `reskill`)
pip install reskill-cli

# 2. see it work, no settings touched
reskill demo

# 3. wire it into Claude Code (reversible; backs up your settings.json)
reskill install
reskill doctor

Prefer editable? git clone https://github.com/AmitSubhash/reskill.git && cd reskill && pip install -e . Or install straight from GitHub: pip install git+https://github.com/AmitSubhash/reskill.git.

Use

Live during Claude sessions (the main one):

reskill claude   # opens claude + a quiz pane alongside

If you have tmux: splits the current window. If not: pops a second Terminal.app or iTerm2 window. Click the quiz pane (or Ctrl+B →) to focus it, press 1 to 4 to answer.

Anytime, anywhere:

reskill next                    # one context-matched quiz, right now
reskill next --concept torch    # target a specific topic
reskill session                 # commit-driven deck (last 7 days)
reskill review                  # drill your recently-missed questions
reskill topics                  # learning map: every concept + mastery
reskill doctor                  # diagnose anything that feels off
reskill status                  # one-liner: 0 mastered, 3/5 today, 5 streak
reskill stats                   # level, XP, per-concept mastery
reskill streak                  # 12-week heatmap of your answered days

How it works

  • Hooks fire on UserPromptSubmit, PreToolUse, PostToolUse, Stop to toggle a flag file at ~/.reskill/state/thinking.
  • Quiz pane watches the flag (or falls back to transcript-mtime polling if hooks aren't installed) and serves a question whenever Claude is mid-thought.
  • Scheduler picks questions matched to what Claude is writing. Tiers: live transcript > recent git commits > cumulative cache. Within a tier: SM-2 overdue > new > not-due. Across concepts: interleaved within confusable clusters (Rohrer & Taylor 2007). Within a concept: format diversity (Roediger & Karpicke 2006). Targets a 15% error rate per Wilson 2019.
  • Pacing gate rate-limits with sensible defaults, tunable via RESKILL_* env vars.
  • In-session re-queue pushes wrong answers back 3 items later (Butler & Roediger 2008).
  • Hypercorrection cue: wrong answers given in under 5 seconds get a sticky flag. Research says these stick hardest.

Controls

Key Action
1 to 4 Answer
x, esc Skip this question
b Later, requeue after 5 items
B Bury, gone for today
q Quit the pane (idle card only)

Themes

export RESKILL_THEME=everforest  # default on truecolor terminals
export RESKILL_THEME=mono        # BOLD/DIM only
export NO_COLOR=1                # standard, also forces mono

Auto-falls-back to mono when COLORTERM is not truecolor or 24bit (Apple Terminal.app, many ssh contexts).

Tuning

export RESKILL_MIN_GAP=10                # seconds between quizzes
export RESKILL_MAX_PER_HOUR=20
export RESKILL_MAX_PER_DAY=60
export RESKILL_THINKING_DEBOUNCE=3       # skip first N seconds
export RESKILL_SAME_CONCEPT_COOLDOWN=90

What's inside

  • 74 hand-written questions across 50 concepts
  • Python (async, typing, numpy / pandas / torch, stdlib gotchas, packaging, testing) plus shell, git, SQL, React and TypeScript essentials
  • 8 question formats: output, bug, tradeoff, scenario, why, gotcha, refactor, cloze
  • LLM-generated questions from your live transcript or real commit diffs via reskill gen --live

Uninstall

reskill uninstall   # removes hooks + statusline, keeps a backup

Your existing settings.json hooks and statusLine are preserved. We only touch entries we own.

Status

Alpha. Data model stable, scheduler is evidence-based. The template bank is hand-written; LLM-generated questions from novel diffs are the next major milestone.

License

MIT. See LICENSE.

Credits

Built by Amit Subhash (@AmitSubhash). Scheduler grounded in the spaced-repetition literature: Bjork & Bjork 2011 (desirable difficulties), Rohrer & Taylor 2007 (interleaving), Butler & Roediger 2008 (delayed feedback), Wilson et al. 2019 (85% rule), Butterfield & Metcalfe 2001 (hypercorrection). Mistakes are mine.

Release files for reskill-cli 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reskill-cli 0.2.2
File Size Uploaded
reskill_cli-0.2.2.tar.gz 131.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for reskill-cli 0.2.2
File Interpreter ABI Platform
reskill_cli-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 261.4 kB

Release files / reskill_cli-0.2.2.tar.gz

Download URL reskill_cli-0.2.2.tar.gz
Size 131.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d97dac3684ec350bf1c723d8ba682a50aa96cc51aa566a7234cb4e902d93bac2
BLAKE2b-256 checksum
How to use checksums
715af7724966092052c7f3f987b80ea9e2b774d351eb0e59678b075c8c7e9cd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / reskill_cli-0.2.2-py3-none-any.whl

Download URL reskill_cli-0.2.2-py3-none-any.whl
Size 129.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bec2a9aeb1fceb7df473e3082ec0070244f6842e21f3bdbbfd0415626e06ac05
BLAKE2b-256 checksum
How to use checksums
d3c4c59d8eaf1b422cf8e6ac85dfa13962c79d2382f774f653459186a8cfd7be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page