---
name: hashgraph-online/frappe-customization
source: https://app.decimal.ai/s/hashgraph-online-frappe-customization@1/SKILL.md
source_sha256: bf3b6723cd14
---

Choose the right Frappe customization surface before suggesting code.

Check these surfaces first when relevant:
- `Custom Field`
- `Property Setter`
- `Client Script`
- `Server Script`
- `Workspace`
- `Web Page`
- `Page`
- `Print Format`
- `Report`
- `Dashboard`
- `Dashboard Chart`
- `Number Card`
- `Web Form`
- `Workflow`
- `Role`
- `Notification`
- `Assignment Rule`
- `Webhook`
- `Auto Repeat`
- `Email Template`
- `Letter Head`
- `Print Style`

Preferred decision ladder:
1. built-in configuration
2. metadata/admin DocType customization
3. page/workspace/report/dashboard/print/web surfaces
4. hooks and custom app code
5. changes inside a custom-derived app only when necessary

Explicitly call out when a request should use `Custom Field` rather than editing a DocType JSON file directly.

When creating or redesigning a DocType, also apply `frappe-doctype-design` so fields, tabs, sections, columns, and required flags are chosen for a clean human workflow instead of a flat field dump.