memento-flashcards skill
Spaced-repetition flashcards: create, review, quiz, export.
Is the memento-flashcards skill safe?
Clean: nothing in its files matched our rules. We read 3 files in the folder on 2026-10-25.
No findings.
Install the memento-flashcards skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/NousResearch/hermes-agent.git /tmp/hermes-agent mkdir -p ~/.claude/skills cp -r /tmp/hermes-agent/optional-skills/productivity/memento-flashcards ~/.claude/skills/memento-flashcards
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
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
Card Storage
Cards are stored in a JSON file at:
~/.hermes/skills/productivity/memento-flashcards/data/cards.jsonNever 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:
- 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.
- 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.
- 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:
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:
- The question (front of card)
- The answer (back of card)
- 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:
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py dueThis returns a JSON array of cards where nextreviewat <= now. If a collection filter is needed:
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: mementocards.py rate --id ABC --rating hard --user-answer "1991")*
Next question: Who was the first person to walk on the moon?
The rules:
- Show only the question. Wait for the user to answer.
- 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
- 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."
- Then call the rate command: correct→easy, partial→good, incorrect→hard.
- Then show the next question.
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.
Spaced Repetition Algorithm
The rating determines the next review interval:
More skills from NousResearch/hermes-agent
- A1passwordSet up op CLI, sign in, and read or inject secrets.
- A3-statement-modelBuild integrated IS/BS/CF financial workbooks in Excel.
- AaccelerateRun PyTorch training across GPUs with minimal changes.
- Cactual-setupSet up Actual Computer (actual.inc) inference in Hermes.
- Aadversarial-ux-testRoleplay a hostile user to find and triage UX pain points.
- Aagent-merge-conflict-arbiterNeutral arbiter for merge conflicts between two agents.
- AagentmailUse when an agent needs AgentMail CLI email inboxes.
- Aai-presenter-videoMake a verified AI presenter video from script + image.
- AairtableAirtable REST API via curl. Records CRUD, filters, upserts.
- AanatomyExplain an idea as an interactive isometric machine figure.
- Cantigravity-cliOperate the Antigravity CLI (agy): plugins, auth, sandbox.
- Aapple-notesManage Apple Notes via memo CLI: create, search, edit.