What problem does it solve?
This Skill prevents production-breaking Frappe customizations by guiding you through correct, version-aware implementation of hooks.py configurations in custom apps, including the safest transaction and handler-signature patterns.
Core Features & Use Cases
- doc_events workflows: Implement document lifecycle handlers for external DocTypes using the correct event mapping and safe handler signatures to avoid lost changes and silent failures.
- scheduler_events workflows: Configure scheduled jobs (including cron and long-running tasks) with the correct “no arguments” constraint and queue/timeout strategy.
- override/extend permission, assets, and fixtures: Apply the right approach per Frappe version for extending DocType behavior (V16 extend vs V14/15 override), enforce list/document permissions, and inject bootinfo/assets/doctype_js and scoped fixtures to avoid cross-app conflicts.
Use Case Example: You need to add validation and follow-up logic to an ERPNext Sales Invoice from your custom app, schedule a daily reconciliation job, and ensure only the right users can see invoice lists and cancel closed records—without breaking transactions, migrations, or multi-app override behavior.
Quick Start
Ask the AI: Implement hooks.py for a Frappe custom app to add doc_events for Sales Invoice validate and on_submit, create a daily_long scheduler task for sync, enforce permission_query_conditions and has_permission, and wire extend_bootinfo and doctype_js while following correct handler signatures and migrate steps.