frappe-router
Frappe Router
Route to the appropriate Frappe skill based on your task.
When to use
- First step when starting any Frappe-related work
- To determine which specialized skill applies to your task
Procedure
0) Identify task type
| Task | Skill |
|---|---|
| Understand project structure, versions, apps | → frappe-project-triage |
| Scaffold new app, hooks, architecture, background jobs | → frappe-app-development |
| Create/modify DocTypes, fields, controllers | → frappe-doctype-development |
| Build REST/RPC APIs, webhooks, integrations | → frappe-api-development |
| Customize Desk UI, form scripts, list views, JS API | → frappe-desk-customization |
| Build Vue 3 frontends with Frappe UI, portals | → frappe-frontend-development |
| UI/UX patterns from CRM/Helpdesk/HRMS | → frappe-ui-patterns |
| Create print formats, email templates, Jinja, PDFs | → frappe-printing-templates |
| Build reports (Builder, Query, Script) | → frappe-reports |
| Create public web forms for data collection | → frappe-web-forms |
| Write or run tests | → frappe-testing |
| Set up dev environment with Docker/FM | → frappe-manager |
| Build CRM/Helpdesk/enterprise systems | → frappe-enterprise-patterns |
1) Run triage first (recommended)
Before deep work, run frappe-project-triage to understand:
- Project type (bench/FM/standalone)
- Frappe version
- Installed apps
- Available tooling
2) Combine skills as needed
Complex tasks may require multiple skills:
- New app =
frappe-app-development+frappe-doctype-development+frappe-api-development+frappe-testing - Feature with UI =
frappe-doctype-development+frappe-desk-customization+frappe-api-development - Custom frontend =
frappe-frontend-development+frappe-api-development - Document workflow =
frappe-doctype-development+frappe-printing-templates+frappe-reports - Enterprise app =
frappe-enterprise-patterns+frappe-doctype-development
Quick decision tree
Is this about understanding the project?
→ frappe-project-triage
Is this about creating a new app or app architecture?
→ frappe-app-development
Is this about data models or DocTypes?
→ frappe-doctype-development
Is this about APIs or external access?
→ frappe-api-development
Is this about Desk UI, form scripts, or client-side JS?
→ frappe-desk-customization
Is this about a Vue 3 frontend or portal?
→ frappe-frontend-development
Is this about UI/UX patterns or app design?
→ frappe-ui-patterns
Is this about print formats, PDFs, or Jinja templates?
→ frappe-printing-templates
Is this about reports or data analysis views?
→ frappe-reports
Is this about public web forms?
→ frappe-web-forms
Is this about testing?
→ frappe-testing
Is this about local dev environment?
→ frappe-manager
Is this a complex enterprise system?
→ frappe-enterprise-patterns
Guardrails
- Always run triage first before making code changes to unknown projects
- Check Frappe version before recommending features (API availability varies significantly between v13, v14, v15, v16)
- Don't assume ERPNext - many projects use Frappe Framework without ERPNext
- Verify site context - commands like
bench migrateaffect specific sites
Common Mistakes
| Mistake | Why It Fails | Fix |
|---|---|---|
| Skipping project triage | Applying wrong patterns for version | Always run triage first |
| Using ERPNext-specific code in Frappe-only projects | Module not found errors | Check installed apps first |
| Wrong skill for task | Incomplete implementation | Match task type to skill carefully |
| Ignoring version differences | Deprecated/missing APIs | Check version compatibility in skill references |
| Working on wrong site | Changes don't appear | Always specify --site flag |
| Using vanilla JS/jQuery for frontends | Ecosystem mismatch | Use Frappe UI (Vue 3) via frappe-frontend-development |
| Custom app shell for CRUD apps | Inconsistent UX | Follow CRM/Helpdesk patterns via frappe-enterprise-patterns |
More from lubusin/agent-skills
frappe-frontend-development
Build modern Vue 3 frontend apps using Frappe UI with components, data fetching, and portal pages. Use when creating custom frontends, SPAs, or portal interfaces for Frappe applications.
94frappe-app-development
Scaffold and architect custom Frappe apps including app structure, hooks, background jobs, service layers, and production hardening. Use when creating new apps, setting up app architecture, or implementing cross-cutting patterns like caching, logging, and error handling.
86frappe-api-development
Build REST and RPC APIs in Frappe including whitelisted methods, authentication, and permission handling. Use when creating custom endpoints, integrating with external systems, or exposing business logic via API.
82frappe-desk-customization
Customize Frappe Desk UI with form scripts, list view scripts, report scripts, dialogs, and client-side JavaScript APIs. Use when building interactive Desk experiences, adding custom buttons, or scripting form behavior.
80frappe-doctype-development
Create and modify Frappe DocTypes including schema design, controllers, child tables, and customization. Use when building data models, adding fields, or implementing document lifecycle logic.
78frappe-reports
Create reports in Frappe including Report Builder, Query Reports (SQL), and Script Reports (Python + JS). Use when building data analysis views, dashboards, or custom reporting features.
77