fluent-sm2-calculator

Computes SM-2 spaced-repetition intervals, easiness factors, and mastery levels for language learning reviews.

Updated Apr 13, 2026
One-click install
npx skills add https://github.com/xiaoshan1234/ai-skill --skill fluent-sm2-calculator-xiaoshan1234
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fluent-sm2-calculator
Source: https://github.com/xiaoshan1234/ai-skill/tree/main/origin/fluent-sm2-calculator
Command: npx skills add https://github.com/xiaoshan1234/ai-skill --skill fluent-sm2-calculator-xiaoshan1234

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Language learners forget vocabulary and grammar without correctly timed reviews, and hand-calculating spaced-repetition schedules is error-prone. This Skill provides the single source of truth for the SM-2 algorithm so every answered review question updates the learner's schedule consistently. ## Core Features & Use Cases - Score-to-Quality Conversion: Maps 0-10 review scores to the SM-2 0-5 quality scale using a defined lookup table. - Interval and Easiness Updates: Applies the official SM-2 formulas for interval progression, easiness-factor adjustment (floored at 1.3), and repetition resets on wrong answers. - Mastery Tracking and Queue Routing: Tracks consecutive correct/incorrect streaks to adjust mastery levels and routes items into today, tomorrow, this_week, or later review queues. - Use Case: After a learner answers a vocabulary question scoring 8/10, use this Skill to compute quality 4, update the item's interval and easiness factor in spaced-repetition.json, and assign its next due date. ## Quick Start Use the SM-2 calculator to grade this review answer with a score of 8 out of 10 and update the item's next due date in the spaced-repetition database.

Frequently Asked Questions about fluent-sm2-calculator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I calculate the next review date with the SM-2 algorithm?▼

Convert the review score to a 0-5 quality value, then set the interval to 1 day for the first correct repetition, 6 days for the second, and round(previous_interval × easiness_factor) afterward. The due date is today plus the interval in days.

How does SM-2 update the easiness factor after each answer?▼

Apply EF_new = EF + (0.1 - (5 - quality) × (0.08 + (5 - quality) × 0.02)) after every answer, then floor the result at 1.3. Wrong answers lower the EF sharply, causing shorter intervals for that item.

What happens in SM-2 when a learner answers incorrectly?▼

An incorrect answer (quality below 3) resets the interval to 1 day and repetitions to 0, drops the easiness factor, and keeps the item in today's review queue so it reappears in the same session.

Should I hand-edit the spaced-repetition JSON file?▼

No. Call the update-db.py hook script with a review_results array containing item IDs and quality values; it runs SM-2 atomically and rebuilds the queue. Only perform manual calculations when the script is unavailable.

When should I not use this SM-2 calculator skill?▼

Skip it when the fluent-db-updater skill is already active, since its update-db.py script runs SM-2 internally. Loading both would duplicate the scheduling logic.