storybloq
Storybloq/storybloqCLI + MCP-сервер + скилл /story для Claude Code. Хранит тикеты, задачи, роадмап и передачи сессий в директории .story/, обеспечивая непрерывность работы между сессиями.
Установка
claude mcp add storybloq -s user -- storybloq --mcpREADME
storybloq
Персистентность контекста между сессиями для AI-разработки. Файловое соглашение, CLI, MCP-сервер и скилл для Claude Code, которые вместе превращают каждую сессию в строительный блок, а не в сброс к нулю.
storybloq.com · Mac-приложение · Review lenses · Политика конфиденциальности
Проблема
AI-ассистенты для разработки не имеют состояния. Каждая новая сессия начинается с нуля. Модель не знает, что было сделано вчера, что сломано, какие решения были приняты и над чем работать дальше. Разработчики компенсируют это файлами CLAUDE.md и разрозненными заметками, но нет стандартной структуры, непрерывности сессий и инструментария.
Настоящая цена — не потраченное время на настройку. Это повторяющиеся ошибки, пересмотр принятых решений, галлюцинированный контекст и линейная работа вместо накопительной.
Идея
Каждый проект получает директорию .story/ с JSON- и markdown-файлами. Тикеты, задачи, фазы роадмапа, передачи сессий и извлечённые уроки хранятся там, отслеживаются через git и читаются любым AI.
- CLI:
storybloq— просмотр и изменение.story/из терминала. - MCP-сервер: 43 инструмента, которые Claude Code вызывает напрямую без запуска подпроцессов.
- Скилл:
/storyзагружает состояние проекта в начале каждой сессии, чтобы Claude Code продолжал ровно с того места, где остановилась предыдущая сессия. - Mac-приложение: нативная боковая панель, которая следит за
.story/и обновляется в реальном времени пока Claude работает (отдельный продукт, бесплатно в App Store).
Установка
npm install -g @storybloq/storybloq
storybloq setup-skillТребуется Node.js 20+ и Claude Code.
setup-skill устанавливает скилл /story глобально в ~/.claude/skills/story/, регистрирует этот пакет как MCP-сервер и настраивает хук PreCompact, который автоматически создаёт снимок состояния перед сжатием контекста. Повторный запуск безопасен.
Альтернативная установка через систему плагинов Claude Code: см. Storybloq/plugin-archive (устаревший путь; рекомендуется setup-skill).
Инициализация проекта
cd your-project
storybloq init --name "your-project"Создаёт следующую структуру:
.story/
├── config.json конфиг проекта + переопределения рецептов
├── roadmap.json порядок фаз + метаданные
├── tickets/ T-001.json, T-002.json, ...
├── issues/ ISS-001.json, ISS-002.json, ...
├── notes/ N-001.json, N-002.json, ...
├── lessons/ L-001.json, ...
├── handovers/ YYYY-MM-DD-<slug>.md
└── snapshots/ снимки состояния (в .gitignore)
Коммитьте всё, кроме .story/snapshots/.
Ежедневное использование
Внутри Claude Code:
/story— загружает статус проекта, читает последнюю передачу сессии, показывает открытые тикеты и задачи, перечисляет заблокированные работы, суммирует последние изменения./story auto T-001 T-002 ISS-013— автономный режим, ограниченный указанными элементами. Проводит тикет через этапы: план → ревью плана → реализация → тесты → ревью кода → коммит с передачами сессии на каждом контрольном пункте./story review T-001— запускает многоуровневое ревью (см. Storybloq/lenses) по диффу тикета./story handover— записывает передачу сессии с решениями, блокерами и следующими шагами.
Вне Claude Code то же состояние доступно одной командой storybloq.
Справочник CLI
Все команды принимают --format json|md (по умолчанию md). Передавайте JSON через jq для скриптинга, читайте markdown-вариант напрямую.
Проект
| Команда | Описание |
|---|---|
storybloq init [--name] [--force] | Создать .story/ в текущей директории |
storybloq status | Сводка проекта: статусы фаз, счётчики и риски |
storybloq validate | Проверка целостности ссылок и схемы |
storybloq setup-skill [--skip-hooks] | Установить скилл /story + зарегистрировать MCP + хук PreCompact |
storybloq recommend --count N | Контекстно-зависимые предложения по работе |
Фазы
| Команда | Описание |
|---|---|
storybloq phase list | Все фазы с вычисленным статусом (статус вычисляется из тикетов, не хранится) |
storybloq phase current | Первая незавершённая фаза |
storybloq phase tickets --phase <id> | Листовые тикеты фазы |
storybloq phase create --id --name --label --description [--summary] --after/--at-start | Создать фазу |
storybloq phase rename <id> [--name] [--label] [--description] [--summary] | Обновить метаданные фазы |
storybloq phase move <id> --after/--at-start | Изменить порядок |
storybloq phase delete <id> [--reassign <target>] | Удалить (переназначить тикеты) |
Тикеты
| Команда | Описание |
|---|---|
storybloq ticket list [--status] [--phase] [--type] | Список листовых тикетов (зонтичные исключены) |
storybloq ticket get <id> | Полная информация о тикете |
storybloq ticket next | Незаблокированный тикет с наивысшим приоритетом |
storybloq ticket blocked | Все заблокированные тикеты |
storybloq ticket create --title --type --phase [--description] [--blocked-by] [--parent-ticket] | Создать |
storybloq ticket update <id> [--status] [--title] [--phase] [--order] ... | Обновить |
storybloq ticket delete <id> [--force] | Удалить |
Задачи (Issues)
| Команда | Описание |
|---|---|
storybloq issue list [--status] [--severity] | Список задач |
storybloq issue get <id> | Детали задачи |
storybloq issue create --title --severity --impact [--components] [--related-tickets] [--location] | Создать |
storybloq issue update <id> [--status] [--title] [--severity] ... | Обновить |
storybloq issue delete <id> | Удалить |
Заметки и уроки
| Команда | Описание |
|---|---|
storybloq note list · note get · note create · note update | Мозговой штурм и фиксация идей |
storybloq lesson list · lesson get · lesson create · lesson update · lesson reinforce | Переиспользуемые паттерны и антипаттерны |