frappe-agent-architect
Use when designing multi-app Frappe architectures, deciding whether to split functionality into separate apps, or implementing…
Use when upgrading Frappe/ERPNext between major versions (v14 to v15, v15 to v16), troubleshooting failed migrations, or planning rollback. Prevents broken upgrades from skipped patches, incompatible customizations, and missing pre-upgrade checks. Covers version upgrade paths,
Claude Code
$ npx -y skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades --agent claude-code
Codex
$ npx skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades -a codex -y
Cursor
$ npx skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades -a cursor -y
Gemini CLI
$ npx skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades -a gemini-cli -y
GitHub Copilot
$ npx skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades -a github-copilot -y
OpenCode
$ npx skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades -a opencode -y
Windsurf
$ npx skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades -a windsurf -y
name: frappe-ops-upgrades description: > Use when upgrading Frappe/ERPNext between major versions (v14 to v15, v15 to v16), troubleshooting failed migrations, or planning rollback. Prevents broken upgrades from skipped patches, incompatible customizations, and missing pre-upgrade checks. Covers version upgrade paths, bench update, migrate command, patch troubleshooting, rollback procedures, breaking changes per version. Keywords: upgrade, migration, v14, v15, v16, bench update, bench migrate, rollback, patches, breaking changes, update failed, bench update error, migration error, patches failing, rollback after upgrade.. license: MIT compatibility: "Claude Code, Claude.ai Projects, Claude API. Frappe v14-v16." metadata: author: OpenAEC-Foundation version: "2.0"
Complete guide for upgrading Frappe/ERPNext between major versions, handling failed migrations, and rolling back safely.
**Versions**: v14 → v15 → v16
---
| Task | Command | |------|---------| | Full update | `bench update` | | Update specific app | `bench update --pull --app erpnext` | | Switch branch | `bench switch-to-branch version-15 frappe erpnext` | | Run migrations only | `bench --site mysite migrate` | | Check migration readiness | `bench --site mysite ready-for-migration` | | Backup before upgrade | `bench --site mysite backup` | | Restore from backup | `bench --site mysite restore /path/to/backup.sql.gz` | | Re-run failed patch | Add `#YYYY-MM-DD` suffix in patches.txt |
---
Need to upgrade?
├── Single minor version bump (e.g., v15.10 → v15.20)?
│ └── YES → Run `bench update` directly
├── Major version jump (e.g., v14 → v15)?
│ ├── Have custom apps?
│ │ ├── YES → Test on staging FIRST, check breaking changes
│ │ └── NO → Follow standard upgrade path
│ └── Multiple major versions (v14 → v16)?
│ └── ALWAYS upgrade one version at a time: v14 → v15 → v16
└── Production environment?
├── YES → ALWAYS test on staging clone first
└── NO → Proceed with standard upgrade---
**ALWAYS** complete these steps before ANY major version upgrade:
1. **Full backup** — `bench --site mysite backup --with-files` 2. **Test on staging** — Clone production to a staging bench and test there first 3. **Check breaking changes** — Review the breaking changes section below 4. **Audit custom apps** — Run custom apps against new version's API changes 5. **Check Python/Node versions** — v15 requires Node 18+; v16 requires Node 24+, Python 3.14+ 6. **Disable scheduler** — `bench --site mysite scheduler disable` 7. **Check pending jobs** — `bench --site mysite ready-for-migration` 8. **Read release notes** — Check GitHub release notes for each version
---
# 1. Backup all sites bench backup-all-sites # 2. Switch to target version branch bench switch-to-branch version-15 frappe erpnext # 3. Update (pulls code, installs deps, builds, migrates) bench update # 4. Verify bench --site mysite migrate # if not done by update bench version # confirm versions
1. Backup all sites 2. Pull latest code for all apps (`git pull`) 3. Install Python requirements (`pip install`) 4. Install Node requirements (`yarn install`) 5. Build static assets (`bench build`) 6. Run migrations on all sites (`bench migrate`) 7. Restart bench processes
---
| Requirement | v14 | v15 | |-------------|-----|-----| | Node.js | v14+ | **v18+** | | Python packaging | setup.py | **pyproject.toml** |
See [breaking-changes.md](references/breaking-changes.md) for the complete list.
---
| Requirement | v15 | v16 | |-------------|-----|-----| | Node.js | v18+ | **v24+** | | Python | 3.10+ | **3.14+** |
60 deterministic Claude AI skills for Frappe Framework & ERPNext v14-v16 development and operations
Use when designing multi-app Frappe architectures, deciding whether to split functionality into separate apps, or implementing…
Use when debugging Frappe errors, using bench console for live inspection, analyzing tracebacks, or reading Frappe log files.…
Use when receiving vague or unclear ERPNext/Frappe development requests that need interpretation. Transforms requirements like…
Use when migrating a Frappe app between major versions, detecting breaking API changes, or resolving post-migration errors.…
Use when reviewing or validating Frappe/ERPNext code against best practices and common pitfalls. Checks generated code before…
Use when building ERPNext/Frappe API integrations (v14/v15/v16) including REST API, RPC API, authentication, webhooks, and rate…
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…