prek — скилл для агентов

prek skill

Скилл prek учит агента настраивать Git-хуки на prek, Rust-замене pre-commit: конфиг, шимы, приоритеты, встроенные хуки и монорепозитории

  • 8 673 ★ репозитория
  • Последний коммит
  • MIT
СкиллОфициальный

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

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

  • Команда `prek install` ставит шимы в каталог хуков Git, и они выполняются при каждом коммите и пуше
  • Хуки из удаленных репозиториев prek скачивает, ставит им окружения и запускает, то есть исполняет сторонний код
  • Форматтеры и исправляющие хуки правят файлы в рабочем дереве, а команда `prek update` обращается к сети за новыми ревизиями
Все причины и проверки

j178/prek

Установка

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

npx skillfoxx add skills/prek-skill

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

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

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

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

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

  • Команда `prek install` ставит шимы в каталог хуков Git, и они выполняются при каждом коммите и пуше
  • Хуки из удаленных репозиториев prek скачивает, ставит им окружения и запускает, то есть исполняет сторонний код
  • Форматтеры и исправляющие хуки правят файлы в рабочем дереве, а команда `prek update` обращается к сети за новыми ревизиями

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

Что делает

Скилл `prek` из репозитория prek объясняет агенту, как настраивать и запускать Git-хуки с помощью prek, Rust-реализации pre-commit. Сначала агент открывает индекс документации `llms.txt` на prek.j178.dev и берет подробности со страниц в формате Markdown. Для нового проекта скилл советует конфиг `prek.toml`, а при существующем `.pre-commit-config.yaml` оставляет его и меняет только команду с `pre-commit` на `prek`. Он описывает четыре вида репозиториев хуков: удаленный, `local`, `meta` и `builtin`, фильтры по регулярным выражениям и по маскам `glob`, поле `priority` для порядка и параллельного запуска, а также поля `env`, `priorities`, `minimum_prek_version` и `orphan`. Порядок работы такой: проверить, есть ли старый конфиг, поставить prek, проверить конфиг командой `prek validate-config`, установить шимы Git и подготовить окружения хуков командой `prek install --prepare-hooks`, затем прогнать `prek run --all-files`. При переходе с pre-commit шимы переустанавливают с флагом `-f`, а YAML переводит в TOML команда `prek util yaml-to-toml`. Для монорепозиториев скилл предлагает режим рабочих областей, вложенные конфиги, `.prekignore` и `orphan`. В скилле перечислены 24 встроенных хука без сети, от `trailing-whitespace` и `check-yaml` до `detect-private-key` и `check-signed-commit`.

Для кого. Для разработчиков, которые ведут проверки перед коммитом через pre-commit или хотят перейти на быстрый однофайловый prek, и для агентов, которым поручают настроить хуки в репозитории.

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

  • В репозитории нет хуков, и нужно настроить форматирование, линтеры и проверку файлов перед коммитом
  • Проект уже на `.pre-commit-config.yaml`, и нужно перейти на prek без смены конфига
  • Нужен конфиг `prek.toml` с приоритетами хуков и параллельным запуском
  • Монорепозиторий с вложенными проектами требует отдельных конфигов, `.prekignore` и изоляции через `orphan`
  • Нужны хуки без загрузки репозиториев: встроенные хуки с `repo: builtin` работают офлайн

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

  • Нужна переносимость конфига на исходный pre-commit: тогда скилл советует оставить `.pre-commit-config.yaml` без ключей, которые есть только в prek
  • Нужно останавливать команды самого агента до запуска: хуки prek срабатывают на событиях Git, а для перехвата действий агента в каталоге есть HOL Guard
  • Язык хука не значится в справочнике Language Support: скилл просит сверить поддержку до обещаний совместимости

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

Настрой в этом репозитории prek: возьми существующий .pre-commit-config.yaml, установи хуки Git и прогони все файлы

Ограничения

  • Скилл не содержит справочника команд целиком: он отсылает к онлайн-документации prek.j178.dev и к индексу `llms.txt`. Без доступа к сайту агент получит только краткую выжимку.
  • Примеры конфигов используют многострочные встроенные таблицы из TOML 1.1. Если редактор или парсер в цепочке их не понимает, скилл предлагает записывать хуки как `[[repos.hooks]]`.
  • Хуки удаленных репозиториев, например `ruff-pre-commit`, prek скачивает и запускает, а команда `prek update` обновляет закрепленные ревизии `rev`. Сторонний код при этом выполняется на вашей машине.
  • Приоритет `priority` действует внутри одного файла конфигурации и не сравнивается между проектами рабочей области.
  • Скилл ставится командой `gh skill install`, которой нужен GitHub CLI версии 2.90.0 или новее. Документация не называет клиентов агентов. Автор отмечает, что prek еще молодой проект. Лицензия MIT.

Как отключить. Удалите папку скилла `prek` из каталога скиллов агента. Шимы, которые поставила команда `prek install`, лежат в каталоге хуков репозитория: удалите файлы `pre-commit`, `pre-push` и `commit-msg`, созданные prek. Файл `prek.toml` или `.pre-commit-config.yaml` остается в проекте.

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

Как поставить скилл prek?

Выполните `gh skill install j178/prek prek`: команде нужен GitHub CLI версии 2.90.0 или новее. Эта команда указана в документации prek в блоке про скилл для агентов.

Нужно ли переписывать конфиг pre-commit?

Нет. Скилл советует при переходе оставить `.pre-commit-config.yaml` и заменить команды с `pre-commit` на `prek`, а шимы переустановить через `prek install -f`. Если нужен новый формат, YAML переводит в `prek.toml` команда `prek util yaml-to-toml`, ручной перенос скилл не рекомендует.

Какие встроенные хуки есть в prek?

Скилл называет 24 встроенных хука с `repo: builtin`: проверки JSON, JSON5, JSONC, TOML, YAML и XML, пробелы в конце строк, конфликты слияния, закрытые ключи, крупные файлы, ветки, закрытые для коммитов и проверку подписи коммитов. Они работают офлайн и без подготовки окружения.

Как задать порядок запуска хуков?

Хуки с меньшим значением `priority` запускаются раньше, а с одинаковым могут идти параллельно. Верхнеуровневое поле `priorities` задает понятные имена для чисел. Значение действует внутри одного файла конфигурации.

Как подключить prek в монорепозитории?

Скилл предлагает режим рабочих областей вместо одного огромного корневого конфига: вложенные конфиги в подпроектах, файл `.prekignore` для исключений и поле `orphan: true`, которое изолирует вложенный проект от родительских конфигов.

Как отладить сбой хука?

Запустите `prek run -vvv` для подробного вывода или `PREK_NO_FAST_PATH=1 prek run`, чтобы сравнить встроенный быстрый путь с обычным. Переменные `PREK_HOME`, `PREK_SKIP` и лимиты параллелизма описаны в справочнике переменных окружения.

Обсуждение

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

Скиллы

Скилл KubeShark: агент сначала ищет режим отказа, потом пишет манифесты, Helm и Kustomize по официальным практикам и возвращает план проверки и отката

СкиллМинимальный доступ465Звезды репозитория

Локальный шлюз перед git push: ревью, тесты, документация и линтер проходят в отдельной копии, и только после этого ветка уходит в удаленный репозиторий

CLIШирокий доступ8,9 тыс.Звезды репозитория
Официальный

Скилл Vercel для монорепозиториев на Turborepo: настройка turbo.json, кеш, фильтры и CI по документации, которая лежит в установленном пакете

СкиллМинимальный доступ31,2 тыс.Звезды репозитория

Библиотека паттернов и скиллов для регулярных агентских циклов: разбор issue, чистка зависимостей, сопровождение PR

ПлагинШирокий доступ11,6 тыс.Звезды репозитория
Официальный

Официальный набор скиллов Grafana: PromQL, Loki, Tempo, Alloy, k6, дашборды и алертинг для Claude Code, Cursor и Codex

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

Официальные скиллы HashiCorp для Terraform и Packer: стиль HCL, модули, тесты, импорт, Stacks, разработка провайдеров и сборка образов

СкиллМинимальный доступ903Звезды репозитория

Коротко о README

В репозитории лежит исходный код prek на Rust, документация сайта в папке `docs/`, скилл в `skills/prek/SKILL.md` и `AGENTS.md` с правилами для контрибьюторов и агентов. Главная страница начинается с описания и списка возможностей: один бинарный файл без зависимостей, совместимость с конфигами pre-commit, режим рабочих областей, интеграция с `uv`. Дальше идут способы установки (скрипт для Linux и Windows, PyPI, Homebrew и другие), быстрый старт, список проектов вроде CPython, Apache Airflow и FastAPI, подключение в GitHub Actions и блок про скилл.

Бейдж для README

Исходный SKILL.md

---
name: prek
description: Use when setting up or running hooks with prek in any repository. prek is a Rust drop-in alternative to pre-commit for running Git hooks that check, format, lint, and validate code and repository files. Prefer it when speed, workspace mode, built-in hooks, shared toolchains, or native TOML configuration matter.
---

# prek

Use this skill when the user wants to set up or run Git hooks with `prek`.

`prek` is a Rust reimplementation of `pre-commit`. Its main job is to run hooks that check code and repository files before commit or on demand: formatters, linters, validators, security checks, and custom project checks.

## Start with the public docs

Use the LLM-oriented index first:

- [llms.txt](https://prek.j178.dev/llms.txt)

Per that file, prefer explicit markdown docs when you need details:

- [Introduction](https://prek.j178.dev/index.md)
- [Installation](https://prek.j178.dev/installation/index.md)
- [Quickstart](https://prek.j178.dev/quickstart/index.md)
- [Running Hooks](https://prek.j178.dev/running-hooks/index.md)
- [Cookbook](https://prek.j178.dev/cookbook/index.md)
- [Configuration](https://prek.j178.dev/configuration/index.md)
- [Monorepos](https://prek.j178.dev/monorepos/index.md)
- [Language Support](https://prek.j178.dev/reference/language-support/index.md)
- [Built-in Hooks](https://prek.j178.dev/built-in-hooks/index.md)
- [CLI Reference](https://prek.j178.dev/reference/cli/index.md)
- [Configuration Reference](https://prek.j178.dev/reference/configuration/index.md)
- [Environment Variable Reference](https://prek.j178.dev/reference/environment-variables/index.md)
- [Differences from pre-commit](https://prek.j178.dev/diff/index.md)
- [Benchmark](https://prek.j178.dev/benchmark/index.md)

## What prek is for

Use `prek` to:

- run hooks that check source code and repo contents
- install Git hook shims such as `pre-commit`, `pre-push`, and `commit-msg`
- run the same hook ecosystem used by `pre-commit`
- manage hook runtimes and toolchains for supported languages
- validate configs, update pinned hook revisions, and inspect configured hooks

Typical jobs for hooks run by `prek`:

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

Foxx AIprek — скилл для агентов
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.