This guide shows you how to install and use the ERPNext Skills Package across different Claude platforms.
| Platform | Installation Time | Difficulty |
|---|---|---|
| Claude Code (CLI) | 2 minutes | Easy |
| Claude.ai Web | 5 minutes | Easy |
| Claude Desktop | 5 minutes | Easy |
| Claude Mobile | ❌ Not supported | - |
- Claude Code: Active Claude Code installation
- Claude.ai / Desktop: Pro, Max, Team, or Enterprise plan with Code Execution enabled
- Claude Code Installation - Recommended for developers
- Claude.ai Web Installation - Browser-based usage
- Claude Desktop Installation - Desktop app usage
This package contains 28 skills organized by category:
Reference guides for ERPNext/Frappe code patterns:
syntax-client-scripts- Client Script syntax and eventssyntax-server-scripts- Server Script sandbox rulessyntax-controllers- Document controller methodssyntax-hooks- hooks.py configurationsyntax-whitelisted- @frappe.whitelist() patternssyntax-jinja- Jinja templating in print formatssyntax-scheduler- Scheduled job configurationsyntax-custom-app- Custom app structure
Fundamental Frappe framework knowledge:
core-database- Database operations and ORMcore-permissions- Permission systemcore-api-patterns- API design patterns
Step-by-step workflows:
impl-client-scripts- Client Script implementationimpl-server-scripts- Server Script implementationimpl-controllers- Controller implementationimpl-hooks- Hooks implementationimpl-database- Database operation workflowsimpl-permissions- Permission implementationimpl-api- API implementationimpl-scheduler- Scheduler implementationimpl-jinja- Print format implementation
Debugging and troubleshooting:
errors-client- Client-side error handlingerrors-server- Server-side error handlingerrors-database- Database error handlingerrors-permissions- Permission error handlingerrors-api- API error handlingerrors-scheduler- Scheduler error handlingerrors-print- Print format error handling
Intelligent assistants:
agent-erpnext-dev- Full-stack ERPNext developmentagent-code-review- ERPNext code review
All skills support:
- Frappe/ERPNext v14 ✅
- Frappe/ERPNext v15 ✅
- Frappe/ERPNext v16 ✅
Version-specific differences are documented within each skill.
When you start a conversation, Claude loads only the skill names and descriptions (~100 tokens per skill). When your request matches a skill's description, Claude loads the full instructions. This "progressive disclosure" means you can have all 28 skills available without context bloat.
Skills activate automatically based on your request:
You: "Help me create a Server Script that validates Sales Orders"
Claude: [Loads syntax-server-scripts and impl-server-scripts automatically]
You can also reference skills explicitly:
You: "Using the server-scripts skill, show me the sandbox limitations"
Ask Claude:
You: "What ERPNext skills do you have access to?"
Copy all skills to your global skills directory so they're available in every project:
cp -r skills/source/* ~/.claude/skills/The skills use progressive disclosure: at startup Claude only loads the name and description (~100 tokens per skill). Full instructions are loaded only when a skill is relevant to your request.
28 skills x ~100 tokens = ~2,800 tokens startup overhead. This is negligible on a 200k token context window.
The most important thing to know about ERPNext development:
Server Scripts run in a RestrictedPython sandbox. ALL imports are blocked.
# ❌ WRONG - Will fail
from frappe.utils import nowdate
import json
# ✅ CORRECT - Use frappe namespace
date = frappe.utils.nowdate()
data = frappe.parse_json(json_string)This is the #1 cause of AI-generated ERPNext code failures. All skills in this package are designed with this limitation in mind.
- Issues: GitHub Issues
- Documentation: Full Documentation
LGPL-3.0 License - See LICENSE for details.