{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}

памятные карточки

Система карточек с интервальными повторениями. Создавайте карточки на основе фактов или текста, общайтесь с карточками, используя ответы в виде произвольного текста, оцененные агентом, создавайте викторины на основе стенограмм YouTube, просматривайте карточки с выполнением с помощью адаптивного планирования и экспортируйте/импортируйте колоды в формате CSV.

Метаданные навыков

Источник Необязательно — установите с помощью hermesskills installofficial/productivity/memento-flashcards
Путь дополнительные навыки/производительность/памятные карточки
Версия 1.0.0
Автор Сувенир AI
Лицензия Массачусетский технологический институт
Платформы Макос, Linux
Теги Образование, Карточки, Интервальное повторение, Обучение, Викторина, YouTube

Ссылка: полная версия SKILL.md:::информация

Ниже приведено полное определение навыка, которое Гермес загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навык активен.

Сувенирные карточки — навык карточного повторения с интервалами

Обзор

Memento предоставляет вам локальную файловую систему карточек с планированием интервальных повторений. Пользователи могут общаться в чате с помощью своих карточек, отвечая в произвольном тексте, а агент оценивает ответ, прежде чем планировать следующий обзор. Используйте его всякий раз, когда пользователь хочет:

Все данные карты хранятся в одном файле JSON. Никаких внешних ключей API не требуется — вы (агент) сами создаете содержимое карточек и вопросы викторины.

Стиль ответа, ориентированный на пользователя, для карточек Memento: - Используйте только простой текст. Не используйте форматирование Markdown в ответах пользователю. - Делайте обзоры и отзывы викторин краткими и нейтральными. Избегайте лишних похвал, напутствий и длинных объяснений.

Когда использовать

Используйте этот навык, когда пользователь хочет: - Сохраняйте факты в виде карточек для последующего просмотра. - Просмотрите карточки выполнения с интервальным повторением. - Создайте тест из стенограммы видео YouTube. - Импорт, экспорт, проверка или удаление данных флэш-карты.

Не используйте этот навык для общих вопросов и ответов, помощи в кодировании или задач, не связанных с памятью.

Краткий справочник

Намерение пользователя Действие
«Запомни это X» / «сохрани это как карточку» Создайте карточку вопросов/ответов, вызовите memento_cards.py add
Отправляет факт без упоминания карточек Спросите: «Хотите, чтобы я сохранил это как карточку на память?» — создавать только в случае подтверждения
«Создать карточку» Спросите вопросы, ответы, сбор; вызовите memento_cards.py add
«Просмотрите мои карты» Вызовите memento_cards.py Due, представьте карты одну за другой
«Задайте мне вопрос на [URL YouTube]» Вызовите youtube_quiz.py fetch VIDEO_ID, создайте 5 вопросов, вызовите memento_cards.py add-quiz
«Экспортировать мои карты» Вызовите memento_cards.py экспорт --output PATH
«Импорт карточек из CSV» Вызовите memento_cards.py import --file PATH --collection NAME
«Показать мою статистику» Вызовите memento_cards.py stats
«Удалить карту» Вызовите memento_cards.py delete --id ID
«Удалить коллекцию» Вызовите memento_cards.py delete-collection --collection NAME

Хранилище карт

Карты хранятся в файле JSON по адресу:

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

Никогда не редактируйте этот файл напрямую. Всегда используйте подкоманды memento_cards.py. Скрипт обрабатывает атомарные записи (запись во временный файл, затем переименование), чтобы предотвратить повреждение.

Файл создается автоматически при первом использовании.

Процедура

Создание карточек на основе фактов

Правила активации

Не каждое фактическое утверждение должно стать карточкой. Используйте эту трехуровневую проверку:

  1. Явное намерение — пользователь упоминает слова «память», «карточка», «запомнить это», «сохраните эту карточку», «добавить карточку» или подобную фразу, которая явно запрашивает карточку → создайте карточку напрямую, подтверждение не требуется.
  2. Неявное намерение — пользователь отправляет фактическое утверждение, не упоминая карточки (например, «Скорость света 299 792 км/с») → сначала спросите: «Хотите, чтобы я сохранил это как карточку на память?» Создавайте карту только в том случае, если пользователь подтвердит.
  3. Нет намерения — сообщение представляет собой задачу кодирования, вопрос, инструкцию, обычный разговор или что-то, что явно не является фактом для запоминания → НЕ активируйте этот навык вообще. Позвольте другим навыкам или поведению по умолчанию справиться с этим.

Когда активация будет подтверждена (уровень 1 напрямую, уровень 2 после подтверждения), сгенерируйте флеш-карту:

Шаг 1. Превратите утверждение в пару вопросов и ответов. Используйте этот формат внутри:

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

Statement: "{statement}"

Правила: - Вопрос должен проверять напоминание ключевого факта. - Ответ должен быть кратким и прямым.

Шаг 2: Вызовите скрипт для сохранения карты:

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

Если пользователь не указывает коллекцию, используйте «Общие» по умолчанию.

Скрипт выводит JSON, подтверждающий создание карты.

Создание карты вручную

Когда пользователь явно просит создать карточку, попросите его: 1. Вопрос (лицевая сторона карточки) 2. Ответ (обратная сторона карточки) 3. Название коллекции (необязательно — по умолчанию «Общее»)

Затем вызовите memento_cards.py add, как указано выше.

Проверка карточек оплаты

Когда пользователь хочет просмотреть, извлеките все карточки с сроками:

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

Это возвращает массив карточек JSON, где next_review_at <= now. Если необходим фильтр сбора:

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

Последовательность проверки (оценка в произвольном порядке):

Вот пример ТОЧНОЙ модели взаимодействия, которой вы должны следовать. Пользователь отвечает, вы оцениваете его, сообщаете правильный ответ, а затем оцениваете карту.

