Flashcards & drills
Create, organize and study decks with correct settings.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
Previous class address: R12.10.01.04 · Original proposal IDs are retained.
- Typical applications
- Anki · Duolingo-like apps
- Class GUI-need label
G2· GUI-essential
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R12.10.01.04-T01 Import a vocabulary CSV into a new Anki deck with field mapping
Original instruction
In Anki desktop (test profile), import input/spanish_a1.csv (columns: spanish, english, part_of_speech, tags; 120 rows, header row) into a new deck 'Spanish::A1' using note type 'Basic (and reversed card)'. Map spanish→Front, english→Back, ignore part_of_speech and map the last column to Tags. Do not import the header as a note.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
collection.anki2 (read after closing Anki): 120 notes of the reversed type in deck Spanish::A1 (240 cards), fields equal CSV values, tags equal column 4. Profile has no add-ons (no AnkiConnect), the debug console is disabled and Python/sqlite3 are absent from the VM, so the collection can change only in Anki. Header-as-note or swapped fields fail.
Proposed partial credit
20% deck created; 40% fields mapped correctly; 20% tags; 20% 120 notes, no header note
R12.10.01.04-T02 Configure an Anki deck options preset with FSRS
Original instruction
In Anki desktop, create options preset 'Language 15' and assign it to deck 'Spanish::A1' only: new cards/day 15, maximum reviews/day 150, learning steps 1m 10m 1h, graduating interval 2, easy interval 5, FSRS enabled with desired retention 0.90, bury new siblings on. Leave the Default preset unchanged.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
collection.anki2 deck_config table: preset 'Language 15' with the exact values (protobuf decoded); deck Spanish::A1 points to it; Default preset hash unchanged; FSRS flag set in collection config. The profile has no add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so the collection can change only in Anki.
Proposed partial credit
15% preset created and assigned; 50% field values (scaled over the 7 options); 15% FSRS and retention; 20% Default untouched
R12.10.01.04-T03 Review due Anki cards with prescribed answer buttons
Original instruction
In Anki desktop, study deck 'Pharm::Antibiotics' (exactly 10 cards due). For the 3 cards whose front appears in input/again_list.txt answer 'Again'; answer 'Good' for all others. Do not edit any cards. Stop when the deck shows 'Congratulations'.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
click· Point & clickkey· Shortcutsvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
revlog table: for each of the 10 card IDs, first review ease 1 for the 3 listed fronts and ease 3 for the rest (relearning repeats of the 3 cards allowed). No note mod-time changes. The list gives fronts, not IDs, so the agent must read each card. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM.
Proposed partial credit
40% correct buttons on listed cards; 40% correct on others; 20% no edits and deck finished
R12.10.01.04-T04 Add a reversed card template to an Anki note type
Original instruction
In Anki desktop, the note type 'Vocab' has fields Word, Meaning, Example and one card type. Add a second card type 'Reverse' whose front shows {{Meaning}} and whose back shows {{FrontSide}}<hr id=answer>{{Word}}, so every existing Vocab note gains a reverse card.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
notetypes/templates tables: 'Vocab' has 2 templates, the second named 'Reverse' with the exact qfmt and afmt (whitespace-normalised); card count for Vocab notes doubles. The profile has no add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so the collection can change only in Anki.
Proposed partial credit
40% template added with name; 40% front/back formats exact; 20% cards generated
R12.10.01.04-T05 Create image-occlusion cards on an anatomy diagram
Original instruction
In Anki desktop (built-in Image Occlusion), create notes from input/heart_diagram.png in deck 'Anatomy::Heart'. Draw a rectangle mask over each of the 8 structure labels listed in input/labels.txt (and nothing else), mode 'Hide One, Guess One', header 'Heart anatomy'. Each label must be fully covered.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropgeom· Precise geometryvis· Visual judgment- Work product
WP10· Annotations- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Image Occlusion note fields parsed: exactly 8 occlusion shapes; each shape covers its ground-truth label bbox with IoU ≥ 0.6 and contains it fully (±3 px); 8 cards in Anatomy::Heart; header field exact. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so masks must be drawn in the occlusion editor.
Proposed partial credit
20% note created in correct deck; 60% scaled by masks covering labels; 20% exact count and header
R12.10.01.04-T06 Convert Basic notes into Cloze deletions per a mark-up list
Original instruction
Deck 'Biochem' has 25 Basic notes whose Back field contains a full sentence. Change their note type to 'Cloze' using Change Note Type (map Back → Text), then add cloze deletions to the terms listed per note in input/cloze_terms.csv (c1, c2 as specified). Keep each note's review history.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formskey· Shortcuts- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
notes table: 25 notes of type Cloze with Text equal to the expected cloze markup (exact after HTML normalisation); revlog rows for these notes still present (note IDs preserved). Deleting and re-adding notes loses history and fails. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent, so the collection can change only in Anki.
Proposed partial credit
30% note type changed with history kept; 60% scaled by exact cloze markup; 10% card counts match
R12.10.01.04-T07 Create a filtered deck to rescue recently failed leeches
Original instruction
In Anki desktop, create filtered deck 'Leech rescue' that pulls up to 50 cards matching tag:leech and rated:7:1 from the whole collection, ordered by 'Most lapses', with 'Reschedule cards based on my answers' turned off and a second filter for is:suspended tag:leech limited to 20.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
decks table: dyn deck 'Leech rescue' with terms [["tag:leech rated:7:1", 50, order], ["is:suspended tag:leech", 20, …]], resched false; the set of cards moved into it equals the expected set for the seeded collection. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so the collection can change only in Anki.
Proposed partial credit
20% filtered deck created; 40% filter 1 exact; 20% filter 2; 20% reschedule off and card set correct
R12.10.01.04-T08 Restructure Anki deck hierarchy and merge duplicate decks
Original instruction
The collection has decks 'Pharm', 'Pharmacology', 'Antibiotics' (top level) and 'Pharm::Old'. Rearrange by dragging in the deck browser so the result is 'Medicine::Pharm::Antibiotics' and 'Medicine::Pharm::General'; merge all cards from 'Pharmacology' into 'Medicine::Pharm::General' and delete the empty decks. Keep every card's scheduling.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 4 / 5
Proposed verifier
decks table: exactly the target hierarchy plus Default; every original card ID present with unchanged due/ivl/factor; card-to-deck mapping equals the target. Deleting a non-empty deck (losing cards) scores 0 on scheduling milestone. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent, so the collection can change only in Anki.
Proposed partial credit
40% target hierarchy; 30% cards in correct decks; 30% all cards kept with scheduling
R12.10.01.04-T09 Add illustrated notes on AnkiDroid from the phone gallery
Original instruction
On the Android emulator with AnkiDroid (test collection), add 5 notes to deck 'Birds' using note type 'Basic': Front = the bird photo from the gallery album 'Birds' (attach image), Back = the species name from input/bird_names.txt in the given order. Each note gets tag 'field-trip'.
- Platforms
and· Android- Applications
- AnkiDroid
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Collection pulled via adb: 5 notes in Birds, Front contains <img> referencing media whose hash equals the right gallery photo (order-matched), Back exact names, tag present. AnkiDroid's API intents are disabled for third-party callers.
Proposed partial credit
40% images attached to correct notes; 30% names; 15% tags; 15% deck
R12.10.01.04-T10 Finish a word-tile lesson in a Duolingo-style web app
Original instruction
In the self-hosted LibreLingo-style course 'German Basics', complete lesson 'Food 1' (12 exercises: tile-ordering, matching pairs, listening and typing). Finish with at least 11 of 12 correct on the first try. Use the course's built-in hints only.
- Platforms
web· Any OS (web)- Applications
- Duolingo-like apps
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
App DB: lesson completion record with per-exercise first-attempt results; score = correct first attempts. Tile exercises accept answers only via tile clicks/drags (keyboard input disabled there). Network calls to the answer-check endpoint require the lesson session nonce.
Proposed partial credit
20% lesson completed; 80% scaled by first-try accuracy from 6/12 to 11/12
R12.10.01.04-T11 Add an optional Example field with conditional template and styling
Original instruction
In Anki desktop, add field 'Example' to note type 'Vocab' (after Meaning). Update the back template so the example appears in italics only when filled ({{#Example}}…{{/Example}}), and add CSS so .example is grey (#666). Fill Example for the 10 notes listed in input/examples.csv.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
AP· API-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
notetypes: fields order Word, Meaning, Example, …; back template contains a conditional section wrapping a .example element; CSS rule present. Rendered back of a note without Example contains no empty example element. 10 notes have exact Example text. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM.
Proposed partial credit
25% field added in position; 30% conditional template; 15% CSS; 30% example values
R12.10.01.04-T12 Find duplicate fronts in Anki and suspend the later copies
Original instruction
Deck 'Capitals' contains notes added twice by mistake. Use Browse > Notes > Find Duplicates on the Front field, then for each duplicate group keep the oldest note, tag the others 'dupe' and suspend their cards. Do not delete anything.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
notes/cards tables: exactly the newer note in each of the 14 seeded duplicate groups tagged 'dupe' with all their cards queue = −1; the oldest copies untouched; note count unchanged. The profile has no add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so the collection can change only in Anki.
Proposed partial credit
40% correct notes tagged; 40% their cards suspended; 20% oldest notes unchanged and nothing deleted
R12.10.01.04-T13 Sync reviews between Anki desktop and AnkiDroid via a local sync server
Original instruction
A self-hosted Anki sync server and a test account are set up. Review 20 cards on AnkiDroid (emulator), then sync. Anki desktop has unsynced local edits to 3 notes and the server reports a one-way-sync conflict after a note-type change. Resolve it so both the phone reviews and the desktop edits survive, ending with both clients in sync.
- Platforms
mac· macOSwin· Windowsand· Android- Applications
- Anki · AnkiDroid
- Interfaces
desk· Desktop GUImob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesclick· Point & clickmulti· Cross-app- Work product
WP08· App/system state- Conditions
xdevice· Cross-devicerisk· Irreversible/riskyhidden· Hidden/stale state- Proposed difficulty
- 5 / 5
Proposed verifier
Server collection after the run: 20 phone review revlog entries present and the 3 desktop note edits present; both clients' collections hash-equal to the server. Choosing the wrong one-way direction loses one side and fails that milestone. Desktop Anki has no add-ons and its debug console is disabled; AnkiDroid's API intents are disabled and adb is not exposed to the agent.
Proposed partial credit
25% phone reviews done and synced; 25% desktop edits preserved; 30% conflict resolved without loss; 20% clients in sync
R12.10.01.04-T14 Set due dates and reposition new cards by priority
Original instruction
In Anki Browse, set the 30 review cards tagged 'exam-week' to be due today using Set Due Date '0!', and reposition the 40 new cards in deck 'Cardio' so cards tagged 'high-yield' come first (positions 1-15, in their current relative order), followed by the rest.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
cards table: 30 cards due = today with interval reset as per '!' semantics; new-card due positions: high-yield cards 1-15 preserving original order, others after them. The profile has no add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so the collection can change only in Anki.
Proposed partial credit
40% due dates set; 20% interval reset; 40% reposition order correct
R12.10.01.04-T15 Read review statistics from Anki's Stats screen
Original instruction
Open Anki's Statistics for deck 'Spanish' (collection with a seeded 1-year review history). Report in answer.json: number of reviews on 2026-09-01, the true retention for mature cards over the last month, and the count of cards due tomorrow in the forecast. Use the Stats screen; do not export the database.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
hover· Hover & contextvis· Visual judgmentclick· Point & click- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
answer.json values compared to Anki's own stats computed from the seeded revlog (exact integers, retention ±0.1 pp). Daily counts appear only on graph hover tooltips. Database file access is blocked by the sandbox while Anki runs.
Proposed partial credit
35% reviews on date; 35% mature true retention; 30% forecast count
R12.10.01.04-T16 Import a shared deck and remap its note type without losing scheduling
Original instruction
Import input/shared_pharm.apkg (500 notes, note type 'PharmCard' with 6 fields) into Anki. Then change all its notes to your existing note type 'Pharm' (4 fields) with the mapping in input/mapping.txt, merging two source fields into one by first moving content in Find and Replace. Keep imported scheduling.
- Platforms
mac· macOSwin· Windows- Applications
- Anki
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
500 notes of type Pharm with field contents equal to the expected mapping (including the merged field); scheduling of imported cards (due, ivl) unchanged; 'PharmCard' type unused afterwards. The profile has no add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent from the VM, so the collection can change only in Anki.
Proposed partial credit
20% import; 40% field mapping; 20% merged field correct; 20% scheduling preserved
R12.10.01.04-T17 Score at least 90% on a listening lesson in a language drill app
Original instruction
In the self-hosted Duolingo-style app, set the daily goal to 'Serious (20 XP)' and complete lesson 'Basics 2' of the French course, which has 10 listening exercises (type what you hear, select the matching picture). Achieve at least 90% first-try accuracy.
- Platforms
web· Any OS (web)- Applications
- Duolingo-like apps
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
av· Audio/video over timetype· Text & formsclick· Point & click- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
App DB: daily goal = 20, lesson completion with per-exercise results; accuracy ≥ 90% for full credit. Audio prompts carry no transcript in the DOM; answer checking requires the lesson session nonce, no API token is issued, and direct calls to the check endpoint are rejected and logged.
Proposed partial credit
15% daily goal; 15% lesson completed; 70% scaled by first-try correct answers from 5/10 to 9/10
R12.10.01.04-T18 Answer 'Hard' for cards matching a rule during review
Original instruction
In AnkiMobile-like review on the iOS Simulator (AnkiMobile test install), study deck 'Kanji N4' (15 due). Answer 'Hard' for every card whose answer side lists more than 2 readings, 'Good' otherwise, using swipe/tap gestures. Then undo the last answer and redo it as 'Easy'.
- Platforms
ios· iOS/iPadOS- Applications
- AnkiMobile
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
touch· Touch gesturesvis· Visual judgment- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Collection exported after the run: revlog ease per card equals the rule (ease 2 vs 3) except the last card whose final entry is ease 4 and whose undone entry is absent. Reading counts are visible only on the answer side. AnkiMobile's URL scheme cannot answer cards and the device exposes no shell, so reviews can only come from taps in the app.
Proposed partial credit
70% scaled by correct buttons; 30% undo and Easy on last card
R12.10.01.04-T19 Control: import the vocabulary CSV with a Python script
Original instruction
Control pair of T01. With Anki closed, write a Python script using the anki library (pip package 'anki') to import input/spanish_a1.csv into the test collection: deck 'Spanish::A1', note type 'Basic (and reversed card)', spanish→Front, english→Back, column 4 → tags, header skipped.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Python
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Same checks as T01 on collection.anki2: 120 notes, 240 cards, fields and tags exact, no header note. Used as the CLI control to measure the GUI gap.
Proposed partial credit
20% deck; 40% field mapping; 20% tags; 20% count
R12.10.01.04-T20 Build a complete chapter deck with tags, occlusions and options
Original instruction
From input/ch7_renal.pdf and glossary input/ch7_terms.xlsx (120 terms), build deck 'Physio::Ch7 Renal' in Anki: 120 Basic notes from the glossary tagged by section (7.1-7.6 from the sheet), 3 image-occlusion notes from figures 7.2, 7.5 and 7.9 (labels listed in the PDF captions), preset 'Exam' (20 new/day), and no duplicate Fronts.
- Platforms
mac· macOSwin· Windows- Applications
- Anki · Excel · PDF viewer
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
HY· Hybrid- Interaction primitives
click· Point & clickdrag· Drag & dropmulti· Cross-apptype· Text & forms- Work product
WP08· App/system state- Conditions
long· Long-horizonmultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
collection.anki2: 120 Basic notes with fields and section tags equal to the sheet (7 seeded duplicate rows must be merged, not doubled); 3 occlusion notes whose masks cover caption labels (IoU ≥ 0.6); deck uses preset Exam with new/day 20. No add-ons (no AnkiConnect), the debug console is disabled, and Python/sqlite3 are absent, so the collection can change only in Anki.
Proposed partial credit
35% glossary notes and tags; 15% duplicates handled; 35% occlusion masks; 15% preset
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.