К основному содержанию
скилл CX Codex

sync-debug — скилл для Claude Code: диагностика синхронизаций

Скилл разбирает сбои синхронизации по логам и коду, а затем предлагает исправление и проверку. Пригодится, когда запуск завершился ошибкой или вернул неверные данные.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add makenotion/notion-cookbook --skill sync-debug -a claude-code
Открыть на GitHub

Что делает sync-debug

Скилл проверяет состояние синхронизаций и последние запуски через ntn workers, получает логи и сопоставляет ошибки с кодом в src/index.ts и импортируемых модулях. Он помогает разбирать ошибки авторизации и лимитов запросов, проблемы состояния и схемы, пустые результаты, тайм-ауты и зацикливание.

После диагностики скилл может внести правку в код, предложить проверить типы командой npm run check, а затем проверить синхронизацию через preview или повторный запуск. Для работы нужны команда ntn и доступ к проекту с кодом синхронизации. Сброс состояния запускает полную повторную загрузку данных, поэтому перед ним проверьте, что это допустимо для проекта.

Какие задачи решает

  • найти причину сбоя по логам запуска
  • сопоставить ошибку API с кодом синхронизации
  • разобраться, почему синхронизация возвращает пустой результат
  • проверить, почему курсор не продвигается
  • подготовить исправление и проверить типы

Примеры запросов агенту

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

Как установить sync-debug

1Через Skills CLI (Vercel)

npx skills add makenotion/notion-cookbook --skill sync-debug -a claude-code

2Вручную: положить файлы

~/.claude/skills/sync-debug/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/sync-debug/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о sync-debug

Как установить sync-debug в Claude Code?

Выполните npx skills add makenotion/notion-cookbook --skill sync-debug -a claude-code. Файл скилла находится по пути ~/.claude/skills/sync-debug/SKILL.md.

Что делает sync-debug?

Он получает состояние запусков и логи, сопоставляет ошибки с кодом синхронизации и помогает подготовить исправление и проверить его.

Что нужно для работы sync-debug?

Нужны команда ntn и доступ к коду синхронизации, включая src/index.ts и используемые модули.

Исходный текст

SKILL.md · MIT
---
name: sync-debug
description: Diagnose a failing or misbehaving sync — fetch run logs, identify errors, cross-reference with code, and suggest fixes
user-invocable: true
disable-model-invocation: true
allowed-tools: ["Read", "Bash", "Glob", "Grep", "Edit", "Write"]
---

## Instructions

Help the user figure out why their sync is failing or producing wrong results. Work through the steps below systematically.

### Step 1: Get Current State

Run these commands to understand the situation:

```shell
ntn workers sync status
```

Note which syncs are listed, their status, last run time, and next scheduled run. Look for syncs that are stuck, failing, or haven't run recently.

### Step 2: Fetch Recent Runs

```shell
ntn workers runs list
```

Look for runs with non-zero exit codes (shown in red in table output). Note the run IDs for failed runs.

### Step 3: Get Logs

For the most recent run (any capability):

```shell
ntn workers runs list --plain | head -n1 | cut -f1 | xargs -I{} ntn workers runs logs {}
```

For the most recent run of a specific sync:

```shell
ntn workers runs list --plain | grep <syncKey> | head -n1 | cut -f1 | xargs -I{} ntn workers runs logs {}
```

Read the full log output. Look for error messages, stack traces, and any `console.log` output from the sync code.

### Step 4: Read the Sync Code

Read `src/index.ts` (and any imported modules) to understand the sync's logic. Cross-reference the error from the logs with the code.

### Step 5: Diagnose

Common failure patterns and their fixes:

**API Authentication Errors (401/403)**

- Check if OAuth is configured: `ntn workers oauth token <oauthKey>`
- Check environment variables: `ntn workers env list`
- If env vars are missing remotely: `ntn workers env push`
- If OAuth token expired: `ntn workers oauth start <key>` to re-authenticate

**Rate Limiting (429)**

- Reduce batch size in the sync code
- Add delays between API calls if needed
- Check if the API has documented rate limits

**Timeout / Long Execution**

- The execute function is taking too long per call
- Reduce batch size (fewer records per page)
- Simplify per-record processing (defer heavy transforms)

**Cursor / State Errors**

- TypeError on state access: probably a first-run issue (state is undefined)
- State shape changed after a code update: the persisted state from the previous run has the old shape
- Fix: `ntn workers sync state reset <key>` to clear state and re-backfill from scratch

**Schema Mismatch**

- Properties in `changes` don't match the `schema.properties` definition
- Check that every key in the `properties` object of each change matches a key in the schema
- Check that `Builder.title()` is used for `Schema.title()` properties, `Builder.richText()` for `Schema.richText()`, etc.

**Infinite Loop (sync never completes)**

- `hasMore` is always `true` — the cursor isn't advancing
- Check that `nextState` changes between iterations
- Check the termination condition: is it reachable?

**Empty Results**

- API returning no data: test the API call directly (curl or local exec)
- Wrong endpoint or query parameters
- Auth working but insufficient permissions/scopes

**Network / Transient Errors**

- Single occurrence: may be transient — check if subsequent runs succeeded
- Repeated: check the API endpoint URL, DNS, connectivity
- Force a retry: `ntn workers sync trigger <key>`

### Step 6: Fix and Verify

After identifying the issue:

1. Apply the fix to the code
2. Run `npm run check` to verify types
3. If the state shape changed, warn the user they may need `ntn workers sync state reset <key>` (this triggers a full re-backfill)
4. Deploy and preview to verify: suggest `/sync-preview` or run `ntn workers deploy && ntn workers sync trigger <key> --preview`
5. When the fix is verified, `ntn workers sync trigger <key>` to resume

© makenotion · MIT · makenotion/notion-cookbook

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →
mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок claude-api официальный anthropics Справочник по Anthropic SDK и API Claude для генерации кода без устаревших параметров и выдуманных методов. 74 198установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. CX Codex +1 472 900установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. CX Codex +1 466 800установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. CX Codex +1 104 400установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок

Из того же набора20

workflow-guide Руководство для агента по написанию надёжных воркфлоу в Notion Cookbook с изолированными шагами, защитой от повторов и безопасным реплеем данных. CX Codex +1 ★ 220звёзд репо sync Скилл помогает спроектировать и добавить синхронизацию данных в Notion Worker. Подходит, когда нужно выбрать режим, схему и пагинацию. CX Codex +1 ★ 220звёзд репо sync-validate Скилл проходит по коду синхронизации и ищет типичные баги: курсор не двигается, пагинация не завершается, теряются удаления. CX Codex +1 ★ 220звёзд репо sync-guide Скилл учит ассистента проектировать интеграции с Notion Workers: настраивать пакетную загрузку, разделять backfill и delta-потоки и удалять устаревшие записи. CX Codex +1 ★ 220звёзд репо custom-blocks Помогает собрать интерактивный интерфейс внутри Notion, который читает и меняет данные рабочего пространства. CX Codex +1 ★ 220звёзд репо auth-guide Настраивает авторизацию во внешних сервисах для Notion Workers: токены, проксированные учётные данные и OAuth. Пригодится при интеграции воркера со сторонними API вроде GitHub или Stripe. CX Codex +1 ★ 220звёзд репо workflow Помогает создавать и проверять workflow для Notion App с типизированными триггерами и безопасными при повторном запуске шагами. Перед правками он требует прочитать инструкцию SDK. CX Codex +1 ★ 220звёзд репо sync Помогает писать, отлаживать и проверять синхронизацию баз данных Notion App: стабильные ключи и пагинация с продолжением. CX Codex +1 ★ 220звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой