This is the note that actually moves through the five stages. The frontmatter is load-bearing: the dashboard only sees a note if it has stage, topic, and last_reviewed. The body has four sections, and which one I use depends on the stage I’m on.

Date format matters

last_reviewed must be YYYY-MM-DD. Dataview only parses that format as a date; anything else (e.g. 13/05/2026) becomes a string and the dashboard will flag it.

Template

---
topic: "[Short topic name, e.g. Virtual Private Cloud (VPC)]"
stage: 1
last_reviewed: 2026-06-27
has_flashcards: true
archived: false
---
 
for [[source-note-or-section]]
 
#active-recall #topic
 
#### 1. Open Recall (Write then Review)
 
[Stage 1 & 5: blank-page free recall. Write everything you remember, then check.]
 
---
#### 2. Knowledge Gaps
 
[Pull these from your write-to-learn note and from whatever you missed above.]
 
---
#### 3. Q&A
 
> [!question]- Q: 
> 
> **A:** 
 
> [!question]- Q: 
> 
> **A:** 
 
> [!question]- Q: 
> 
> **A:** 
 
---
#### 4. Teach-back
 
[4–8 sentences explaining the topic as if to someone who knows nothing about it.
No jargon, or unpack any jargon used.]
 
**Gaps I noticed**
- [one-line note per weakness identified]

The headline fields

FieldTypeWhat it does
topicstringDisplay name in the dashboard. Required.
stage1–5Current stage. Required. Drives the interval and the method.
last_reviewedYYYY-MM-DDStart of the current interval. Required.
has_flashcardsboolDefaults to true if absent. false shifts stages 3 & 4 to Teach-back / Free recall.
archivedbooltrue hides the topic from the dashboard for good.

The review loop

After each review, edit two fields:

  • Passedstage + 1, last_reviewed = today.
  • Failedstage − 1 (stage 1 stays at 1; stage 5 drops to 3), last_reviewed = today.

The [!question]- syntax is an Obsidian collapsible callout — the - makes it start folded, so the question shows and the answer is hidden until you click. That’s your stage-2 self-test built into the note.