Anki add-on: The Forge - Study Schedule & Auto-Unsuspend Matrix

The Forge - Study Schedule & Auto-Unsuspend Matrix Transform your Anki experience with The Forge , an RPG-inspired dashboard that turns your study sessions into a structured, quest-driven adventure. What is The Forge? The Forge is an add-on designed for serious students who need to stick to a rigid, day-by-day study schedule. Instead of manually suspending and unsuspending cards, The Forge automates your workflow so you can focus on the content. Key Features: Auto-Unsuspend Matrix: Your cards are automatically unsuspended on the exact day you've scheduled them to be learned. Quest Dashboard: A beautiful, RPG-themed interface to track your progress and study calendar. Timeline Wizard: Build study profiles over weeks or months to stay on track for your exam. Performance Tracking: Indicators for how many new cards and reviews await you on any given day. Postpone/Advance Tools: Shift your entire schedule forward or backward with one click if life gets in the way. 🛠️ Setting up your Schedule To ensure the "Auto-Unsuspend Matrix" functions correctly, you need a my_nid_schedule.csv file in your add-on's user_files folder. We recommend the Bucket Method for precise control over your study blocks. Method A: The Bucket Method (Recommended) Group your cards into custom "Buckets" (e.g., Week 1, Week 2). This gives you manual control over exactly which cards appear on which dates. Open Anki and go to Tools > Debug Console . Paste the code below and hit Ctrl+Enter (or Cmd+Enter). import csv from datetime import date from pathlib import Path 1. DEFINE YOUR BUCKETS Map your dates to lists of NIDs schedule_map = { "2026-05-24": ["NID1", "NID2"], "2026-05-31": ["NID3", "NID4"] } 2. GENERATE FILE addon_folder = Path( file ).parent.parent / "1072607870" / "user_files" addon_folder.mkdir(parents=True, exist_ok=True) filename = addon_folder / "my_nid_schedule.csv" with open(filename, 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) writer.writerow(["Skip1", "Skip1", "Skip1", "Skip1", "Skip1"]) writer.writerow(["Skip2", "Skip2", "Skip2", "Skip2", "Skip2"]) for target_date, nids in schedule_map.items(): for idx, nid in enumerate(nids): date_col = target_date if idx == 0 else "" writer.writerow(["", date_col, "", "", nid]) print(f"Schedule generated at: {filename}") Method B: Auto-Distribute (Quick) If you don't need custom grouping, you can automatically distribute a list of NIDs over a specific number of days using the "Timeline Wizard" logic (refer to your add-on's helper scripts for automated chunking). Method C: Manual CSV Format Ensure your my_nid_schedule.csv is inside the user_files folder with this structure: Column 2 (Index 1): Target date (YYYY-MM-DD). Column 5 (Index 4): Note ID (NID). How it Works: Prepare your Schedule: Use the Bucket Method or manual CSV entry. Open the Forge: Access your dashboard via the "The Forge 🔨" button in your main Anki menu. Study: The add-on handles the rest, keeping your cards suspended until the moment they are "due." Support: Questions? If you encounter any bugs or have feature requests, please use the discussion board below. Forge your path to mastery, one card at a time.