Writ — плагин

Writ превращает правила процесса в проверки при вызове инструментов: Claude Code не пишет код, пока вы не одобрили план и тесты

  • 317 ★ репозитория
  • Последний коммит
  • MIT
Плагин

Широкий доступ

Почему такой уровень

  • Скрипт `bootstrap-plugin.sh` создает окружение, запускает Neo4j в Docker и правит `~/.claude/settings.json`, `~/.claude/CLAUDE.md` и слэш-команды
  • Хуки видят каждый вызов инструмента, журнал `audit.jsonl` хранится в `~/.local/state/writ/logs`
  • Демон слушает localhost без аутентификации и обслуживает хуки и CLI
Все причины и проверки

infinri/writ

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add plugins/writ

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Скрипт `bootstrap-plugin.sh` создает окружение, запускает Neo4j в Docker и правит `~/.claude/settings.json`, `~/.claude/CLAUDE.md` и слэш-команды
  • Хуки видят каждый вызов инструмента, журнал `audit.jsonl` хранится в `~/.local/state/writ/logs`
  • Демон слушает localhost без аутентификации и обслуживает хуки и CLI

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Writ — плагин для Claude Code, который выносит правила рабочего процесса из подсказок в код. Он состоит из хуков на события Claude Code, локального демона и базы Neo4j в Docker, где хранятся правила и записи о решениях. Запись исходного кода до утвержденного плана блокируется на уровне хука. В режиме `work` между запросом и первой записью кода стоят два шлюза: утвержденный план в `plan.md` и утвержденные скелеты тестов. Шлюз открывает только ваш ответ `approved` на просьбу агента, сам агент одобрить себя не может. Если `plan.md` изменили после одобрения, записи снова блокируются до нового `approved`. Пути с учетными данными, например `.env`, `*.key` и `~/.ssh/`, закрыты всегда. На каждый запрос Writ подмешивает подходящие правила, методику и прошлые решения, а при коммите связывает изменения файлов с планом. Команда `writ recall` показывает записанные решения, `writ audit-session` печатает хронологию отказов и одобрений. В комплект входят пять агентов: исследователь, планировщик, исполнитель, автор тестов и ревьюер.

Для кого. Разработчикам на Claude Code, которым нужен проверяемый порядок работы агента: план, тесты, потом код. Команды получают журнал причин правок.

Подходит, если

  • Агент берется за код сразу, без плана, а вы хотите прочитать план до первой правки
  • Правило из `CLAUDE.md` теряется в длинной сессии, и требуется проверка, которая срабатывает при каждой записи
  • В команде фиксируют, почему менялся файл, а `writ recall` должен находить решение за правкой
  • Отладку надо вести от причины: режим `debug` блокирует правки кода, пока в `debug.md` не записана первопричина
  • Агентам запрещено трогать `.env`, ключи и пути вне проекта, и запрет должен действовать без их согласия

Не подходит, если

  • Машина на Windows или без Docker: плагину нужны Linux или macOS, Python 3.11 и Docker с запущенным демоном
  • Нужен быстрый черновик или одноразовый скрипт: в режиме `work` каждая запись ждет утвержденного плана и тестов
  • Агент запускается без человека, например в CI: одобрить план и тесты некому, потому что шлюзы читают ваш ответ хуком отправки промпта

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

Добавь в `src/textutil.py` функцию `slugify()` с тестами. Сначала покажи план и жди моего approved

Ограничения

  • Writ ограничивает кооперативного агента и не заменяет песочницу. Проверка команд оболочки строится на шаблонах и пропускает пути из переменных, `eval` и тела `sh -c`.
  • Шлюзы проверяют, что план и тесты существуют в нужной форме. Качество плана и утверждений в тестах оценивает человек.
  • Демон слушает localhost без аутентификации. Часть проверок только сообщает о находках и ничего не блокирует.
  • Рост качества кода от доставки правил агенту автор экспериментами не подтвердил.

