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

Команды Cursor /husky_save и /husky_show: короткий блокнот в чате. Заметки — markdown-файлы, синхронизация через S3-совместимое хранилище (Yandex Object Storage и аналоги). Напоминание — поле той же заметки: toast в Windows с кнопками «Отложить» / «Выполнено», nag каждые 5 минут, пока не закрыто, и просроченные сверху в списке.
Работает на вашей машине (~/.cursor/), не внутри отдельного git-репозитория приложения.
Корень волны skills: Cursor Desk — локальный стол, каталог скиллов и панель заметок без чата Cursor.
Возможности
- Сохранить текст промпта (
/husky_save) или весь чат (/husky_save_all) как заметку - Список: просроченные напоминания, затем закреплённые (
status: закреплено), затем остальные по дате (/husky_show);idв чате — ссылка, клик открывает markdown в правом редакторе Cursor - Картинки в
notes/media/; подпись под снимком — ссылка на файл, клик открывает картинку в редакторе - Публикация заметки по id:
/husky_post 20260831-sunn,/husky_chat 20260831-sunn(тело + вложения) - Правка, дописка, поиск без id (
/husky_edit) - Напоминание на заметку или новая заметка сразу с датой (
/husky_remind); после срока toast каждые 5 минут с кнопками Отложить (30 мин) и Выполнено - Закрыть (
/husky_done) и удалить (/husky_delete) - Синхронизация между машинами через bucket S3 (один файл на заметку +
index.json) - Windows-уведомление раз в 5 минут, даже если Cursor закрыт (Task Scheduler); кнопки toast работают через протокол
husky-notes:
Требования
- 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 минут, только когда пользователь в сессии. Окно консоли не показывается (скрытый wscript). Та же команда регистрирует протокол husky-notes: для кнопок toast. Снять: notes.py uninstall-task.
boto3 уже может быть в системе; иначе первый запуск сделает pip install boto3.
Использование
Сохранить заметку из чата
Текст этого сообщения уходит в S3:
/husky_save Купить кабель USB-C до пятницы
или хештег #husky_save. Если команда одна, без текста — сохраняется предыдущее сообщение.
Весь текущий чат одной заметкой:
/husky_save_all
Список
/husky_show
Сначала блок напоминаний (просроченные, затем сегодня), потом остальные заметки, новые сверху. Строка: [id](файл.md) · 31.08.2026 15:20 · **заголовок** — id ссылкой, дата сразу после id. Клик по id открывает заметку в правом редакторе; сохранение там подхватит следующий /husky_show и уйдёт в S3.
Картинки и подписи
Снимки — в %USERPROFILE%\.cursor\husky-notes\notes\media\. В тексте заметки сначала , со следующей строки подпись как ссылка на тот же файл: [подпись](media/файл.jpg). Клик по подписи в редакторе открывает картинку.
Опубликовать заметку
/husky_post 20260831-sunn
/husky_chat 20260831-sunn
Пост на сайте — новая запись (не README скилла). В чат уходят текст и вложения. Без id команды работают как обычно: README проекта и черновик чата.
Напоминание
На существующую заметку:
/husky_remind 20260831-7k2m завтра 10:00
Новая заметка сразу с датой:
/husky_remind через 2 часа позвонить в сервис
После наступления срока toast всплывает снова каждые ~5 минут, пока заметка открыта. На уведомлении:
- Отложить — сдвигает
remind_atна 30 минут - Выполнено — как
/husky_done - клик по телу toast открывает файл заметки
То же из чата: /husky_remind {id} +1h или CLI snooze ID --minutes 30. Снять дату, не закрывая заметку: /husky_edit {id} и просьба убрать напоминание (--clear-remind).
Календарных повторов daily/weekly нет — только дата старта и nag до закрытия.
Правка, закрытие, удаление
/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" snooze ID --minutes 30
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.vbs, 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 имена не резолвятся.
Связанные проекты
| Проект | Роль |
| — | — |
| Cursor Desk | Корневая утилита волны S: иконка Notes на столе, вкладка «Заметки» (notes_bridge) |
| dev-journal | Публикация заметки по id (/husky_post / /husky_chat) — skill волны S11 |
История изменений
Формат — Keep a Changelog.
[Unreleased]
Added
- Перелинковка с корневой утилитой Cursor Desk (волна S0) в README
/husky_show: закреплённые заметки (status: закреплено/pinned) в отдельном блокеpinned, всегда выше обычных- CLI:
save/edit --status(open,done,закреплено) /husky_show:idв чате — ссылкаfile://на локальный.md(открытие в правом редакторе Cursor); sync подхватывает сохранение в редакторе по mtime- Подпись картинки в заметке — markdown-ссылка на
media/…; клик в редакторе открывает файл /husky_post {id}и/husky_chat {id}публикуют заметку с вложениями (dev-journalpublish.py)- Nag-toast каждые ~5 минут по просроченным напоминаниям, пока заметка
open - Кнопки Windows toast «Отложить» (+30 мин) и «Выполнено»; протокол
husky-notes:(install-task), CLIsnooze/toast-action
Changed
/husky_show: строкаid · дата · заголовок(дата сразу после id)/husky_chat {id}: шапка чата —titleиз YAML заметки, без «Husky Notes» и без#skills#Info(publish.py --note-title)install-task: напоминания через скрытыйwscript+pythonw(без окна cmd); toast через скрытый PowerShell (CREATE_NO_WINDOW)
[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 минут



