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.