Skip to content
Back to skills

Cursor Repair

ASecurity

Repair the Cursor editor when it crashes, fails to launch, or new Agent chats break. Use with a Request ID, fresh logs, CursorRule.parse_error or invalid UTF8 in skill frontmatter, or a better-sqlite3 NODE_MODULE_VERSION mismatch. Finds a reproducible cause, applies a narrow reversible fix and proves it with two new chats. Triggers: /cursor-repair, Cursor won't start, Cursor agent broken.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentsshellsqlnodegitapi

Works with

  • cursor
  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add tonydzi/second-brain-starter-kit --skill cursor-repair --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cursor Repair?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cursor Repair
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tonydzi-cursor-repair/badge)](https://www.skillsdirectory.com/skills/tonydzi-cursor-repair)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cursor-repair
description: "Repair the Cursor editor when it crashes, fails to launch, or new Agent chats break. Use with a Request ID, fresh logs, CursorRule.parse_error or invalid UTF8 in skill frontmatter, or a better-sqlite3 NODE_MODULE_VERSION mismatch. Finds a reproducible cause, applies a narrow reversible fix and proves it with two new chats. Triggers: /cursor-repair, Cursor won't start, Cursor agent broken."
license: MIT
consumer: "anyone asked to repair the app; Claude, Codex and Cursor agents"
version: 1.0.0
---

# Cursor: запуск и новые Agent-сессии

Портируемость: Windows проверен на a test Windows machine 04.10.2026. macOS/Linux: найти user-data, executable и runtime установленной версии; ветки DLL/MSIX не переносить. Проверка YAML применима к любой ОС, но фактический loader проверить отдельно.
Рельса: локальные команды, UI и официальные источники зависимостей; API-платежи не нужны. Для независимого ревью использовать доступную штатную рельсу другого вендора.

## 1. Зафиксировать и локализовать

- RECALL и свежий снимок: версия Cursor, путь executable, OS/architecture, время ошибки и Request ID, активная модель, новый или старый чат. Request ID сам по себе не объясняет причину.
- Windows: свежий каталог `$env:APPDATA\Cursor\logs`, renderer/window логи и `$env:APPDATA\Cursor\User\globalStorage\anysphere.cursor-agent-worker`. Смотреть корреляцию времени; не выгружать целиком токены и содержимое чатов.
- Приложение вообще не стартует: проверить процесс/окно/crash-log, свободное место, недавнее обновление; штатно запустить установленный executable. Если есть конкретная ошибка расширения, проверить запуск с отключёнными расширениями отдельным обратимым экспериментом. Не очищать весь user-data.
- Приложение работает, Agent нет: разделить pre-network сериализацию, локальный worker, auth/network и ответ провайдера. Исправление одного слоя не означает исправления всех.
- Сначала воспроизвести коротким новым чатом без инструментов. Если обычные логи дают только `[null,{}]`, после сохранения работы закрыть Cursor штатно и запустить его executable с `--enable-logging=file --log-file=<локальный-файл> --log trace`. Затем воспроизвести один раз и сверить свежий Electron log. Диагностические логи держать локально; после расследования следующий запуск обычный.

## 2. Ветка `CursorRule.parse_error` / `invalid UTF8`

1. Найти фактически загружаемые rules/skills, включая workspace и пользовательские каталоги, junction/symlink targets. Исправлять единственный исходник, не копию через мост.
2. Использовать parser установленного Cursor, если доступен: в Windows прецеденте `resources/app/node_modules/gray-matter`. Не подменять его другим YAML-парсером для финальной проверки.
3. Разобрать frontmatter каждого доступного SKILL.md. Для исключений проверить `error.message.isWellFormed()` в runtime с поддержкой метода, либо явную проверку непарных UTF-16 surrogate. Ошибка YAML и некорректная Unicode-строка ошибки являются разными состояниями.
4. Прецедент: голое описание с `: ` ломало YAML; усечённый snippet ошибки разрезал emoji и породил непарный surrogate. Это ломало сериализацию всего запроса до сети.
5. Взять lease, бэкап и хэш источника. Заключить description в двойные YAML-кавычки с корректным экранированием; для этой строки допустимы JSON-style escapes. Сохранить исходное значение, остальные строки и окончания строк. Не сокращать содержание попутно.
6. Повторить parser scan, проверить равенство значения description и отсутствие некорректных Unicode-ошибок. Остальные ошибки назвать отдельно, не объявлять весь каталог здоровым.

## 3. Ветка `NODE_MODULE_VERSION` / better-sqlite3

1. Найти активную версию agent-cli по свежему worker-log. Её bundled node и библиотека могут отличаться от системного Node. Записать `process.version`, `process.versions.modules`, platform/arch и версию better-sqlite3.
2. Воспроизвести bundled node. PowerShell: `& $bundledNode -e "const D=require(process.argv[1]); const db=new D(':memory:'); console.log(db.prepare('select 1 as ok').get()); db.close();" $modulePath`, где обе переменные содержат обнаруженные абсолютные пути к bundled node.exe и каталогу модуля better-sqlite3 (не к бинарнику .node). Не открывать реальные базы.
3. При подтверждённом ABI mismatch подобрать официальный prebuild ТОЙ ЖЕ версии библиотеки под фактические ABI, ОС и architecture. Проверить официальный release metadata/digest. Без совпадения не заменять бинарник; не брать случайный DLL и не ставить global npm как лечение.
4. Распаковать в staging, проверить состав архива и протестировать staged nativeBinding в памяти. Затем штатно остановить использующий модуль worker/приложение, сохранить старый бинарник и SHA256, заменить только доказанно несовместимый файл.
5. Перезапустить штатно; повторить SQL-test и проверить свежие worker-start/pipe-ready события. Это доказывает worker, но ещё не успешный чат. Для отката при остановленном потребителе вернуть именно свой бэкап и сверить хэш.
6. Прецедент 04.10.2026: Node 24.5.0 ABI137, better-sqlite3 12.11.1 был ABI127. Это исторические значения, не параметры будущего ремонта. Обновление Cursor может заменить весь version directory.

## 4. Закрытие ремонта

- Два отдельных новых чата на исходной модели должны вернуть разные заданные маркеры без tools/file access. Сохранить время и видимое подтверждение каждого; успех SQL или worker отдельно не засчитывать.
- Сопоставить свежие логи с каждым тестом. Если UI/лог расходятся, результат не доказан. Для start-only инцидента проверять окно и повторную штатную активацию; Agent не объявлять проверенным без ответов.
- Назвать изменённые файлы, бэкапы/откат, независимое ревью и пределы проверки. Изменение исходника скилла требует проверки YAML у реального потребителя до завершения.
- Записать ts, node, actor, event, outcome в существующий журнал ремонта/изменений. Без новой фоновой автоматики; секреты и private prompts не переносить в публичный отчёт.

Прецедент: Cursor 3.23.12, session-groups/SKILL.md исправлен одной строкой, значение description сохранено. Из 208 скиллов некорректные Unicode-ошибки 1 → 0; шесть иных YAML-ошибок оставлены отдельно. Два новых чата дали CURSOR_OK и CURSOR_SECOND_OK. Бинарный ремонт один новые чаты не восстановил; второй дефект был необходимой частью решения.

<!--kit-footer-->

---

**Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.

Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).

Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)

**Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…