Pomodoro
jakedahn/pomodoroЭталонная реализация паттерна System Skill для Claude: CLI-инструмент + SKILL.md + SQLite-база. Демонстрирует, как строить навыки, которые накапливают контекст, учатся на истории сессий и дают всё более точные инсайты со временем.
Установка
git clone https://github.com/jakedahn/pomodoro.gitREADME
Pomodoro — эталонная реализация System Skill

Рабочий пример паттерна System Skill — подхода к созданию навыков Claude, которые сохраняют состояние, учатся на истории и со временем дают всё более полезные инсайты.
Паттерн: CLI + SKILL.md + Database
Дайте Claude инструмент командной строки, инструкции по работе с системой и базу данных для хранения информации. Наблюдайте, как он запускает собственный цикл OODA (Observe, Orient, Decide, Act) — накапливая контекст, который растёт от сессии к сессии.
Этот таймер Pomodoro демонстрирует паттерн примерно в 600 строках кода. Реализация намеренно простая, чтобы вы могли увидеть, как части складываются вместе, и построить собственную.
Быстрая установка
# Добавить маркетплейс (однократная настройка)
/plugin marketplace add jakedahn/pomodoro
# Запустить скрипт установки
~/.claude/plugins/marketplaces/pomodoro/install.shНавык Pomodoro будет установлен в ~/.claude/skills/pomodoro/ и сразу доступен в Claude Code.
Требования: macOS с Apple Silicon (arm64). Для других платформ см. раздел Сборка из исходников.
Использование
После установки просто попросите Claude помочь с Pomodoro:
"Start a pomodoro for writing documentation"
"What did I work on today?"
"How productive was I this week?"
"What times do I work best?"
"Let's do flash cards, start 5 2min/1min pomodoro cycles"
Claude будет использовать навык Pomodoro для:
- Запуска 25-минутных таймеров фокусировки
- Отслеживания всех сессий
- Анализа паттернов продуктивности
- Предложения оптимального времени для работы
Паттерн System Skill
Данная реализация демонстрирует три компонента, работающих вместе и создающих систему, которой Claude может управлять:
1. CLI-бинарник
Самостоятельный исполняемый файл, предоставляющий Claude рычаги управления системой:
./pomodoro start --task "Deep work on authentication"
./pomodoro stats --period week
./pomodoro history --days 30Ключевые свойства:
- Самодостаточен (без зависимостей среды выполнения, без конфигурации)
- Подробная документация
--helpдля каждой команды
CLI Pomodoro предоставляет пять основных команд:
start— начать 25-минутную сессию фокусировкиstop— досрочно завершить текущую сессиюstatus— проверить, запущен ли таймерhistory— просмотреть прошлые сессииstats— проанализировать паттерны продуктивности
2. SKILL.md
Руководство, которое учит Claude думать о системе и управлять ею:
- Что такое система и когда её использовать
- Какие команды запускать в разных ситуациях
- Как интерпретировать вывод и искать паттерны
- Ментальная модель и поток принятия решений
Здесь вы описываете операционную процедуру. Claude использует её для запуска цикла OODA — наблюдает за сессиями, ориентируется в паттернах, решает, когда вмешаться, и действует, запуская CLI-команды.
3. SQLite-база данных
Постоянное хранилище, накапливающее ценность со временем. В данном случае — простая схема:
CREATE TABLE sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
task TEXT NOT NULL,
duration INTEGER NOT NULL,
started_at TEXT NOT NULL,
completed_at TEXT
);Почему SQLite:
- Самодостаточна (просто файл, рядом с CLI)
- Нулевая конфигурация
- Легко создавать резервные копии и восстанавливать
- Claude может делать прямые запросы при необходимости
Всё вместе
Вы просите Claude запустить pomodoro. Claude читает SKILL.md, видит, что нужно выполнить ./pomodoro start, запускает CLI. CLI записывает строку в SQLite. Сессия завершена.
Три недели спустя вы спрашиваете Claude о своей продуктивности. Он запускает ./pomodoro stats --period week, получает JSON со всеми сессиями и делает вывод, что утренние сессии вы всегда завершаете, а дневные — бросаете на полпути.
Магия — в накоплении. Каждая сессия добавляет контекст. Система умнеет со временем.
Технические детали
Структура репозитория
pomodoro-repo/ # Корень репозитория
├── .claude-plugin/
│ ├── plugin.json # Манифест плагина
│ └── marketplace.json # Конфигурация маркетплейса
├── skills/
│ └── pomodoro/ # Навык Pomodoro (регистрируется автоматически)
│ ├── SKILL.md # Инструкции для Claude
│ ├── README.md # Техническая документация
│ ├── bin/
│ │ └── pomodoro # Скомпилированный бинарник
│ └── scripts/ # Исходный код
│ ├── pomodoro.ts # CLI-интерфейс (~290 строк)
│ ├── timer.ts # Логика таймера (~83 строки)
│ ├── db.ts # Операции с базой данных (~171 строка)
│ └── build.sh # Скрипт сборки
└── README.md # Этот файл (документация репозитория)
Сборка из исходников
Если вы хотите изменить или пересобрать:
./build.sh
Требования:
- Deno 2.5 или новее
- Скрипт сборки компилирует под вашу текущую платформу
О сборке:
- Использует
deno compileдля создания самостоятельного бинарника - Разрешения безопасности встроены на этапе компиляции:
- Нет доступа к сети
- Нет доступа к переменным окружения
- Чтение и запись файлов на диске
- Подробнее см. модель безопасности Deno
Создание собственного System Skill
Данная реализация намеренно проста и служит эталоном:
- ~600 строк чистого, читаемого кода
- Одна таблица в схеме базы данных
- Нулевые зависимости в среде выполнения
- Полный исходный код включён
Изучите код, чтобы понять, как это работает, затем создайте своё:
Менеджер личных финансов
- CLI:
money tx list,money note abc-123 "unexpected road trip!",money cat abc-123 "vacation" - База данных: таблица банковских транзакций и транзакций по кредитным картам
- Результат: Claude отслеживает тенденции расходов и спрашивает об аномалиях
Менеджер личных проектов
- CLI:
task new "rake the leaves",task update T-123 --status=done,task kanban - База данных: задачи со статусом, сроком и приоритетом
- Результат: «Каковы мои три главных приоритета на неделю?»
Дневник благодарности
- CLI:
thankful "for my cat",thankful trends - База данных: записи с датой и текстом
- Результат: Claude замечает темы и напоминает о том, что важно