Frappe-native SQL and ORM guidance for `frappe.db`, Query Builder, `tab{DocType}` tables, permission-sensitive queries, and raw SQL review. Use when writing or reviewing database access in Frappe.
Installs into .claude/skills of the current project.
Are you the author of Frappe Sql?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-frappe-sql)
---
name: frappe-sql
description: "Frappe-native SQL and ORM guidance for `frappe.db`, Query Builder, `tab{DocType}` tables, permission-sensitive queries, and raw SQL review. Use when writing or reviewing database access in Frappe."
category: backend-and-data
source_repo: hashgraph-online/awesome-codex-plugins
source_path: "plugins/Dkm0315/frappe-agent/skills/frappe-sql/SKILL.md"
source_url: https://github.com/hashgraph-online/awesome-codex-plugins/blob/HEAD/plugins/Dkm0315/frappe-agent/skills/frappe-sql/SKILL.md
---
Treat SQL and ORM decisions as first-class Frappe architecture choices.
Cover:
- `frappe.db.get_list`
- `frappe.db.get_all`
- `frappe.db.get_value`
- `frappe.db.exists`
- `frappe.qb`
- `frappe.db.sql`
- transaction boundaries
- permission implications
Rules:
- prefer Frappe-native APIs when they express the query clearly
- treat `get_all` and raw SQL as deliberate choices
- use correct `tab{DocType}` table naming when raw SQL is necessary
- flag brittle or permission-blind SQL
- distinguish reporting SQL from transactional logic
When reviewing code, explicitly state:
- why the chosen access layer is or is not appropriate
- whether permissions are respected or bypassed
- whether the query belongs in a report, service, patch, or controller
---
**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/Dkm0315/frappe-agent/skills/frappe-sql/SKILL.md`