brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Use this skill when asked to read an arxiv paper given an arxiv URL
Claude Code
$ npx -y skills add karpathy/nanochat --skill read-arxiv-paper --agent claude-code
Codex
$ npx skills add karpathy/nanochat --skill read-arxiv-paper -a codex -y
Cursor
$ npx skills add karpathy/nanochat --skill read-arxiv-paper -a cursor -y
Gemini CLI
$ npx skills add karpathy/nanochat --skill read-arxiv-paper -a gemini-cli -y
GitHub Copilot
$ npx skills add karpathy/nanochat --skill read-arxiv-paper -a github-copilot -y
OpenCode
$ npx skills add karpathy/nanochat --skill read-arxiv-paper -a opencode -y
Windsurf
$ npx skills add karpathy/nanochat --skill read-arxiv-paper -a windsurf -y
name: read-arxiv-paper description: Use this skill when asked to read an arxiv paper given an arxiv URL
You will be given a URL of an arxiv paper, for example:
https://www.arxiv.org/abs/2601.07372
The goal is to fetch the TeX Source of the paper (not the PDF!), the URL always looks like this:
https://www.arxiv.org/src/2601.07372
Notice the /src/ in the url. Once you have the URL:
Fetch the url to a local .tar.gz file. A good location is `~/.cache/nanochat/knowledge/{arxiv_id}.tar.gz`.
(If the file already exists, there is no need to re-download it).
Unpack the contents into `~/.cache/nanochat/knowledge/{arxiv_id}` directory.
Every latex source usually has an entrypoint, such as `main.tex` or something like that.
Once you've found the entrypoint, Read the contents and then recurse through all other relevant source files to read the paper.
Once you've read the paper, produce a summary of the paper into a markdown file at `./knowledge/summary_{tag}.md`. Notice that 1) use the local knowledge directory here (it's easier for me to open and reference here), not in `~/.cache`, and 2) generate some reasonable `tag` like e.g. `conditional_memory` or whatever seems appropriate given the paper. Probably make sure that the tag doesn't exist yet so you're not overwriting files.
As for the summary itself, remember that you're processing this paper within the context of the nanochat repository, so most often we will be interested in how to apply the paper and its lessons to the nanochat project. Therefore, you should feel free to "remind yourself" of the related nanochat code by reading the relevant parts, and then explicitly make the connection of how this paper might relate to nanochat or what are things we might be inspired about or try.
nanochat is the simplest experimental harness for training LLMs. It is designed to run on a single GPU node, the code is minimal/hackable, and it covers all major LLM stages including tokenization, pretraining, finetuning, evaluation, and inference.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.