
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".
- Installs
- 1.1K
- Last 24h
- +14
- Trending rank
- #7312
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/frappe/skills --skill frappe-app-dev- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads frappe-app-dev automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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 |
FAQ
What does the frappe-app-dev skill do?
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 frappe-app-dev?
Run npx skills add https://github.com/frappe/skills --skill frappe-app-dev in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/frappe-app-dev/ (personal) or .claude/skills/frappe-app-dev/ (project).
Which AI agents can use frappe-app-dev?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is frappe-app-dev safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains frappe-app-dev?
It is published by frappe in frappe/skills. It has 1,141 recorded installs.
More from frappe/skills
code-style
frappe/skills
Code style rules for readable, maintainable implementation. Load this skill always when writing or editing code, and whenever the user asks about code style, refactoring shape, function/file size, object-oriented structure, helper ordering, or comments. For Frappe-specific work, prefer frappe-app-dev.
ui-design
frappe/skills
General UI/UX judgment for layout, polish, visual hierarchy, spacing, typography, color, and accessibility. Use when no product-specific or Frappe-specific design system skill applies.
quality-code-review
frappe/skills
Review code for any Frappe application — a checklist distilled from years of engineering practice on correctness, security, performance, concurrency, readability, API design, and testing. Use this when reviewing a diff, a PR, or a piece of code for quality and security, or when you want a reviewer's checklist grounded in hard-won Frappe/ERPNext lessons.
technical-writing
frappe/skills
Write prose in "Simplified Technical English". This applies to documentation, READMEs, commits, pull request, plans and release notes. It does not apply to code, identifiers, marketing copy, essays, or anything that needs a voice.
draft-security-advisory
frappe/skills
Turn a vulnerability report into a publication-ready GitHub Security Advisory.
resolve-backport-conflicts
frappe/skills
Open the skill to read its SKILL.md instructions.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.