study-with-feynman is a Codex skill for learning papers and course materials through staged, source-grounded teaching and Feynman-style teach-back checks. It reads the available materials, gives a concise big picture, and teaches one manageable knowledge unit at a time. The learner can use a teach-back check or explicitly skip it when they already understand the unit completely.
This project is inspired by two ideas:
- The Feynman Technique: test understanding by explaining a concept in simple language as if teaching it to someone else. The skill turns that idea into an interactive loop of explanation, learner questions, teach-back, targeted hints, and correction.
- Andrej Karpathy's LLM Wiki: let an LLM build durable, interlinked Markdown knowledge from source material instead of rediscovering everything in each conversation. This skill adopts a deliberately lightweight version of that pattern: it saves only user-requested concept notes and does not maintain a full ingestion log, index, or learning-progress system.
This is an independent project and is not an official implementation or endorsement of either source of inspiration.
- Discovers relevant papers, code, slides, transcripts, subtitles, and supplementary files from explicit paths or the current folder.
- Uses the supplied materials as the primary source of truth.
- Starts with a short big picture instead of exposing a full learning roadmap.
- Automatically splits the subject into small units ordered by knowledge dependency.
- Explains concepts in plain Chinese by default while retaining necessary English terminology.
- Lets the learner ask repeated questions before starting a comprehension check.
- Uses a Feynman teach-back check only after the learner explicitly says they are ready.
- Skips the current unit's teach-back when the learner explicitly says they fully understand and do not need to retell it.
- Gives at most three progressively more specific hints before directly correcting a misunderstanding.
- Ends with an integrated teach-back that connects the major ideas unless the learner explicitly skips it.
- Saves an Obsidian concept note only when explicitly requested.
For papers, the skill covers the research problem, prerequisites, data acquisition, data processing, method, optional implementation, evaluation metrics, results, conclusions, and limitations when present.
For courses, it combines slides, transcripts or subtitles, and supplementary material according to the actual teaching logic rather than mechanically following file order.
When code is available, the skill connects core call paths, data flow, and relevant tensor or array shapes back to the paper or course. It may run code when needed for a safe verification, but it does not modify the original implementation.
Inspect source materials
-> Give the big picture
-> Teach one knowledge unit
-> Answer learner questions
-> Wait for the learner's choice
-> Teach it back, or explicitly skip when fully understood
-> Confirm, hint, correct, or advance
-> Advance to the next unit
-> Run an integrated teach-back
Invoke the skill explicitly:
Use $study-with-feynman to teach me the paper and code in the current folder.
You can also provide specific material paths:
Use $study-with-feynman to teach me this course using slides.pdf and transcript.txt.
The skill also recognizes natural requests such as:
给我讲一下这篇 paper,材料在当前文件夹中。
Concept notes are stored in a dedicated Obsidian vault, separate from papers, code, slides, transcripts, and other course materials:
/Users/stefan/Documents/llm-lecture-wiki/
├── .obsidian/
└── concepts/
└── Concept Name.md
When the learner explicitly asks to save a concept, the skill verifies this fixed vault and creates concepts/ if needed. It never falls back to the current material folder. Before writing, it searches existing Markdown notes, avoids duplicate concepts, and asks before changing an existing note.
Each concept page contains only:
- Definition
- Plain-language explanation
- Mechanism
- Example
Related concepts are linked naturally with Obsidian [[wikilinks]]. Existing related notes are modified only after confirmation.
study-with-feynman/
├── SKILL.md
├── README.md
├── README_CN.md
├── agents/
│ └── openai.yaml
└── assets/
└── concept-note-template.md