frappe-app-dev
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".
How do I install this agent skill?
npx skills add https://github.com/frappe/skills --skill frappe-app-devIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a comprehensive environment for building full-stack applications with the Frappe Framework. It follows industry best practices and includes security guidance for developers.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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/ Procfileyourself. - Do not create DocType folders with
mkdir. Frappe creates them viabench migrate. - Run
bench startin 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 barebench migrate.
Flow Selection
Determine which flow applies, then read ONLY the relevant file:
Creating a brand new app
Read new-app.md — covers bench setup, app scaffolding, site creation, and installation.
Working on an existing app
Read 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 |
| DocTypes | Creating/modifying DocTypes, fields, naming | doctypes.md |
| Controllers | Document lifecycle, server logic | controllers.md |
| Whitelisted APIs | REST endpoints, @frappe.whitelist() | api.md |
| Database & ORM | frappe.db, queries, raw SQL | database.md |
| Caching | Redis, frappe.cache | caching.md |
| Realtime | WebSocket, publish_realtime | realtime.md |
| Background jobs | frappe.enqueue, scheduled jobs | background-jobs.md |
| Hooks | hooks.py patterns | hooks.md |
| Permissions | Roles, DocType permissions, has_permission | permissions.md |
| Testing | Writing & running tests | testing.md |
| Frontend & UI | Desk UI, Vue SPA, portal pages | frontend.md (router → 3 sub-files) |
| Bench CLI | All bench commands reference | bench-operations.md |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/frappe/skills/frappe-app-dev">View frappe-app-dev on skillZs</a>