nanochat is a small experimental codebase for training and running language models, covering tokenization, pretraining, fine-tuning, evaluation, and inference. Researchers and developers use it to train GPT-style models on a single GPU node and interact with them through a command line.
Borrowing it
Nothing to install: this file belongs to karpathy/nanochat. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/karpathy/nanochat/master/.claude/skills/read-arxiv-paper/SKILL.mdgit clone --depth 1 https://github.com/karpathy/nanochatWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/karpathy/nanochat/read-arxiv-paper)<a href="https://agentmods.dev/skills/karpathy/nanochat/read-arxiv-paper"><img src="https://agentmods.dev/badge/skills/karpathy/nanochat/read-arxiv-paper/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/karpathy/nanochat/read-arxiv-paper"><img src="https://agentmods.dev/badge/skills/karpathy/nanochat/read-arxiv-paper.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk warn
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00021 | $0.00474 |
| Opus 5 | $0.00010 | $0.00237 |
| Sonnet 5 | $0.00004 | $0.00095 |
| Haiku 4.5 | $0.00002 | $0.00047 |
Grade A, and why
read-arxiv-paper scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
You will be given a URL of an arxiv paper, for example:
https://www.arxiv.org/abs/2601.07372
Part 1: Normalize the URL
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:
Part 2: Download the paper source
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).
Part 3: Unpack the file in that folder
Unpack the contents into ~/.cache/nanochat/knowledge/{arxiv_id} directory.
Part 4: Locate the entrypoint
Every latex source usually has an entrypoint, such as main.tex or something like that.
Part 5: Read the paper
Once you've found the entrypoint, Read the contents and then recurse through all other relevant source files to read the paper.
Part 6: Report
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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 41 lines · 21 tokens per session scan A 5b7a49e740ab
read-arxiv-paper is a skill published in the GitHub repository karpathy/nanochat (57,933 stars, last pushed 4d ago), licensed MIT. It adds 21 tokens to every session and 474 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
instrument-data-to-allotrope
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full…
exploratory-data-analysis
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain…
matlab
Build, review, migrate, and safely plan MATLAB or GNU Octave numerical workflows, including arrays, tabular/time data, tests, projects, graphics, MAT files, and explicit Python interoperability.
phylogenetics
Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree (fast NJ/ML). Visualize with ETE3 or FigTree. For evolutionary analysis, microbial genomics, viral phylodynamics, protein family analysis, and molecular clock studies.
research-engineer
An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal verification, and optimal implementation across any required technology.
mapping-to-snomed
Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL…