Skip to content
Development
Skill

/hookify

Превращает коррекцию пользователя «больше не делай X» в исполняемое правило (block/warn через PreToolUse-хук) без кода. Триггеры — "/hookify", "запрети X", "больше так не делай", "правило: никогда не Y", "захукай это".

From plugin
vibe-dev
529 skills24 agents7 hooks

Claude Code

$ npx -y skills add andrewcigan/vibe-dev-plugin --skill hookify --agent claude-code

SKILL.md

hookify.SKILL.md
name: hookify
description: Превращает коррекцию пользователя «больше не делай X» в исполняемое правило (block/warn через PreToolUse-хук) без кода. Триггеры — "/hookify", "запрети X", "больше так не делай", "правило: никогда не Y", "захукай это".
when_to_use: Когда пользователь хочет заморозить свою коррекцию в постоянный механизм, чтобы агент не повторял ошибку — особенно сразу после того, как агент сделал нежелательное действие и пользователь поправил.
disable-model-invocation: true

/hookify — заморозить коррекцию в правило

Берёт «больше не делай X» и превращает в правило `.harness/user-rules.json`, которое PreToolUse-хук (`hooks/checks/user-rules.sh`) применяет ко всем будущим действиям. Непрограммист получает реальный enforcement без написания кода. Закрывает R6/H9/H18.

Шаг 0: Граница — действие или контент сообщения?

**Хук видит ДЕЙСТВИЯ (команды Bash, пути файлов в Write/Edit), НЕ контент моих сообщений.**

  • ✅ **Захукиваемо** (действие): «не делай force-push», «не правь файлы в `migrations/` без ревью», «не запускай `rm -rf` вслепую», «не ставь пакеты глобально», «не коммить прямо в main».
  • ❌ **НЕ захукиваемо** (контент сообщения): «не давай технические развилки A/B без объяснения», «не используй жаргон», «не оценивай в человеко-днях», «пиши короче». Это display-only — я читаю оригинал своего текста, хук не может его enforce'ить (ограничение SDK; см. отложенный H5).

Если коррекция про **контент сообщения** — честно сказать: «это правило хуком не enforce'ится, могу записать как discipline-заметку в SESSION.md / memory, но это не механизм, а напоминание». **НЕ фабриковать правило-пустышку**, которое не сработает (декларация под видом enforcement).

Шаг 1: Извлечь намерение

  • **tool** — какой инструмент ловим: `Bash` (команды), `Write`/`Edit`/`MultiEdit` (файлы), или `*` (любой целевой).
  • **match** — regex по subject (Bash → по тексту команды; Write/Edit → по пути файла). Паттерн ТОЧНЫЙ, чтобы не ловить лишнее.
  • **action** — `warn` (по умолчанию, мягко: предупреждение, действие проходит) или `block` (жёстко: действие отменяется). `block` — только если пользователь явно хочет жёсткий запрет.
  • **message** — текст при срабатывании (по-русски, по-человечески, без жаргона).

Шаг 2: Показать правило и подтвердить

Показать готовое правило простым языком + вариант, спросить «такое записать?». Для `block` подтверждение **обязательно** (это жёсткая отмена действий).

Пример: «Запрещу force-push: любая Bash-команда с `push … --force` будет ОТМЕНЕНА с пояснением. Записать как жёсткий запрет?»

Шаг 3: Записать в `.harness/user-rules.json`

mkdir -p .harness
F=.harness/user-rules.json
[ -f "$F" ] || echo '[]' > "$F"
jq '. += [{"id":"<уникальный-id>","tool":"<Bash|Write|Edit|MultiEdit|*>","match":"<regex>","action":"<warn|block>","message":"<текст>"}]' "$F" > "$F.tmp" && mv "$F.tmp" "$F"
jq . "$F"   # проверка: валидный JSON + правило на месте

Шаг 4: Сообщить

Правило активно **СРАЗУ** — PreToolUse-проверка читает файл на каждом действии, рестарт не нужен (событие уже подключено). Активно в профилях `standard`/`strict` (в `minimal` — off). Сказать пользователю, что коррекция заморожена и с этого момента действует.

Анти-паттерны

  • ❌ Фабриковать правило для контент-коррекции (жаргон / A-B / человеко-дни) — хук это не ловит. Честно сказать «не механизм».
  • ❌ Слишком широкий regex (ловит лишние команды) — паттерн точным.
  • ❌ `block` без явного подтверждения — block отменяет действия.
  • ❌ Молча записать правило — всегда показать и подтвердить.
Read more
@andrewcigan
Ships withvibe-dev

🌐 English: this file · Русский: README.ru.md A harness-first plugin that turns a business idea into a shipped product — for founders who build with Codex and Claude Code.

529 skills24 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
5
Star history of andrewcigan/vibe-dev-plugin on GitHub, a chart by star-history.com

Other skills on vibe-dev.

architecture

architecture

V0 архитектура с TOC bottleneck-анализом. Запускает architect (Fable 5.1). ≤10 компонентов, Mermaid диаграмма, invariants как…

audit

audit

7-tuple оценка здоровья проекта (Instructions / State / Verification / Scope / Lifecycle / Learning / Cost-Safety) через ВНЕШНЕГО…

checkpoint

checkpoint

Управляемый чекпоинт состояния в файлы посреди работы — вместо авто-сжатия («рулетки»). Перезаписывает Current State,…

choose-stack

choose-stack

Выбор стека под bottleneck архитектуры. Запускает stack-advisor (Fable 5.1). Использует 2026 tech-updates (opendataloader-pdf,…

critique

critique

FULL этап 5 — автономный critique long-list идей. Запускает idea-critic (Sonnet), который отсеивает hard-filters и оставляет…

design-handoff

design-handoff

Бриф для Claude Design (claude.ai/design) по формуле C.R.O.P. Плагин не рисует UI сам — готовит handoff. Запускает…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about hookify.

Which coding agents can use hookify?
hookify installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.