Frappe Skills
Набор от команды Frappe: разработка приложений на фреймворке, ревью, аудит безопасности и подготовка PR к слиянию
- 166 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- `/ship-it` коммитит, пушит ветку и открывает PR, а `bench` меняет базу данных сайта
- `/deep-app-audit` запускает много процессов агента и читает весь код приложения
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/frappe-skillsОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- `/ship-it` коммитит, пушит ветку и открывает PR, а `bench` меняет базу данных сайта
- `/deep-app-audit` запускает много процессов агента и читает весь код приложения
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Главный скилл frappe-app-dev ведет агента через полный цикл работы над приложением на Frappe: DocType и контроллеры, хуки и белые API, ORM, права и роли, фоновые задачи, кэш и `realtime`, тесты, интерфейс Desk, Vue и порталы, а также команды `bench` и управление сайтами. Скилл `frappe-code-review` дает чек-лист ревью по корректности, безопасности, производительности и конкурентности. Общие скиллы `code-style`, `technical-writing` и ui-design задают правила кода, документации на упрощенном техническом английском и интерфейса. Вызываются вручную `/draft-security-advisory` (готовит бюллетень GHSA по отчету об уязвимости), `/deep-app-audit` и `/ship-it`. `/deep-app-audit <путь к приложению>` запускает скрипт, который гоняет отдельного агента на каждую область безопасности и каждое правило качества, проверяет находки в свежем контексте и пишет один отчет. `/ship-it` доводит готовую работу до PR: подтверждает замысел, ревьюит, проверяет вживую, правит документацию и линтер, открывает PR и следит за CI. Сливает PR человек.
Для кого. Разработчикам приложений на Frappe и ERPNext и мейнтейнерам, которым нужны единые правила ревью, аудита и подготовки PR для агента.
Подходит, если
- Вы создаете DocType, контроллер или белый API и хотите, чтобы агент следовал приемам Frappe
- Приложение растет, и агент должен проверить его на дефекты безопасности и кастомизации перед релизом
- Готовая правка ждет PR, и вам нужен прогон от ревью до слежения за CI
- Команда получила отчет об уязвимости и готовит публикацию бюллетеня GitHub Security Advisory
- Агент пишет документацию и коммиты по единому стилю упрощенного технического английского
Не подходит, если
- Проект не на Frappe: большая часть скиллов привязана к фреймворку и его команде `bench`
- Нужен быстрый аудит за минуты: `/deep-app-audit` запускает много процессов агента и расходует токены
- Репозиторий нельзя отдавать подписке агента целиком, а аудит читает весь код приложения
Пример запроса к агенту
Добавь в приложении DocType «Заявка на ремонт» с контроллером, который при сохранении проверяет склад, и покажи команду bench для миграцииОграничения
- В репозитории десять скиллов, а в таблице README перечислены восемь: `fix-issue` и `resolve-backport-conflicts` пропущены.
- `deep-app-audit` и `ship-it` запускают отдельные процессы агента, поэтому расходуют много токенов подписки.
- Скиллы `/draft-security-advisory`, `/deep-app-audit` и `/ship-it` запускаются только вручную и не включаются сами.
- Для `deep-app-audit` нужны тестовый сайт и агентский CLI, который скрипт запускает для каждой задачи.
- Файла лицензии в корне репозитория нет.
Как отключить. Удалите нужные папки из каталога скиллов агента, например `frappe-app-dev` или `ship-it`. Результаты `deep-app-audit` остаются файлами отчета на диске.
Частые вопросы
Как поставить только один скилл из Frappe Skills?
Добавьте флаг `--skill` с именем скилла: `npx skills add frappe/skills --skill frappe-app-dev`. Несколько скиллов перечисляют повторением флага. Имя берется из поля `name` в `SKILL.md`.
Какие скиллы запускаются только вручную?
`/draft-security-advisory`, `/deep-app-audit` и `/ship-it`. Остальные включаются сами, когда запрос подходит: вопрос про DocType, `bench migrate` или ревью диффа.
Сольет ли /ship-it мой PR?
Нет. Скилл доводит работу до PR, готового к слиянию, и следит за CI, а само слияние остается за человеком.
Чем frappe-app-dev отличается от общих скиллов набора?
`frappe-app-dev` работает с самим фреймворком: DocType, хуки, ORM и `bench`. Скиллы `code-style`, `technical-writing` и `ui-design` не привязаны к Frappe и пригодятся в любом проекте.
Что проверяет `deep-app-audit`?
Безопасность по областям, правила корректности и кастомизации. Каждую находку проверяют в свежем контексте, итогом служит один отчет. Скрипт `scripts/run_audit.py` запускает задачи через CLI агента.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыНабор из 14 скиллов по Frappe: DocType, API, интерфейс Desk, Vue-фронтенд, отчеты и тесты, чтобы агент не писал устаревший код
Набор из 61 скилла учит Claude писать и сопровождать код Frappe и ERPNext версий 14–16: от скриптов до развертывания.
Девять коротких навыков: тесты, ревью, планы в виде ADR, слайды, база знаний, картинки, воркдеревья и исполнение планов.
Личная коллекция из 15 скиллов: ревью кода, PRD и задачи, оркестратор реализации, тесты, поиск багов и аудит App Store.
Пять скиллов для ежедневной разработки: интервью по требованиям, AGENTS.md, разбор ревью в PR и дизайн одностраничного HTML.
Девять скиллов JS Mastery ведут изменение по фазам: от идеи и спецификации до проверки, тестов, текстов для релиза и сверки документов
Коротко о README
README коротко перечисляет скиллы таблицей с областью каждого, затем дает три варианта установки: все скиллы, один и несколько. В конце пояснено, что часть скиллов включается автоматически по теме запроса, а три вызываются командой.
Бейдж для README
Исходный SKILL.md
--- name: frappe-app-dev description: >- Builds full-stack Frappe Framework applications end-to-end. Use this skill any time the user mentions: creating or modifying a DocType, writing a controller or lifecycle hook, adding a whitelisted API, setting up a new Frappe app or bench site, building a desk form or list view, creating portal pages, writing background jobs or scheduled tasks, managing permissions or roles, writing Frappe tests, or working with frappe.db / frappe.qb. Also applies when the user says things like "how do I hook into save", "add a field to a DocType", "create a REST endpoint in Frappe", "run bench migrate", or "install an app on a site" — even if they don't explicitly say "Frappe". --- # Frappe Full-Stack App Builder ## Global Rules - Use bare `bench`. Not `./env/bin/bench`. Not a full path. - Do not run `which bench`, `bench --version`, `bench --help`, or check frappe version. No discovery commands. - Do not delegate bench detection to a subagent. Run `ls apps/ sites/ Procfile` yourself. - Do not create DocType folders with `mkdir`. Frappe creates them via `bench migrate`. - Run `bench start` in a background process only. - Before running `bench start`, check if it's already running in an existing terminal. Do not start a second instance. - Always pass `--site <site>` explicitly to bench commands. Never run bare `bench migrate`. ## Flow Selection Determine which flow applies, then read ONLY the relevant file: ### Creating a brand new app Read [new-app.md](./references/new-app.md) — covers bench setup, app scaffolding, site creation, and installation. ### Working on an existing app Read [existing-app.md](./references/existing-app.md) — covers finding the bench, locating the app, confirming site, and extending features. ## Feature References Load ONLY the references needed for the current task: | Topic | When to load | File | | ---------------- | -------------------------------------------- | ------------------------------------------------------- | | Site management | Finding/creating/managing sites | [site-management.md](./references/site-management.md) | | DocTypes | Creating/modifying DocTypes, fields, naming | [doctypes.md](./references/doctypes.md) | | Controllers | Document lifecycle, server logic | [controllers.md](./references/controllers.md) | | Whitelisted APIs | REST endpoints, `@frappe.whitelist()` | [api.md](./references/api.md) | | Database & ORM | `frappe.db`, queries, raw SQL | [database.md](./references/database.md) | | Caching | Redis, `frappe.cache` | [caching.md](./references/caching.md) |