Husky Notes · заметки и напоминания в Cursor

Команды Cursor /husky_save и /husky_show: короткий блокнот в чате. Заметки — markdown-файлы, синхронизация через S3-совместимое хранилище (Yandex Object Storage и аналоги). Напоминание — поле той же заметки: toast в Windows по расписанию и просроченные сверху в списке.
Работает на вашей машине (~/.cursor/), не внутри отдельного git-репозитория приложения.
Возможности
- Сохранить текст промпта (
/husky_save) или весь чат (/husky_save_all) как заметку - Список всех заметок с сортировкой по дате, просроченные напоминания — отдельным блоком (
/husky_show) - Правка, дописка, поиск без id (
/husky_edit) - Разовое напоминание на заметку или новая заметка сразу с датой (
/husky_remind) - Закрыть (
/husky_done) и удалить (/husky_delete) - Синхронизация между машинами через bucket S3 (один файл на заметку +
index.json) - Windows-уведомление раз в 5 минут, даже если Cursor закрыт (Task Scheduler)
Требования
- Cursor с personal skills и commands (
~/.cursor/skills,~/.cursor/commands) - Python 3 (
pythonилиpy -3), пакетboto3(ставится скриптом при отсутствии) - Сеть до S3-совместимого API
- Windows 10/11 для toast и
schtasks(список и синхронизация — любой Python 3 с boto3)
Установка и запуск
- Skill:
C:\Users\huskynet\.cursor\skills\husky-notes\ - Команды меню
/:C:\Users\huskynet\.cursor\commands\husky_save.mdи соседниеhusky_save_all,husky_show,husky_edit,husky_remind,husky_done,husky_delete - Создайте
%USERPROFILE%\.cursor\husky-notes.local.json(файл не светите в чат):
{
"endpoint": "https://storage.yandexcloud.net",
"region": "ru-central1",
"bucket": "YOUR_BUCKET",
"prefix": "husky-notes/",
"access_key": "YOUR_KEY",
"secret_key": "YOUR_SECRET"
}
endpoint / region / prefix можно опустить — подставятся значения из примера. Поле addressing_style: virtual (по умолчанию) или path (MinIO и часть панелей).
- Проверка доступа:
python "%USERPROFILE%\.cursor\skills\husky-notes\scripts\notes.py" ping
- Уведомления Windows (один раз):
python "%USERPROFILE%\.cursor\skills\husky-notes\scripts\notes.py" install-task
Задача HuskyNotes в Планировщике — каждые 5 минут, только когда пользователь в сессии. Снять: notes.py uninstall-task.
boto3 уже может быть в системе; иначе первый запуск сделает pip install boto3.
Использование
Сохранить заметку из чата
Текст этого сообщения уходит в S3:
/husky_save Купить кабель USB-C до пятницы
или хештег #husky_save. Если команда одна, без текста — сохраняется предыдущее сообщение.
Весь текущий чат одной заметкой:
/husky_save_all
Список
/husky_show
Сначала блок напоминаний (просроченные, затем сегодня), потом остальные заметки, новые сверху. В каждой строке короткий id вида 20260831-7k2m.
Напоминание
На существующую заметку:
/husky_remind 20260831-7k2m завтра 10:00
Новая заметка сразу с датой:
/husky_remind через 2 часа позвонить в сервис
Snooze: /husky_remind {id} +1h. Снять дату, не закрывая заметку: /husky_edit {id} и просьба убрать напоминание (--clear-remind).
Повторы daily/weekly в этой версии нет — только разовая дата.
Правка, закрытие, удаление
/husky_edit 20260831-7k2m допиши про гарантию
/husky_edit 20260831-7k2m
полный новый текст вместо старого
/husky_done 20260831-7k2m
/husky_delete 20260831-7k2m
Без id можно указать фрагмент заголовка («поправь заметку про кабель») — при нескольких совпадениях агент спросит.
CLI без чата
python "%USERPROFILE%\.cursor\skills\husky-notes\scripts\notes.py" show
python "%USERPROFILE%\.cursor\skills\husky-notes\scripts\notes.py" save --title "Тест" --body-file note.md
python "%USERPROFILE%\.cursor\skills\husky-notes\scripts\notes.py" tick --dry-run
Итог — JSON в stdout. Локальный кэш: %USERPROFILE%\.cursor\husky-notes\notes\.
Структура проекта
~/.cursor/skills/husky-notes/
├── SKILL.md # когда агент сохраняет, показывает, правит
├── README.md # этот файл
├── doc/
│ ├── ARCHITECTURE.md
│ ├── CHANGELOG.md
│ └── AI_RULES.md
└── scripts/
└── notes.py # CRUD, sync, tick, schtasks
Рядом, не в skill:
~/.cursor/commands/husky_*.md— пункты меню/~/.cursor/husky-notes.local.json— endpoint, bucket, ключи~/.cursor/husky-notes/— кэш заметок, index.json, tick.cmd, tick.log
Технологии
- Cursor Commands — вызов
/husky_*из чата - Cursor Agent Skills — разбор промпта, перевод «завтра 10:00» в ISO, запуск CLI
- Python 3 — YAML-frontmatter, индекс, Task Scheduler
- boto3 — S3 API (SigV4), любой совместимый endpoint
- Windows Toast / Balloon — показ due-напоминаний из
notes.py tick
Разрешения и ключи
Скрипту нужны сеть и (для install-task) создание задачи Планировщика. В Cursor агент запускает его с полными правами shell, как другие husky-скиллы.
Ключи S3 только в husky-notes.local.json. Не кладите их в skill, git и чат. Для Yandex Object Storage: сервисный аккаунт с правами на bucket, Access Key / Secret Key в консоли.
Опционально addressing_style: "path", если virtual-hosted имена не резолвятся.
История изменений
Формат — Keep a Changelog.
[Unreleased]
[1.0.0] — 2026-08-31
Added
- Команды
/husky_save,/husky_save_all,/husky_show,/husky_edit,/husky_remind,/husky_done,/husky_deleteи те же хештеги - Скрипт
scripts/notes.py: CRUD, поиск, ping, sync с S3 (boto3, SigV4, кастомный endpoint) - Локальный кэш и
index.jsonс tombstones для удалений - Разовые напоминания:
--remind(ISO, дата,+1h),tick, Windows toast,install-taskкаждые 5 минут



