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.
Spaced-repetition flashcard system. An agent skill from Tommy-yw/RunbookHermes.
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Tommy-yw/RunbookHermes memento-flashcards --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "memento-flashcards" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcards into .claude/skills/memento-flashcards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memento-flashcards", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcardsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Tommy-yw/RunbookHermes memento-flashcards --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/optional-skills/productivity/memento-flashcards .agents/skills/memento-flashcards && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "memento-flashcards" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcards into .agents/skills/memento-flashcards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memento-flashcards", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Tommy-yw/RunbookHermes memento-flashcards --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/optional-skills/productivity/memento-flashcards .cursor/skills/memento-flashcards && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "memento-flashcards" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcards into .cursor/skills/memento-flashcards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memento-flashcards", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Tommy-yw/RunbookHermes.git --path optional-skills/productivity/memento-flashcards--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Tommy-yw/RunbookHermes memento-flashcards --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/optional-skills/productivity/memento-flashcards .gemini/skills/memento-flashcards && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "memento-flashcards" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcards into .gemini/skills/memento-flashcards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memento-flashcards", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Tommy-yw/RunbookHermes memento-flashcardsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .github/skills && cp -r skills-src/optional-skills/productivity/memento-flashcards .github/skills/memento-flashcards && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "memento-flashcards" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcards into .github/skills/memento-flashcards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memento-flashcards", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Tommy-yw/RunbookHermes --skill memento-flashcards -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Tommy-yw/RunbookHermes memento-flashcards --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/optional-skills/productivity/memento-flashcards .opencode/skills/memento-flashcards && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "memento-flashcards" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/productivity/memento-flashcards into .opencode/skills/memento-flashcards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "memento-flashcards", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
memento-flashcardsSpaced-repetition flashcard system. An agent skill from Tommy-yw/RunbookHermes.
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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7fd2b9a. It shows what the files ask for, not the result of running them.
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.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3pippytestFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
youtube.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from Tommy-yw/RunbookHermes at commit 7fd2b9a, republished under its MIT licence (© Tommy-yw). 1,415 words, ~3,283 tokens.
.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.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:
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 this skill when the user wants to:
Do not use this skill for general Q&A, coding help, or non-memory tasks.
| User intent | Action |
|---|---|
| "Remember that X" / "save this as a flashcard" | Generate a Q/A card, call memento_cards.py add |
| Sends a fact without mentioning flashcards | Ask "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 |
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.
Not every factual statement should become a flashcard. Use this three-tier check:
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:
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.
When the user explicitly asks to create a flashcard, ask them for:
"General")Then call memento_cards.py add as above.
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 next_review_at <= 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: 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:
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.
The rating determines the next review interval:
| Rating | Interval | ease_streak | Status change |
|---|---|---|---|
| hard | +1 day | reset to 0 | stays learning |
| good | +3 days | reset to 0 | stays learning |
| easy | +7 days | +1 | if ease_streak >= 3 → retired |
| retire | permanent | reset to 0 | → retired |
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:
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/youtube_quiz.py fetch VIDEO_IDThis returns {"title": "...", "transcript": "..."} or an error.
If the script reports missing_dependency, tell the user to install it:
pip install youtube-transcript-apiStep 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:
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:
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py rate \
--id CARD_ID --rating easy --user-answer "what the user said"Export:
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py export \
--output ~/flashcards.csvProduces a 3-column CSV: question,answer,collection (no header row).
Import:
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.
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py statsReturns JSON with:
total: total card countlearning: cards in active rotationretired: mastered cardsdue_now: cards due for review right nowcollections: breakdown by collection namecards.json directly — always use the script subcommands to avoid corruptionyoutube_quiz.py needs youtube-transcript-api; if missing, tell the user to run pip install youtube-transcript-apiyoutube.com/watch?v=ID and youtu.be/ID URL formatsVerify the helper scripts directly:
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 dueIf you are testing from the repo checkout, run:
pytest tests/skills/test_memento_cards.py tests/skills/test_youtube_quiz.py -qAgent-level verification:
© 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
SKILL.md and 2 other files (scripts) in optional-skills/productivity/memento-flashcards of Tommy-yw/RunbookHermes.
Open the folder on GitHubat commit 7fd2b9a
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.
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Memento Flashcards this skillTommy-yw/RunbookHermes | 546 | 3 repos | ~3.3k | Automated safety check: Pass | MIT | |
| YouTube Talk Notetakerdair-ai/dair-academy-plugins | 614 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Gbro Series Vocabpyang5166/gbro-series-vocab | 163 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Nlm Skilliusztinpaul/ai-research-os-workshop | 179 | 1 repos | ~6.9k | Automated safety check: Pass | MIT | |
| NotebookLM CLI Guidejacob-bd/notebooklm-cli | 256 | — | ~3.4k | Automated safety check: Warn | MIT | |
| Learning Notes Automationchubbyguan/chubbyskills | 1.2k | — | ~898 | Automated safety check: Pass | MIT |
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.
pyang5166/gbro-series-vocab
追剧学英语 / Learn English vocabulary from TV series. An agent skill from pyang5166/gbro-series-vocab.
iusztinpaul/ai-research-os-workshop
Expert guide for the NotebookLM CLI (nlm) and MCP server - interfaces for Google NotebookLM.
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.
chubbyguan/chubbyskills
学习笔记自动化:视频/播客转录 → 知识点提取 → 闪卡生成 → 知识图谱更新。触发词:学习笔记、闪卡、Anki、知识提取、视频学习
alirezarezvani/claude-skills
Browser automation skill for controlling Google's NotebookLM.
Tommy-yw/RunbookHermes
Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.
Tommy-yw/RunbookHermes
Pharmaceutical research assistant for drug discovery workflows.
Tommy-yw/RunbookHermes
Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts).
Tommy-yw/RunbookHermes
Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories.
Tommy-yw/RunbookHermes
Production pipeline for interactive and generative visual art using p5.js.
Tommy-yw/RunbookHermes
Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals.
Works with
Categories
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.
Memento Flashcards fits situations like: tasks that involve Study guides and flashcards.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.