forge-frappe-skill
يحتوي forge-frappe-skill على 11 من skills المجمعة من sbknext، مع تغطية مهنية على مستوى المستودع وصفحات skill داخل الموقع.
Skills في هذا المستودع
Customize Frappe desk forms and lists with client scripts — frappe.ui.form.on handlers, field events, set_query link filters, set_df_property, custom buttons, frappe.call, and list view settings. Use when adding form interactivity, dynamic filters, validation, or buttons in the desk UI. Trigger on: "client script", "frappe.ui.form.on", "form event", "set_query", "custom button", "frappe.call", "list view settings", "cur_frm".
Design well-structured Frappe DocTypes — field types, naming series, child tables, links, Single doctypes, dynamic links, fetch_from, depends_on, and JSON schema. Use when modelling data in Frappe/ERPNext, adding fields, building master/child relationships, or choosing a naming strategy. Trigger on: "design a DocType", "child table", "naming series", "Single doctype", "link field", "fetch_from", "DocType JSON".
Configure hooks.py correctly — doc_events, scheduler_events, override_whitelisted_methods, override_doctype_class, jinja, boot_session, permission_query_conditions, has_permission, and fixtures. Use when wiring app behaviour into Frappe's lifecycle without patching core. Trigger on: "hooks.py", "doc_events", "scheduler_events", "override method", "permission query conditions", "boot session", "fixtures".
Write and run tests for Frappe/ERPNext apps — FrappeTestCase, test records, fixtures, mocking, permission tests, running with bench run-tests, and CI. Use when adding test coverage, doing TDD on a DocType or API, or setting up a test pipeline. Trigger on: "Frappe test", "FrappeTestCase", "bench run-tests", "unit test DocType", "test fixtures", "TDD frappe".
Scaffold, architect, and build production-grade custom Frappe/ERPNext apps. Covers app structure, DocType design, hooks.py configuration, background jobs, service layers, REST APIs, permissions, and testing. Use when creating a new Frappe app, adding a module, setting up scheduler events, implementing doc_events, writing whitelisted APIs, or debugging Frappe-specific issues. Trigger on: "create Frappe app", "new DocType", "add a hook", "background job", "frappe.enqueue", "whitelist API", "custom app scaffold", "bench new-app".
Run async work in Frappe with frappe.enqueue and RQ — queues, timeouts, job dedup, enqueue_doc, long jobs, progress, retries, and scheduler integration. Use when an operation is slow, calls an external API, or should not block the web request. Trigger on: "frappe.enqueue", "background job", "RQ worker", "long running task", "queue", "async job", "job_id dedup".
Operate a Frappe bench from the command line — site creation, app install, migrate, build, backup/restore, scheduler, console, set-config, and multi-site management. Use when running or troubleshooting bench commands, deploying changes, or managing sites. Trigger on: "bench command", "bench migrate", "bench new-site", "bench backup", "bench console", "set-config", "bench build", "scheduler", "bench restore".
Query and mutate data in Frappe safely — get_doc/get_all/get_list, frappe.db.get_value/set_value, parameterized frappe.db.sql, Query Builder (frappe.qb), transactions, bulk ops, and performance. Use when reading or writing data, optimizing slow queries, or avoiding SQL injection. Trigger on: "frappe.db.sql", "frappe.get_all", "query builder", "frappe.qb", "bulk update", "N+1", "db transaction", "get_value set_value".
Implement Frappe's permission model correctly — roles, role permissions manager, permission levels (perm_level), user permissions, share, permission_query_conditions, has_permission hooks, and frappe.only_for / has_permission checks in code. Use when securing DocTypes, restricting rows per user, or field-level access. Trigger on: "permissions", "role", "user permission", "perm level", "restrict rows", "frappe.has_permission", "field level security", "permission query conditions".
Build Frappe reports — Query Reports (SQL), Script Reports (Python), filters, columns, charts, formatters, and report permissions. Use when creating analytics/listing reports, dashboards, or exportable views in Frappe/ERPNext. Trigger on: "query report", "script report", "Frappe report", "report filters", "report chart", "columns formatter", "report builder".
Build and consume Frappe REST APIs — @frappe.whitelist endpoints, the auto /api/resource and /api/method routes, token vs session auth, request/response handling, file uploads, and CORS. Use when exposing app functionality over HTTP or integrating an external system with Frappe. Trigger on: "whitelist API", "/api/resource", "/api/method", "Frappe REST", "token auth", "api_key api_secret", "call Frappe from outside".