- name
- spaced-repetition
- description
- Creates spaced repetition schedules using the Leitner system or SM-2 algorithm for long-term memory retention. Produces a concrete review schedule with interval recommendations calibrated to the learner's material and available time -- not a description of how spaced repetition works.
Use when a learner asks to create a review schedule, build a spaced repetition plan, optimize memorization, or set up a flashcard review system.
Do NOT use for flashcard content creation (use `flashcard-generation`), for general study planning (use `study-plan`), or for exam-specific preparation (use `exam-prep-plan`).
- license
- Apache-2.0
- metadata
- {"author":"foundry-skills","version":"1.0.0","tags":"spaced-repetition study-skills active-recall step-by-step","category":"education","subcategory":"self-learning","depends":"","disclaimer":"none","difficulty":"intermediate"}
# Spaced Repetition
## When to Use
Use this skill when the learner's primary need is scheduling -- deciding *when* to review material, not *what* to review or *how* to learn it initially.
**Trigger scenarios:**
- Learner asks to create a spaced repetition schedule, review calendar, or interval plan for memorizing a specific body of material
- Student wants to set up a Leitner box system for physical flashcards or configure SM-2 parameters in a digital tool
- User has a defined card count (e.g., 300 vocabulary words, 150 anatomy terms, 80 historical dates) and wants a concrete review cadence
- User asks how often to review cards, when to retire mastered cards, or how to handle cards they keep forgetting
- User wants to integrate flashcard review into a fixed daily time budget (10-30 minutes) and needs a sustainable pace calculation
- User is experiencing review debt -- their due-card pile has grown unmanageable -- and needs a recovery protocol
- User wants to track progress toward a mastery target (e.g., 90% retention before an exam or certification)
**Do NOT use when:**
- User wants to *create* the flashcard content itself -- use `flashcard-generation`, which handles question formulation, cloze deletion design, and card formatting
- User needs a multi-technique study plan covering reading, practice problems, summarization, and review together -- use `study-plan`
- User is preparing for a specific upcoming exam and needs to prioritize high-yield topics, simulate test conditions, and manage anxiety -- use `exam-prep-plan`
- User wants to understand *how* spaced repetition works conceptually or the neuroscience behind the forgetting curve -- this skill produces schedules, not explanations
- User is designing a spaced repetition curriculum or course for *other* learners -- this skill targets individual learner scheduling, not instructional design
- User needs help with active recall techniques like the Feynman Technique, retrieval practice, or elaborative interrogation -- these involve content engagement, not interval scheduling
---
## Process
### Step 1: Gather the Four Critical Parameters
Before producing any schedule, collect complete information on these four dimensions. If any is missing, ask -- do not assume.
- **Material type:** Vocabulary (word-to-definition), factual associations (capital cities, chemical formulas, historical dates), procedural facts (medical drug dosages, legal statutes, code syntax), or concept recognition (anatomy diagrams, circuit symbols). Material type determines card format and tolerable review speed.
- **Total item count:** Get a specific number. If the learner says "a lot," prompt them to estimate: a typical textbook chapter yields 30-80 card-worthy facts; a foreign language A1-B1 vocabulary list is typically 500-2000 words; a medical licensing exam deck (e.g., USMLE Step 1) may contain 10,000-20,000 cards.
- **Daily time budget:** Ask for a realistic number in minutes, not a wish. 10-15 minutes/day is achievable for most learners long-term; 30-45 minutes is sustainable for motivated learners with clear deadlines; 60+ minutes/day indicates a high-intensity cram phase that should not run longer than 4-6 weeks.
- **Timeframe and deadline:** Distinguish between "I have an exam in 6 weeks" (fixed deadline, back-calculate pace) and "I want to maintain this vocabulary long-term" (ongoing maintenance, optimize for steady state). These produce fundamentally different schedules.
- **Current familiarity:** Ask if the material is entirely new, partially known, or review of previously learned content. Partially known material can skip the first 1-day review interval for known cards, dramatically reducing early load.
### Step 2: Select and Configure the Algorithm
Choose one algorithm based on the learner's context, then configure its specific parameters. Do not offer all three as equal choices -- recommend based on the situation.
**Leitner 5-Box System (recommend when):**
- Learner uses physical paper flashcards
- Learner is new to spaced repetition and needs a simple, tactile mental model
- Total card count is under 300 (above this, box management becomes unwieldy without software)
- Review intervals: Box 1 = daily, Box 2 = every 2 days, Box 3 = every 4 days, Box 4 = every 7 days, Box 5 = every 14 days (retire or move to "mastered" pile after Box 5)
- Movement rules: correct recall moves card up one box; incorrect recall sends card back to Box 1 regardless of current position
**SM-2 Algorithm (recommend when):**
- Learner uses Anki, Mnemosyne, or any app that implements SM-2
- Card count exceeds 300 or the learning horizon exceeds 3 months
- Key parameters: initial ease factor (EF) = 2.5; minimum EF = 1.3; maximum EF = 3.0; first two intervals are fixed at 1 day and 6 days; subsequent intervals = previous interval × current EF; EF adjusts per card based on recall quality ratings (0-5 scale: 0-1 resets to day 1, 2 keeps interval, 3 keeps interval with EF decrease of 0.14, 4 keeps EF, 5 increases EF by 0.1)
- For Anki specifically: set new cards/day to match the pace calculation from Step 3; set maximum reviews/day to 150-200; leave interval modifier at 100% initially; graduating interval 1 day, easy interval 4 days
- SM-2 produces longer intervals for well-recalled cards and shorter intervals for poorly recalled cards -- this self-calibration is its key advantage over Leitner
**Simplified Fixed-Interval Schedule (recommend when):**
- Learner explicitly refuses to track algorithms or use an app
- Material has a hard deadline (exam in 4-6 weeks) and the learner wants to review every item a fixed number of times
- Intervals: Day 0 (learn), Day 1, Day 3, Day 7, Day 14, Day 30 -- six total reviews brings an item to long-term memory under normal conditions
- This schedule does not self-adapt, so all items get the same treatment regardless of difficulty -- acceptable for exam prep, suboptimal for long-term retention
**FSRS Algorithm (recommend when advanced user mentions it):**
- FSRS (Free Spaced Repetition Scheduler) is the modern replacement for SM-2, now available in Anki 23.10+. It models memory stability and retrievability directly rather than ease factors.
- For users who have used Anki for 1000+ reviews, recommend enabling FSRS and running the optimizer, which calibrates the 17 FSRS parameters to the individual learner's historical performance.
- Key FSRS settings to specify: desired retention (recommend 0.85-0.90 for most learners, 0.90-0.95 for medical/high-stakes material), enable FSRS in Anki preferences, run optimizer monthly.
### Step 3: Calculate the Sustainable Daily Pace
This step prevents the most common spaced repetition failure mode: introducing cards faster than they can be reviewed.
**Core formula:**
- Minutes available for *reviews only* = total daily minutes × 0.65 (leave 35% for new card learning, which takes longer per item)
- Maximum review cards per session = (minutes × 60 seconds) / 10 seconds per card (use 10 seconds as the median review time for trained learners; use 15-20 seconds for beginners or complex material)
- Example: 20 minutes total × 0.65 = 13 minutes for reviews = 780 seconds / 10 = 78 review cards maximum
**Steady-state review load calculation:**
- Each new card added today will generate approximately 3-4 reviews in the first 30 days (across its interval chain)
- At N new cards/day, review load at steady state ≈ N × 3.5 reviews/day (Leitner) or N × 2-3 reviews/day (SM-2, because intervals grow longer faster)
- Solve for N: N = max_reviews / 3.5
- Example: 78 max reviews / 3.5 = 22 new cards/day maximum at steady state. For safety, use 80% of this: 17-18 new cards/day
**Deadline back-calculation:**
- If deadline is fixed, calculate: required pace = total cards / (days until deadline × 0.6) -- the 0.6 factor reserves 40% of days as buffers for catch-up, illness, and heavy review days
- If required pace exceeds the sustainable pace, the learner must choose: extend the deadline, reduce the card count (triage to highest-priority items), or accept lower retention for low-priority cards
**Cap new cards at hard limits:**
- Beginner (first month of spaced repetition): 10-15 new cards/day maximum regardless of time budget -- the brain needs time to consolidate the practice habit
- Intermediate (3+ months of experience): 15-25 new cards/day is typical; 30+ is aggressive
- High-intensity exam prep mode: 30-50 new cards/day is possible for 4-6 weeks but requires 45-60 minutes/day and is not sustainable indefinitely
### Step 4: Build the Day-by-Day Schedule
Construct a concrete schedule showing the first 7-14 days in daily detail, then weekly summaries for the remainder. Vague schedules are not followed.
- **Days 1-3:** Introduce the first batch of new cards only. Do not introduce more new cards than the learner can review the following day. Keep total session time under the stated budget.
- **Days 4-7:** New card introduction continues at the calculated daily pace. Review load begins building. First cards should be reaching Box 2 (Leitner) or their 6-day interval (SM-2). Show the review arithmetic explicitly.
- **Week 2:** The "review debt cliff" typically hits in Week 2 -- this is when learners using no schedule abandon the system. Show that total daily time remains stable or decreases as cards graduate to longer intervals, even as new cards continue to be added.
- **Week 3+:** Most of the initial batch has graduated to 4-7+ day intervals, substantially reducing daily review load for those cards. This is when the system starts feeling sustainable.
- Mark weekends or low-energy days explicitly: reduce new cards to zero on those days, review only Box 1 and Box 2 / due cards. Protecting against missed sessions is more important than optimal pacing.
- Include a "no new cards" phase in the final week before any deadline: spend that week reviewing only due and overdue cards to consolidate everything already in the system.
### Step 5: Design the Self-Assessment Protocol
Without clear recall-quality criteria, learners rate their performance inconsistently, corrupting the interval calculation. Provide explicit, behavioral criteria.
**For Leitner:**
- Instant and effortless recall before flipping the card (under 3 seconds, no hesitation): advance to next box
- Recalled correctly but required retrieval effort (3-10 seconds, slight uncertainty): stay in current box
- Recalled incorrectly, recalled the wrong answer, or could not recall at all: return to Box 1 immediately, no exceptions
- Do not allow "close enough" grading -- partial recall (knew part of the answer but not all required elements) counts as a miss
**For SM-2 / Anki:**
- Again (0): Did not recall, or remembered only after seeing the answer -- reset to 1 day
- Hard (1-2): Recalled with significant effort, very slow, or with a minor error -- interval reduces (EF drops by 0.14)
- Good (3): Recalled correctly with moderate effort, typical response time -- interval stays; this is the default for satisfactory recall
- Easy (4-5): Recalled instantly and effortlessly -- interval increases beyond normal; use sparingly. Overuse of Easy inflates intervals and leads to forgetting later.
- Instruct learners: when in doubt between ratings, choose the lower one. It is better to review a card slightly too early than to lose it.
**Accuracy tracking:**
- Target: 85-92% correct on any given review session. Below 85% means the learning pace is too aggressive or the material is harder than estimated. Above 95% means cards are being reviewed too frequently (over-reviewing wastes time).
- Track weekly: count total cards reviewed and cards answered incorrectly. Compute percentage. If below 85% for two consecutive weeks, apply the reduction protocol in Step 6.
### Step 6: Build the Feedback and Adjustment Protocol
A schedule that does not adapt to real performance is a calendar, not a learning system. Include explicit decision rules.
**Weekly review audit (5 minutes, Sunday or end-of-week):**
- Count cards in each box (Leitner) or check the Anki statistics deck progress screen (reviews per day, retention rate, card maturity histogram)
- Compare actual box distribution to projected box distribution from the schedule
- If lagging by more than one week: do not panic. Pause new cards for 3-5 days and clear the overdue pile first.
**If accuracy drops below 80% for one week:**
- Immediately reduce new cards by 50% (e.g., from 15/day to 8/day)
- Spend two extra minutes per session on the most frequently missed cards -- write a mnemonic, create a new example sentence, or strengthen the encoding before re-entering them into the rotation
- If accuracy does not recover within 10 days, consider whether the card format itself is the problem (e.g., cards are too complex or ambiguous -- consult `flashcard-generation`)
**If review time exceeds budget by 20%+ for three consecutive days:**
- Do not review Box 4 and Box 5 cards (Leitner) or cards with intervals > 21 days (SM-2) -- they are the most stable and will survive a brief delay without significant retention loss
- Prioritize Box 1 and Box 2 / short-interval cards -- these are at the highest risk of being forgotten
- Pause all new cards until review time returns to budget
**End-of-deadline assessment:**
- One week before any fixed deadline, conduct a full self-test on all cards in the system
- Cards missed in the full self-test go immediately to Box 1 / get reset to 1-day interval -- this is the final consolidation phase
- Reduce new card introduction to zero in this final week
---
## Output Format
```
## Spaced Repetition Schedule: [Subject / Material Name]
**Material:** [Specific description: e.g., "Spanish A2 vocabulary -- nouns and verbs, word + gendered article + example sentence"]
**Total Items:** [Exact number]
**Daily Time Budget:** [Minutes]
**Algorithm:** [Leitner 5-Box / SM-2 (Anki) / FSRS (Anki 23.10+) / Simplified Fixed-Interval]
**Starting Familiarity:** [New / Partially known (estimate % known) / Review]
**Target:** [Mastery by [date] / Ongoing maintenance at [X]% retention]
---
### Pace Calculation
| Parameter | Value | Calculation |
|-----------|-------|-------------|
| Daily time budget | [X] min | Given |
| Time available for reviews | [X] min | Budget × 0.65 |
| Time available for new cards | [X] min | Budget × 0.35 |
| Max review cards/session | [N] | Review minutes × 60 / 10 sec |
| Sustainable new cards/day | [N] | Max reviews / 3.5 (Leitner) or / 2.5 (SM-2) |
| Required pace for deadline | [N] | Total cards / (days × 0.60) |
| **Recommended new cards/day** | **[N]** | Lower of sustainable vs. required |
| Days to introduce all cards | [N] | Total cards / new cards per day |
### Algorithm Configuration
**[Algorithm Name] Settings:**
[For Leitner:]
- Box 1: Review daily -- new cards and all missed cards
- Box 2: Review every 2 days -- e.g., Tuesday/Thursday/Saturday
- Box 3: Review every 4 days -- e.g., Monday/Friday
- Box 4: Review every 7 days -- e.g., Sunday
- Box 5: Review every 14 days -- mastered; retire after second successful Box 5 review
[For SM-2 / Anki:]
- New cards per day: [N]
- Maximum reviews per day: [N] (set in Anki deck options)
- Starting ease: 250% (Anki default = 2.5 EF)
- Graduating interval: 1 day
- Easy interval: 4 days
- Interval modifier: 100%
- Leech threshold: 8 lapses (flag for card redesign, not just review)
[For FSRS:]
- Desired retention: [X]% (recommended 87-90% for standard; 92% for high-stakes)
- FSRS weights: run optimizer after 1000+ reviews
- Maximum interval: 365 days (standard)
### Daily Schedule (Weeks 1-2, Day-by-Day)
| Day | Day of Week | New Cards | Reviews Due | Est. Time | Running Total |
|-----|-------------|-----------|-------------|-----------|---------------|
| 1 | [Mon] | [N] | 0 | [X min] | [N] |
| 2 | [Tue] | [N] | [N] | [X min] | [N] |
| 3 | [Wed] | [N] | [N] | [X min] | [N] |
| 4 | [Thu] | [N] | [N] | [X min] | [N] |
| 5 | [Fri] | [N] | [N] | [X min] | [N] |
| 6 | [Sat] | 0 (rest day) | [N due] | [X min] | [N] |
| 7 | [Sun] | 0 (rest day) | [N due] | [X min] | [N] |
| 8 | [Mon] | [N] | [N] | [X min] | [N] |
| 9 | [Tue] | [N] | [N] | [X min] | [N] |
| 10 | [Wed] | [N] | [N] | [X min] | [N] |
| 11 | [Thu] | [N] | [N] | [X min] | [N] |
| 12 | [Fri] | [N] | [N] | [X min] | [N] |
| 13 | [Sat] | 0 | [N due] | [X min] | [N] |
| 14 | [Sun] | 0 | [N due] | [X min] | [N] |
*Note: "Reviews Due" is a projection assuming ~75% of cards advance on first review. Actual numbers depend on performance.*
### Weekly Summary (Weeks 3+)
| Week | New Cards Introduced | Cumulative Total | Avg Daily Reviews | Est. Daily Time |
|------|---------------------|-----------------|-------------------|-----------------|
| 3 | [N] | [N] | [N] | [X min] |
| 4 | [N] | [N] | [N] | [X min] |
| 5 | [N] | [N] | [N] | [X min] |
| ... | ... | ... | ... | ... |
### Projected Box / Maturity Distribution (End of Each Week)
| Week | Box 1 / <1d | Box 2 / 1-6d | Box 3 / 7-14d | Box 4 / 14-21d | Box 5+ / >21d | Total |
|------|-------------|--------------|---------------|----------------|---------------|-------|
View on GitHub