adaptive-learning

Create adaptive learning flashcard apps from course materials (URLs, PDFs, or folders). Uses FSRS (Free Spaced Repetition Scheduler) and Bayesian Knowledge Tracing for intelligent review scheduling. Use when asked to create study materials, flashcards, review apps, spaced repetition systems, or adaptive quizzes from course content. Triggers on "make me a study app", "create flashcards for this course", "adaptive learning", "spaced repetition", "review system for [course]".

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "adaptive-learning" with this command: npx skills add weishuz/adaptive-learning

Adaptive Learning Skill

Create self-contained, browser-based adaptive learning apps from any course material.

Architecture

  • FSRS (ts-fsrs): Per-card spaced repetition scheduling (Stability, Difficulty, Retrievability)
  • BKT: Per-topic Bayesian Knowledge Tracing for mastery estimation
  • Two modes: Breadth-first (cover all topics, weakest first) / Depth-first (drill one topic deep)
  • Pure frontend: HTML + CSS + JS, works offline via file://, no server needed

Workflow

1. Gather Course Material

From 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

2. Generate Question Bank

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:

  • 5-8 questions per topic minimum, across 3 difficulty levels
  • Difficulty 1 (基础): Definitions, "what is", simple complexity questions
  • Difficulty 2 (中等): Apply algorithms, analyze examples, describe procedures
  • Difficulty 3 (高级): Proofs, novel problem design, optimization, "why" questions
  • Use LaTeX ($...$ inline, $$...$$ block) for math
  • Use \\n for line breaks in question/answer text
  • topicIndex controls topic ordering (0-based)

3. Build the App

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' }

4. Verify

Open <output-dir>/index.html in a browser. Verify:

  • Course appears in selector
  • Cards render with KaTeX math
  • Flip/rating/FSRS scheduling works
  • Mode toggle (breadth/depth) works

Framework Files (assets/framework/)

FilePurpose
index.htmlMain page with course selector + learning UI
style.cssDark theme, responsive styles
engine.jsFSRS + BKT engine, question selection, state management
ts-fsrs.umd.jsFSRS algorithm library (UMD build of ts-fsrs)

Key Features

  • FSRS scheduling: Cards show Stability/Difficulty values; review intervals adapt to performance
  • BKT mastery: Per-topic mastery percentage in progress drawer
  • Configurable: Target retention (70-97%), daily new card limit
  • localStorage: All progress persists across sessions
  • Keyboard shortcuts: Space=flip, 1=Good, 2=Hard, 3=Again, f=follow-up, n=next-topic
  • KaTeX: Full LaTeX math rendering
  • Drag & drop: Import any questions.json directly in the UI
  • Multi-course: One framework, multiple course data packs

Adding to Existing Installation

To add a new course to an existing adaptive-learning setup at ~/adaptive-learning/:

  1. Save questions.json to ~/adaptive-learning/courses/<id>/
  2. Generate preload: bash scripts/generate-course.sh <id> questions.json ~/adaptive-learning/framework/
  3. Add to COURSE_REGISTRY in engine.js

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

媒体广告流量分析

查询广告投放流量分布与趋势的数据分析技能。支持按行业、地域、媒体(OTT/移动端)、目标受众等多维度分析广告曝光数据,适用于媒体策略评估、竞品投放监测、行业广告趋势研究等场景。

Registry SourceRecently Updated
Research

职场罗盘-用于面试者提前面试和公司背调,以及模拟面试;Your Guide for Interview Prep, Company Research, and Mock Interviews

职场罗盘 by Barry — 一站式求职辅助 Skill。整合简历解析优化、公司调研(就业向)、同城职位搜索、模拟面试四大模块。输入个人信息/简历,自动生成简历优化方向、公司调研报告、招聘表单,并可进行模拟面试。

Registry SourceRecently Updated
Research

Baidu Yijian Vision

Yijian (一见) is Baidu's specialized vision AI skill for image and video analysis. Yijian achieves 95%+ professional accuracy with 50%+ lower inference cost th...

Registry SourceRecently Updated
1.1K6Profile unavailable
Research

3dgs Paper Reader

Read and summarize 3D Gaussian Splatting research papers. Extracts method architecture, core innovations, experimental results, and key findings from arXiv p...

Registry SourceRecently Updated
300Profile unavailable