Agent skill

Memento Flashcards

by Tommy-yw in Tommy-yw/RunbookHermes

Spaced-repetition flashcard system. An agent skill from Tommy-yw/RunbookHermes.

MITAuto-check passedEducation

Install Memento Flashcards

skills CLI
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Tommy-yw/RunbookHermes memento-flashcards --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/productivity/memento-flashcards .claude/skills/memento-flashcards && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
memento-flashcards
GitHub stars
546
Used in
3 other repos
Token cost
~3.3k tokens
SKILL.md length
1,415 words
Files
3 (incl. scripts)
Skills in repo
38
Repo updated
First seen
Licence
MIT

At a glance

Spaced-repetition flashcard system. An agent skill from Tommy-yw/RunbookHermes.

  • Works in 3 steps: Explicit intent — the user mentions… → Implicit intent — the user sends a… → No intent — the message is a coding…
  • Tasks that involve Study guides and flashcards
  • SKILL.md covers Overview, When to Use, Quick Reference and Card Storage, plus 3 more sections
  • Runs Python scripts from its folder; calls python3, pip and pytest; reaches youtube.com

What it does

Memento Flashcards is an agent skill from Tommy-yw/RunbookHermes. Spaced-repetition flashcard system. Create cards from facts or text, chat with flashcards using free-text answers graded by the agent, generate quizzes from YouTube transcripts, review due cards with adaptive scheduling, and export/import decks as CSV.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/memento_cards.py` and `scripts/youtube_quiz.py`).

It sits in Education, covering Study guides and flashcards. It works with YouTube. The repository describes itself as: Hermes-native AIOps agent for evidence-driven incident response, approval-gated remediation, and runbook learning. The licence is MIT.

When your agent uses it

  • Tasks that involve Study guides and flashcards

Example prompts

  • “/memento-flashcards”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Explicit intent — the user mentions "memento", "flashcard", "remember this", "save this card", "add a card", or similar phrasing that…
  2. Implicit intent — the user sends a factual statement without mentioning flashcards (e.g. "The speed of light is 299,792 km/s") → ask…
  3. No intent — the message is a coding task, a question, instructions, normal conversation, or anything that is clearly not a fact to…

What it can do on your machine

Read from SKILL.md and the folder at commit 7fd2b9a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • pip
    • pytest

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • youtube.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Memento Flashcards loads about 3.3k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,415 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~68
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Tommy-yw/RunbookHermes at commit 7fd2b9a, republished under its MIT licence (© Tommy-yw). 1,415 words, ~3,283 tokens.

Download SKILL.mdSave it as .claude/skills/memento-flashcards/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
memento-flashcards
description
Spaced-repetition flashcard system. Create cards from facts or text, chat with flashcards using free-text answers graded by the agent, generate quizzes from YouTube transcripts, review due cards with adaptive scheduling, and export/import decks as CSV.
version
1.0.0
author
Memento AI
license
MIT
platforms
macos, linux

Memento Flashcards — Spaced-Repetition Flashcard Skill

Overview

Memento gives you a local, file-based flashcard system with spaced-repetition scheduling. Users can chat with their flashcards by answering in free text and having the agent grade the response before scheduling the next review. Use it whenever the user wants to:

  • Remember a fact — turn any statement into a Q/A flashcard
  • Study with spaced repetition — review due cards with adaptive intervals and agent-graded free-text answers
  • Quiz from a YouTube video — fetch a transcript and generate a 5-question quiz
  • Manage decks — organise cards into collections, export/import CSV

All card data lives in a single JSON file. No external API keys are required — you (the agent) generate flashcard content and quiz questions directly.

User-facing response style for Memento Flashcards:

  • Use plain text only. Do not use Markdown formatting in replies to the user.
  • Keep review and quiz feedback brief and neutral. Avoid extra praise, pep, or long explanations.

When to Use

Use this skill when the user wants to:

  • Save facts as flashcards for later review
  • Review due cards with spaced repetition
  • Generate a quiz from a YouTube video transcript
  • Import, export, inspect, or delete flashcard data

Do not use this skill for general Q&A, coding help, or non-memory tasks.

Quick Reference

User intentAction
"Remember that X" / "save this as a flashcard"Generate a Q/A card, call memento_cards.py add
Sends a fact without mentioning flashcardsAsk "Want me to save this as a Memento flashcard?" — only create if confirmed
"Create a flashcard"Ask for Q, A, collection; call memento_cards.py add
"Review my cards"Call memento_cards.py due, present cards one-by-one
"Quiz me on [YouTube URL]"Call youtube_quiz.py fetch VIDEO_ID, generate 5 questions, call memento_cards.py add-quiz
"Export my cards"Call memento_cards.py export --output PATH
"Import cards from CSV"Call memento_cards.py import --file PATH --collection NAME
"Show my stats"Call memento_cards.py stats
"Delete a card"Call memento_cards.py delete --id ID
"Delete a collection"Call memento_cards.py delete-collection --collection NAME

Card Storage

Cards are stored in a JSON file at:

~/.hermes/skills/productivity/memento-flashcards/data/cards.json

Never edit this file directly. Always use memento_cards.py subcommands. The script handles atomic writes (write to temp file, then rename) to prevent corruption.

The file is created automatically on first use.

Procedure

Creating Cards from Facts
Activation Rules

Not every factual statement should become a flashcard. Use this three-tier check:

  1. Explicit intent — the user mentions "memento", "flashcard", "remember this", "save this card", "add a card", or similar phrasing that clearly requests a flashcard → create the card directly, no confirmation needed.
  2. Implicit intent — the user sends a factual statement without mentioning flashcards (e.g. "The speed of light is 299,792 km/s") → ask first: "Want me to save this as a Memento flashcard?" Only create the card if the user confirms.
  3. No intent — the message is a coding task, a question, instructions, normal conversation, or anything that is clearly not a fact to memorize → do NOT activate this skill at all. Let other skills or default behavior handle it.

When activation is confirmed (tier 1 directly, tier 2 after confirmation), generate a flashcard:

Step 1: Turn the statement into a Q/A pair. Use this format internally:

Turn the factual statement into a front-back pair.
Return exactly two lines:
Q: <question text>
A: <answer text>

Statement: "{statement}"

Rules:

  • The question should test recall of the key fact
  • The answer should be concise and direct

Step 2: Call the script to store the card:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py add \
  --question "What year did World War 2 end?" \
  --answer "1945" \
  --collection "History"

If the user doesn't specify a collection, use "General" as the default.

The script outputs JSON confirming the created card.

Manual Card Creation

When the user explicitly asks to create a flashcard, ask them for:

  1. The question (front of card)
  2. The answer (back of card)
  3. The collection name (optional — default to "General")

Then call memento_cards.py add as above.

Reviewing Due Cards

When the user wants to review, fetch all due cards:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py due

This returns a JSON array of cards where next_review_at <= now. If a collection filter is needed:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py due --collection "History"

Review flow (free-text grading):

Here is an example of the EXACT interaction pattern you must follow. The user answers, you grade them, tell them the correct answer, then rate the card.

Example interaction:

Agent: What year did the Berlin Wall fall?

User: 1991

Agent: Not quite. The Berlin Wall fell in 1989. Next review is tomorrow. (agent calls: memento_cards.py rate --id ABC --rating hard --user-answer "1991")

Next question: Who was the first person to walk on the moon?

The rules:

  1. Show only the question. Wait for the user to answer.
  2. After receiving their answer, compare it to the expected answer and grade it:
    • correct → user got the key fact right (even if worded differently)
    • partial → right track but missing the core detail
    • incorrect → wrong or off-topic
  3. You MUST tell the user the correct answer and how they did. Keep it short and plain-text. Use this format:
    • correct: "Correct. Answer: {answer}. Next review in 7 days."
    • partial: "Close. Answer: {answer}. {what they missed}. Next review in 3 days."
    • incorrect: "Not quite. Answer: {answer}. Next review tomorrow."
  4. Then call the rate command: correct→easy, partial→good, incorrect→hard.
  5. Then show the next question.
bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py rate \
  --id CARD_ID --rating easy --user-answer "what the user said"

Never skip step 3. The user must always see the correct answer and feedback before you move on.

If no cards are due, tell the user: "No cards due for review right now. Check back later!"

Retire override: At any point the user can say "retire this card" to permanently remove it from reviews. Use --rating retire for this.

Show full SKILL.md (531 more words)Show less
Spaced Repetition Algorithm

The rating determines the next review interval:

RatingIntervalease_streakStatus change
hard+1 dayreset to 0stays learning
good+3 daysreset to 0stays learning
easy+7 days+1if ease_streak >= 3 → retired
retirepermanentreset to 0→ retired
  • learning: card is actively in rotation
  • retired: card won't appear in reviews (user has mastered it or manually retired it)
  • Three consecutive "easy" ratings automatically retire a card
YouTube Quiz Generation

When the user sends a YouTube URL and wants a quiz:

Step 1: Extract the video ID from the URL (e.g. dQw4w9WgXcQ from https://www.youtube.com/watch?v=dQw4w9WgXcQ).

Step 2: Fetch the transcript:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/youtube_quiz.py fetch VIDEO_ID

This returns {"title": "...", "transcript": "..."} or an error.

If the script reports missing_dependency, tell the user to install it:

bash
pip install youtube-transcript-api

Step 3: Generate 5 quiz questions from the transcript. Use these rules:

You are creating a 5-question quiz for a podcast episode.
Return ONLY a JSON array with exactly 5 objects.
Each object must contain keys 'question' and 'answer'.

Selection criteria:
- Prioritize important, surprising, or foundational facts.
- Skip filler, obvious details, and facts that require heavy context.
- Never return true/false questions.
- Never ask only for a date.

Question rules:
- Each question must test exactly one discrete fact.
- Use clear, unambiguous wording.
- Prefer What, Who, How many, Which.
- Avoid open-ended Describe or Explain prompts.

Answer rules:
- Each answer must be under 240 characters.
- Lead with the answer itself, not preamble.
- Add only minimal clarifying detail if needed.

Use the first 15,000 characters of the transcript as context. Generate the questions yourself (you are the LLM).

Step 4: Validate the output is valid JSON with exactly 5 items, each having non-empty question and answer strings. If validation fails, retry once.

Step 5: Store quiz cards:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py add-quiz \
  --video-id "VIDEO_ID" \
  --questions '[{"question":"...","answer":"..."},...]' \
  --collection "Quiz - Episode Title"

The script deduplicates by video_id — if cards for that video already exist, it skips creation and reports the existing cards.

Step 6: Present questions one-by-one using the same free-text grading flow:

  1. Show "Question 1/5: ..." and wait for the user's answer. Never include the answer or any hint about revealing it.
  2. Wait for the user to answer in their own words
  3. Grade their answer using the grading prompt (see "Reviewing Due Cards" section)
  4. IMPORTANT: You MUST reply to the user with feedback before doing anything else. Show the grade, the correct answer, and when the card is next due. Do NOT silently skip to the next question. Keep it short and plain-text. Example: "Not quite. Answer: {answer}. Next review tomorrow."
  5. After showing feedback, call the rate command and then show the next question in the same message:
bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py rate \
  --id CARD_ID --rating easy --user-answer "what the user said"
  1. Repeat. Every answer MUST receive visible feedback before the next question.
Export/Import CSV

Export:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py export \
  --output ~/flashcards.csv

Produces a 3-column CSV: question,answer,collection (no header row).

Import:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py import \
  --file ~/flashcards.csv \
  --collection "Imported"

Reads a CSV with columns: question, answer, and optionally collection (column 3). If the collection column is missing, uses the --collection argument.

Statistics
bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py stats

Returns JSON with:

  • total: total card count
  • learning: cards in active rotation
  • retired: mastered cards
  • due_now: cards due for review right now
  • collections: breakdown by collection name

Pitfalls

  • Never edit cards.json directly — always use the script subcommands to avoid corruption
  • Transcript failures — some YouTube videos have no English transcript or have transcripts disabled; inform the user and suggest another video
  • Optional dependency — youtube_quiz.py needs youtube-transcript-api; if missing, tell the user to run pip install youtube-transcript-api
  • Large imports — CSV imports with thousands of rows work fine but the JSON output may be verbose; summarize the result for the user
  • Video ID extraction — support both youtube.com/watch?v=ID and youtu.be/ID URL formats

Verification

Verify the helper scripts directly:

bash
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py stats
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py add --question "Capital of France?" --answer "Paris" --collection "General"
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py due

If you are testing from the repo checkout, run:

bash
pytest tests/skills/test_memento_cards.py tests/skills/test_youtube_quiz.py -q

Agent-level verification:

  • Start a review and confirm feedback is plain text, brief, and always includes the correct answer before the next card
  • Run a YouTube quiz flow and confirm each answer receives visible feedback before the next question

© Tommy-yw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in optional-skills/productivity/memento-flashcards of Tommy-yw/RunbookHermes.

  • SKILL.md
  • scripts/memento_cards.py
  • scripts/youtube_quiz.py

Open the folder on GitHubat commit 7fd2b9a

Used in 3 other repositories

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in Tommy-yw/RunbookHermes, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Memento Flashcards next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Memento Flashcards compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memento Flashcards this skillTommy-yw/RunbookHermes5463 repos~3.3kAutomated safety check: PassMIT
YouTube Talk Notetakerdair-ai/dair-academy-plugins614—~2.3kAutomated safety check: PassMIT
Gbro Series Vocabpyang5166/gbro-series-vocab163—~1.1kAutomated safety check: PassMIT
Nlm Skilliusztinpaul/ai-research-os-workshop1791 repos~6.9kAutomated safety check: PassMIT
NotebookLM CLI Guidejacob-bd/notebooklm-cli256—~3.4kAutomated safety check: WarnMIT
Learning Notes Automationchubbyguan/chubbyskills1.2k—~898Automated safety check: PassMIT

Similar skills

  • YouTube Talk Notetaker

    dair-ai/dair-academy-plugins

    Converts a YouTube talk into a markdown study note with slide images, a timestamped transcript and editable notes, browsable through a small local server.

    614 GitHub stars~2.3k tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • Gbro Series Vocab

    pyang5166/gbro-series-vocab

    追剧学英语 / Learn English vocabulary from TV series. An agent skill from pyang5166/gbro-series-vocab.

    163 GitHub stars~1.1k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Nlm Skill

    iusztinpaul/ai-research-os-workshop

    Expert guide for the NotebookLM CLI (nlm) and MCP server - interfaces for Google NotebookLM.

    179 GitHub starsUsed in 1 repo~6.9k tokens
    Knowledge ManagementAuto-check passed
  • NotebookLM CLI Guide

    jacob-bd/notebooklm-cli

    Guides use of the nlm command-line tool to automate Google NotebookLM: notebooks, sources, research, one-shot questions and generated podcasts, reports, quizzes and slides.

    256 GitHub stars~3.4k tokensUpdated 4 mo ago
    Knowledge ManagementAuto-check: warnings
  • Learning Notes Automation

    chubbyguan/chubbyskills

    学习笔记自动化:视频/播客转录 → 知识点提取 → 闪卡生成 → 知识图谱更新。触发词:学习笔记、闪卡、Anki、知识提取、视频学习

    1.2k GitHub stars~898 tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Notebooklm

    alirezarezvani/claude-skills

    Browser automation skill for controlling Google's NotebookLM.

    28k GitHub stars~4k tokensUpdated 1 mo ago
    Knowledge ManagementAuto-check passed

More from Tommy-yw/RunbookHermes

All 38 skills in this repo
  • Fastmcp

    Tommy-yw/RunbookHermes

    Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.

    546 GitHub starsUsed in 3 repos~2.1k tokens
    Auto-check passed
  • Drug Discovery

    Tommy-yw/RunbookHermes

    Pharmaceutical research assistant for drug discovery workflows.

    546 GitHub starsUsed in 1 repo~2.3k tokens
    Auto-check passed
  • Youtube Content

    Tommy-yw/RunbookHermes

    Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts).

    546 GitHub starsUsed in 1 repo~785 tokens
    Auto-check passed
  • Oss Forensics

    Tommy-yw/RunbookHermes

    Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories.

    546 GitHub starsUsed in 3 repos~5k tokens
    Auto-check passed
  • P5js

    Tommy-yw/RunbookHermes

    Production pipeline for interactive and generative visual art using p5.js.

    546 GitHub starsUsed in 1 repo~6.8k tokens
    Auto-check passed
  • Touchdesigner MCP

    Tommy-yw/RunbookHermes

    Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals.

    546 GitHub starsUsed in 2 repos~3.4k tokens
    Auto-check passed

Works with

Categories

Questions about Memento Flashcards

What does Memento Flashcards do?

Spaced-repetition flashcard system. An agent skill from Tommy-yw/RunbookHermes. Memento Flashcards is an agent skill from Tommy-yw/RunbookHermes. Spaced-repetition flashcard system.

When should I use Memento Flashcards?

Memento Flashcards fits situations like: tasks that involve Study guides and flashcards.

How do I install Memento Flashcards in Claude Code?

Run `npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a claude-code`. Or copy the skill folder (optional-skills/productivity/memento-flashcards in Tommy-yw/RunbookHermes) into .claude/skills/memento-flashcards in your project. Claude Code loads it when a task matches its description.

How do I install Memento Flashcards in Codex?

Run `npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a codex`. Or copy the skill folder (optional-skills/productivity/memento-flashcards in Tommy-yw/RunbookHermes) into .agents/skills/memento-flashcards in your project. Codex loads it when a task matches its description.

Can I use Memento Flashcards in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memento-flashcards, .gemini/skills/memento-flashcards, .github/skills/memento-flashcards and .opencode/skills/memento-flashcards in your project.

What does Memento Flashcards need to run?

Going by SKILL.md and its folder, Memento Flashcards needs Python for the scripts in its folder and the command-line tools its instructions call (python3, pip and pytest). Our summary lists: Python 3.

Does Memento Flashcards access the network?

SKILL.md names 1 domain. In commands or code: youtube.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Memento Flashcards safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Memento Flashcards use?

Memento Flashcards is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memento Flashcards use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Memento Flashcards?

Skills that share tags, products or a category with Memento Flashcards: YouTube Talk Notetaker (dair-ai/dair-academy-plugins, 614 stars), Gbro Series Vocab (pyang5166/gbro-series-vocab, 163 stars), Nlm Skill (iusztinpaul/ai-research-os-workshop, 179 stars) and NotebookLM CLI Guide (jacob-bd/notebooklm-cli, 256 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memento Flashcards?

Tommy-yw (a GitHub user) maintains it in Tommy-yw/RunbookHermes, which has 546 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on May 18, 2026.

Source: Tommy-yw/RunbookHermes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.