Skip to content
Development
Skill

/hookify

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

From plugin
vibe-dev
529 skills24 agents7 hooks
Install
$ npx -y skills add andrewcigan/vibe-dev-plugin --skill hookify --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/hookify

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

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
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.

Get the whole plugin

Other skills on vibe-dev.

architecture
Skill

architecture

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

checkpoint
Skill

checkpoint

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

critique
Skill

critique

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