Пример взаимодействия:

Агент: В каком году пала Берлинская стена?

Пользователь: 1991 г.

Агент: Не совсем. Берлинская стена пала в 1989 году. Следующий обзор завтра. (вызов агента: memento_cards.py тариф --id ABC --rating hard --user-ответ "1991")

Следующий вопрос: Кто был первым человеком, ступившим на Луну?

Правила:

  1. Покажите только вопрос. Подождите, пока пользователь ответит.
  2. Получив ответ, сравните его с ожидаемым и оцените:
  3. правильно → пользователь правильно усвоил ключевой факт (даже если он сформулирован по-другому)
  4. частично → правильный путь, но не хватает основных деталей
  5. неправильно → неправильно или не по теме
  6. Вы ДОЛЖНЫ сообщить пользователю правильный ответ и указать, как он это сделал. Делайте это коротким и простым текстом. Используйте этот формат:
  7. правильно: "Верно. Ответ: {ответ}. Следующий отзыв через 7 дней."
  8. частичный: «Закрыть. Ответ: «ответ». «Что они пропустили». Следующий отзыв через 3 дня».
  9. неверно: "Не совсем. Ответ: {ответ}. Следующий обзор завтра."
  10. Затем вызовите команду скорости: правильно→легко, частично→хорошо, неправильно→сложно.
  11. Затем покажите следующий вопрос.
python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py rate \
  --id CARD_ID --rating easy --user-answer "what the user said"

Никогда не пропускайте шаг 3. Прежде чем двигаться дальше, пользователь всегда должен видеть правильный ответ и отзыв.

Если карты не подлежат проверке, сообщите пользователю: «Сейчас нет карточек, подлежащих проверке. Зайдите позже!»

Отменить выбор: В любой момент пользователь может сказать «Снять с учета эту карту», ​​чтобы навсегда удалить ее из отзывов. Для этого используйте --rating retire.

Алгоритм интервального повторения

Рейтинг определяет следующий интервал проверки:

Рейтинг Интервал легкость_стрик Изменение статуса
жесткий +1 день сбросить до 0 продолжает учиться
хорошо +3 дня сбросить до 0 продолжает учиться
легко +7 дней +1 если easy_streak >= 3 → на пенсии
уйти на пенсию постоянный сбросить до 0 → пенсионер

Генерация викторин YouTube

Когда пользователь отправляет URL-адрес YouTube и хочет пройти тест:

Шаг 1. Извлеките идентификатор видео из URL (например, dQw4w9WgXcQ из https://www.youtube.com/watch?v=dQw4w9WgXcQ).

Шаг 2. Получите расшифровку:

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

Возвращает {"title": "...", "transcript": "..."} или ошибку.

Если сценарий сообщает об отсутствии_зависимости, попросите пользователя установить его:

pip install youtube-transcript-api

Шаг 3. Создайте 5 вопросов викторины на основе стенограммы. Используйте эти правила:

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.

Используйте первые 15 000 символов стенограммы в качестве контекста. Создавайте вопросы самостоятельно (вы — магистр права).

Шаг 4. Убедитесь, что выходные данные действительны в формате JSON, содержащем ровно 5 элементов, каждый из которых имеет непустые строки «вопрос» и «ответ». Если проверка не удалась, повторите попытку один раз.

Шаг 5. Сохраните карточки с тестами:

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

Скрипт выполняет дедупликацию по video_id — если карточки для этого видео уже существуют, он пропускает создание и сообщает о существующих карточках.

Шаг 6. Предлагайте вопросы один за другим, используя один и тот же алгоритм оценивания в произвольном порядке: 1. Показать «Вопрос 1/5:...» и дождаться ответа пользователя. Никогда не включайте ответ или какой-либо намек на его раскрытие. 2. Подождите, пока пользователь ответит своими словами. 3. Оцените ответ, используя подсказку для оценки (см. раздел «Просмотр карточек выполнения»). 4. ВАЖНО: прежде чем делать что-либо еще, НЕОБХОДИМО ответить пользователю отзывом. Покажите оценку, правильный ответ и дату следующего сдачи карточки. НЕ переходите молча к следующему вопросу. Делайте это коротким и простым текстом. Пример: «Не совсем. Ответ: «ответ». Следующий обзор завтра». 5. После отображения отзыва вызовите команду оценки, а затем покажите следующий вопрос в том же сообщении:

python3 ~/.hermes/skills/productivity/memento-flashcards/scripts/memento_cards.py rate \
  --id CARD_ID --rating easy --user-answer "what the user said"
  1. Повторите. Каждый ответ ДОЛЖЕН получить видимую обратную связь перед следующим вопросом.

Экспорт/импорт CSV

Экспорт:

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

Создает CSV-файл с тремя столбцами: «вопрос, ответ, коллекция» (без строки заголовка).

Импорт:

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

Считывает CSV-файл со столбцами: вопрос, ответ и, при необходимости, подборка (столбец 3). Если столбец коллекции отсутствует, используется аргумент --collection.

Статистика

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

Возвращает JSON с: - total: общее количество карт. - «обучение»: карты в активной ротации - «пенсионер»: освоенные карты - due_now: карточки должны быть проверены прямо сейчас. - коллекции: разбивка по названию коллекции.

Подводные камни

Проверка

Проверьте вспомогательные сценарии напрямую:

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

Если вы тестируете из проверки репо, запустите:

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

Проверка на уровне агента: - Начните обзор и подтвердите, что отзыв представляет собой простой текст, краткий и всегда включает правильный ответ перед следующей карточкой. - Запустите тест на YouTube и убедитесь, что каждый ответ получает видимую обратную связь перед следующим вопросом.