$ 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.
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.)