Install
openclaw skills install adaptive-learningCreate adaptive learning flashcard apps from course materials (URLs, PDFs, or folders). Uses FSRS (Free Spaced Repetition Scheduler) and Bayesian Knowledge T...
openclaw skills install adaptive-learningCreate self-contained, browser-based adaptive learning apps from any course material.
file://, no server neededFrom a URL:
1. Fetch the course page, extract topic list and resource links
2. Download HW/Discussion/Lecture PDFs to ~/COURSE_NAME/
From a local folder:
1. List files, identify PDFs and documents
2. Read/parse to understand topics and content
Create questions.json with this schema:
[{
"id": "unique-id",
"topic": "Topic Name",
"topicIndex": 0,
"difficulty": 1,
"question": "Supports $LaTeX$ via KaTeX",
"answer": "Supports $LaTeX$ and \\n for line breaks",
"tags": ["tag1", "tag2"]
}]
Guidelines:
$...$ inline, $$...$$ block) for math\\n for line breaks in question/answer texttopicIndex controls topic ordering (0-based)Run the bundler script:
bash SKILL_DIR/scripts/generate-course.sh <course-id> <questions.json> <output-dir>
Then register the course in engine.js COURSE_REGISTRY:
{ id: 'course-id', name: 'Course Name', desc: 'Description', school: 'School', term: 'Term' }
Open <output-dir>/index.html in a browser. Verify:
| File | Purpose |
|---|---|
index.html | Main page with course selector + learning UI |
style.css | Dark theme, responsive styles |
engine.js | FSRS + BKT engine, question selection, state management |
ts-fsrs.umd.js | FSRS algorithm library (UMD build of ts-fsrs) |
To add a new course to an existing adaptive-learning setup at ~/adaptive-learning/:
questions.json to ~/adaptive-learning/courses/<id>/bash scripts/generate-course.sh <id> questions.json ~/adaptive-learning/framework/COURSE_REGISTRY in engine.js