Как отключить. Отключите или удалите плагин через меню `/plugin` и перезапустите Claude Code. Скрипт установки менял `~/.claude/settings.json` и `~/.claude/CLAUDE.md`, поэтому проверьте эти файлы и остановите контейнер Neo4j.

Частые вопросы

Как поставить Writ в Claude Code?

Выполните `claude plugin marketplace add infinri/Writ` и `claude plugin install writ@writ`. Откройте Claude Code в проекте, Writ напечатает команду `bash <plugin root>/scripts/bootstrap-plugin.sh`, ее запускают в терминале. После сообщения `Writ plugin is ready` перезапустите Claude Code и проверьте `writ status`.

Почему Writ заблокировал запись файла?

В режиме `work` пока нет утвержденного плана и скелетов тестов, блокируется любая запись кода. Прочитайте план, ответьте `approved` целым сообщением после просьбы агента, затем так же утвердите тесты. Причину отказа разбирает раздел «Why was I blocked?» в `docs/install.md`.

Может ли агент одобрить свой план сам?

Нет. Хук события отправки промпта читает ваш ответ и выпускает одноразовый токен под текущий шлюз и отпечаток `plan.md`. Файлы токенов и состояния сессии защищены от записи агентом, а попытка без токена отклоняется и попадает в журнал.

Чем Writ отличается от правил в `CLAUDE.md`?

Правило в `CLAUDE.md` агент должен найти, удержать и применить сам. Writ проверяет действие кодом в момент вызова инструмента и блокирует запись. Правила Writ тоже попадают в контекст, но блокируют записи только хуки, текст правила остается подсказкой.

Какие режимы есть в Writ?

Пять: `conversation`, `review`, `investigate`, `debug` и `work`. Шлюзы плана и тестов действуют только в `work`, а `debug` блокирует правки кода до записи первопричины. Режим выбирается автоматически по запросу или командой `writ mode set <режим> <session_id>`.

Обсуждение

Вопросов и отзывов пока нет.

Плагины

Рабочий процесс из 13 скиллов для кодового агента: идея, план, ревью, проверка безопасности, тесты и выпуск

ПлагинРасширенный доступ208Звезды репозитория

Рабочая конфигурация Claude Code: планировщик с ревью по этапам, субагенты и скиллы анализа, рефакторинга и синхронизации документации

СкиллРасширенный доступ916Звезды репозитория

planr хранит задачи агентной разработки в Markdown-файлах Git и показывает, что готово, заблокировано и ждет решения

ПлагинМинимальный доступ74Звезды репозитория

Плагин для Claude Code и Codex вводит режимы xdo, xdel и xflow: главный агент планирует, исполнитель кодит, оценщик проверяет.

ПлагинРасширенный доступ54Звезды репозитория

Плагин Claude Code для разработки с разделением ролей: спецификация, ревью, TDD, QA и верификация разными агентами

ПлагинШирокий доступ66Звезды репозитория
Выбор редакции

Скилл /improve: сильная модель проверяет репозиторий и пишет самодостаточные планы правок, а исполнение отдаете более дешевой модели

СкиллРасширенный доступ11,4 тыс.Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Writ (эта карточка)нет317
HOL Guardда1 094проверяет опасные команды, чтение секретов и установку пакетов, а порядок план-тесты-код не навязывает
TDD Guardнет2 375блокирует код без падающего теста и не требует утвержденного плана
Superpowersнет316 679набор скиллов с процессом разработки, процесс держится на подсказках, блокировок хуками в нем нет

Коротко о README

README открывают демо на 81 секунду и таблица шлюзов со всеми кодами отказов вроде `[ENF-GATE-PLAN]`. Дальше разобран пример сессии от запроса до коммита, режимы работы и три слоя: контекст, принудительные проверки, непрерывность. Раздел о пределах приводит измерения поиска правил на 193 запросах и отмечает, что рост качества кода не подтвержден экспериментом.

Бейдж для README

Сообщить о проблеме