fluent-sm2-calculator

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

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

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 database with correct intervals, easiness factors, and mastery levels. ## Core Features & Use Cases - Score-to-Quality Mapping: Converts 0-10 review scores into the SM-2 0-5 quality scale using a fixed floor rule. - Interval and Easiness Updates: Applies the official SM-2 formulas for interval growth, easiness-factor adjustment (floored at 1.3), and repetition resets on wrong answers. - Mastery 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 and scores 8/10, the tutor maps it to quality 4, computes the next due date, updates spaced-repetition.json via the update-db.py script, and places the item in the correct review queue. ## Quick Start Ask the tutor to grade my review answer for item vocab_huis with a score of 8 and schedule its next review using the SM-2 rules.

Frequently Asked Questions about fluent-sm2-calculator

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

FAQPage Schema
How does the SM-2 algorithm schedule vocabulary reviews?▼

SM-2 converts each answer into a 0-5 quality grade, then sets the interval to 1 day for the first correct review, 6 days for the second, and previous interval times easiness factor afterward. Wrong answers reset the interval to 1 day and repetitions to zero.

How do I map a 0-10 score to an SM-2 quality grade?▼

Divide the score by 2 and floor the result: 10 maps to quality 5, 8-9 to 4, 6-7 to 3, 4-5 to 2, 2-3 to 1, and 0-1 to 0. Quality 3 or above counts as a correct answer.

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

No. The preferred path is calling the update-db.py hook with a review_results payload, which runs SM-2 atomically and rebuilds the review queue. Manual math is only a fallback when the script is unavailable.

Why is the easiness factor floored at 1.3 in SM-2?▼

The 1.3 floor prevents the easiness factor from dropping so low that intervals shrink toward one day forever, which would trap the learner in endless daily reviews of the same item.

What happens when a learner answers a review item incorrectly?▼

The item's interval resets to 1 day, repetitions reset to 0, the easiness factor drops sharply, and the item stays in today's queue so it reappears in the same session. Three consecutive wrong answers also lower the mastery level.