~/learn-anything
$ mkdir ~/learn-anything && cd ~/learn-anything
$ curl -O https://srs.voxos.ai/CLAUDE.md
Saved: CLAUDE.md
$ claude "teach me Rust"
Claude: Before I build your curriculum, let me calibrate. 1. What happens when you assign let s2 = s1; in Rust where s1 is a String? 2. What's the difference between &str and String? 3. How would you handle a function that might fail? You: 1. s1 is moved, can't use it after. 2. Not sure. 3. Return a Result type? Claude: Good. You know ownership basics but need to build intuition on string types and error handling. Generated CURRICULUM.md (14 modules, 78 cards) Created PROGRESS.md Created visuals/ Modules 1-2 skipped (ownership basics assessed). Starting from Module 3: Borrowing & Lifetimes. Say "let's do an SRS session" to begin.
Download CLAUDE.md Download AGENTS.md Copy curl command

You: let's do an SRS session Claude: 4 cards due. Starting with Module 3. ──────────────────────────────────────────── COMPUTE-3.1 | Borrowing Rules ──────────────────────────────────────────── Does this compile? If not, fix it. Show your reasoning. fn main() { let mut s = String::from("hello"); let r1 = &s; let r2 = &mut s; println!("{} {}", r1, r2); } You: No. Can't have an immutable and mutable borrow at the same time. Fix: drop r1 before creating r2, or use r1 before the mutable borrow. Claude: Correct. The rule: you can have either one &mut OR any number of &, never both while both are live. Your fix works. An alternative: move the println!("{}", r1) before let r2 = &mut s, since r1's last use would end its borrow. Error check: What's the one-second test to catch this? "Count the borrows. If both & and &mut exist in the same scope, something's wrong." Streak: 0 -> 1. Next review: tomorrow. ──────────────────────────────────────────── Session Complete ──────────────────────────────────────────── Cards reviewed: 4/4 Correct: 3 (75%) Next session: tomorrow (2 cards due) PROGRESS.md updated. LEARNER_PROFILE.md created (1 symbol-drop error logged).

The copilot makes you faster. SRS makes you deeper. ChatGPT already remembers what you're learning, and every foundation model provider will ship flashcards eventually. But they optimize for engagement and breadth: they will never tell you "this domain isn't suitable for automated grading," because that means fewer sessions. SRS will. Understanding the domain is what makes your prompts sharper, your code reviews faster, and your architecture decisions defensible. SRS compounds your leverage with AI instead of replacing the thing that makes you useful.

What works best? SRS grades you rigorously. That only works when answers can be checked against an objective standard. The agent evaluates your topic on the verifiability spectrum before building your curriculum: Formal Math, logic, programming every answer checkable Empirical Physics, chemistry, biology verified against evidence Procedural AWS certs, accounting, law right/wrong per spec Analytical History, economics, literature facts checkable, interpretation flagged Subjective Art criticism, philosophy agent warns you, offers to narrow scope Not sure what to learn? Voxos.ai Jobs tracks which skills are gaining leverage as AI reshapes industries. Find the gaps that matter, then point SRS at them.

Totally free. No platform. No account. No subscription. Setup: 1. Create a new, empty folder for your topic 2. Download the file into that folder 3. Open your AI coding agent in that folder 4. Say what you want to learn Which file? CLAUDE.md Claude Code AGENTS.md Cursor, Windsurf, and other agents (Same instructions, different filename.)
Download CLAUDE.md Download AGENTS.md Copy curl command