Create exercises from a paper
Goal
From a single paper, generate two exercise tracks:
- •Programming: turn the central technique into a coding problem with a crisp spec + tests.
- •Modeling: turn the paper’s formulas/derivations into calculation problems with worked solutions.
The output should be an exercise pack with:
- •Clear prompts
- •Golden solutions
- •Automated checkers
- •Local mini-skills to check answers on demand
Output location
Create the pack under:
- •
$HUMAN_MATERIAL_PATH/exercises/<paper_slug>/
Downloads/clones should go under (gitignored):
- •
$HUMAN_MATERIAL_PATH/.references/(PDFs, arXiv zips, cloned repos)
Scaffold the pack
Use the scaffold script to create the file structure:
bash
python skills/uv-create-paper-exercises/scripts/scaffold_exercise_pack.py --slug <paper_slug>
Then fill in the prompts/solutions based on the paper.
Programming exercise workflow
- •Find the central technique:
- •Identify the smallest “core loop” that makes the method work (data structure + algorithm).
- •Extract a clean problem:
- •Define input/output precisely.
- •Specify constraints.
- •Provide 2–3 small examples.
- •Create a testable interface:
- •Implement as a single function in
my_solution.py(user) andsolution.py(golden).
- •Implement as a single function in
- •Write tests:
- •Include edge cases and one randomized property check (if applicable).
- •(Optional) Use the paper’s code repo:
- •If the paper links code, clone it under
$HUMAN_MATERIAL_PATH/.references/repos/. - •Read it for correctness and for test cases; do not copy large chunks verbatim.
- •If the paper links code, clone it under
Modeling exercise workflow
- •Locate the modeling logic:
- •The key formula(s), scaling law(s), or performance reasoning in the paper.
- •Turn it into 3–6 questions:
- •Use numbers so the learner can compute concrete outputs.
- •Include at least one “interpret the result” question.
- •Provide golden answers + explanations:
- •
answers.jsonfor numeric targets - •
SOLUTION.mdfor step-by-step reasoning
- •
- •Add a checker:
- •Compare
my_answers.jsonagainstanswers.jsonwith tolerances.
- •Compare
Local answer-checking mini-skills
The scaffold creates two local mini-skills under:
- •
$HUMAN_MATERIAL_PATH/exercises/<paper_slug>/skills/uv-check-programming/ - •
$HUMAN_MATERIAL_PATH/exercises/<paper_slug>/skills/uv-check-modeling/
Use them to:
- •Run checks
- •Print diffs / failed tests
- •Reveal golden solutions + explanations when asked