Anki add-on: Caritas QBank — UWorld-style MCQ reviewer, retirement & analytics

Caritas QBank Caritas QBank is an Anki add-on that turns compatible MCQ note types into a question-bank style study interface. It adds a UWorld-style desktop layout, answer-once retirement, incorrect recovery, first-pass analytics, a dashboard, filtered incorrect review, and no-code note-type settings. This add-on does not modify Anki's scheduler or FSRS. Retired cards are handled by normal card suspension. Main features Two-column MCQ app layout on desktop Responsive single-column layout on AnkiDroid and AnkiMobile Clickable answer choices and Check Answer button First-pass correct = retire by suspending the card First-pass incorrect = send to recovery pool Recovery cards can later be marked recovered and retired Separate analytics SQLite database stored in the Anki profile folder Dashboard with first-pass accuracy, resource/system breakdowns, trends, calibration, marks, and incorrect journal Study incorrects through a filtered deck Optional live performance panel on desktop Optional confidence buttons, marks, highlighter, lab values, and AnKing buttons CSV export Diagnostics and self-test system for troubleshooting Mobile support The note type is responsive and works on AnkiDroid and AnkiMobile. On mobile, the card layout collapses into a clean single-column view. Questions, explanations, images, videos, buttons, and answer checking still work. Tracking is desktop-only because mobile Anki clients cannot send the required add-on review signal. For logged QBank passes, use desktop Anki. Settings Settings are available from: Tools → Caritas QBank → Note-type settings You can enable or disable: Performance panel Header AnKing buttons Confidence buttons Marks Highlighter Lab values Hide Hard/Easy buttons Retire-on-correct behavior Saving settings regenerates the note templates. Existing fields and card data are not modified. Diagnostics Caritas includes a diagnostics screen: Tools → Caritas QBank → Diagnostics Diagnostics checks the Anki environment, required APIs, template generation, config toggles, decision logic, database round-trip, deck scanning, and performance-panel injection. If a future Anki update changes an API, the diagnostics screen should identify the failing wrapper. Developer notes The add-on is structured so that only anki_adapter.py directly calls Anki APIs. Other modules work with plain data. Important modules: anki_adapter.py — Anki API wrappers templates.py and cardjs.py — note-type HTML, CSS, and JavaScript behavior.py — answer and retirement logic db.py — analytics SQLite database perf_inject.py — live performance panel injection dashboard.py — analytics dashboard diagnostics.py — diagnostics and safe hook wrapper Disclaimer Caritas QBank is not affiliated with any other question-bank company. This add-on is intended for personal study.