Команды бота

    Редактирование файла

    Создать автоматизацию

    Создать правило автоотправки

    Переслать сообщение в...

    • Загрузка списка групп...

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

    cover-s1-husky-notes.jpg

    Команды 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)

    Установка и запуск

    1. Skill: C:\Users\huskynet\.cursor\skills\husky-notes\
    2. Команды меню /: C:\Users\huskynet\.cursor\commands\husky_save.md и соседние husky_save_all, husky_show, husky_edit, husky_remind, husky_done, husky_delete
    3. Создайте %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 и часть панелей).

    1. Проверка доступа:
    python "%USERPROFILE%\.cursor\skills\husky-notes\scripts\notes.py" ping
    1. Уведомления 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\. В тексте заметки сначала ![alt](media/файл.jpg), со следующей строки подпись как ссылка на тот же файл: [подпись](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-journal publish.py)
    • Nag-toast каждые ~5 минут по просроченным напоминаниям, пока заметка open
    • Кнопки Windows toast «Отложить» (+30 мин) и «Выполнено»; протокол husky-notes: (install-task), CLI snooze / 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 минут

    Edit Message

    Attachments:

    AI Assistant

    Enter your instruction to edit the text: