EricJujianZou/rederive
Learn a codebase by re-deriving its design decisions yourself. A Claude Code skill.
rederive is a tool that teaches you how a codebase works by making you re-design it yourself, from scratch, using only questions as hints. It never explains the code to you directly — it guides you to rediscover the design on your own.
What it does
When you run rederive on a project, it turns the codebase into a kind of interactive puzzle. Instead of reading explanations or documentation, you're asked to solve the same design problems the original developers faced. You propose solutions, rederive pushes back with constraints, and you refine your answer until you arrive at the real design. The idea is that you truly understand the code because you derived it yourself, rather than memorizing what someone told you.
How it works
- It starts with the "why." If you run it on your own project, it asks you why you built it. If you run it on someone else's project, it figures out the original problem the project was meant to solve and asks how you would solve it.
- A background agent studies the repo while you answer. It reads the code, traces how files import each other, and looks at commits where the design changed. It deliberately ignores commit messages, so even repos built by AI in a few big commits work fine.
- It builds a map of 5–10 design problems, listed in the order the system would actually be built. Each problem comes with its constraints and the real solution. This map is stored in a file called
.rederive/map.md— and you're told not to peek until you're done, because it contains the answers. - If you get stuck, it narrows the problem down to a few possible approaches to choose from. If you give two wrong answers in a row, it offers to sketch the problem for you.
- It keeps a log of your progress in
.rederive/log.md— where you struggled and what you figured out on your own. You can read it at the end to see what to practice.
Installation
Run this command in your terminal:
npx skills add EricJujianZou/rederive
This installs it for Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, opencode, Windsurf, Amp, Goose, and about 15 other coding agents. Add -g to install it for every project instead of just the current one. After installing, type /rederive in your agent.
It requires git, bash, and python3 on your machine.
There are also alternative install methods: as a Claude Code plugin, or by manually cloning the repo and copying the skill folder into your agent's skills directory.
Usage
/rederive # the repo you're currently in
/rederive ~/code/myapp # a local repo
/rederive https://github.com/expressjs/express # clones a remote repo into the current folder
You talk to it in plain words. You can tell it you're stuck, ask to skip a problem, or say you want to start over.
Privacy
Everything stays on your machine. The .rederive/ folder is added to the repo's local git exclude list, so it never appears in your commits. rederive sends no telemetry.
License
MIT.
The project describes itself as "an attempt by a frustrated developer to restore humanity's curiosity."
Related
- Project
- Project
- Project
- Project