frappe-agent-architect
Use when designing multi-app Frappe architectures, deciding whether to split functionality into separate apps, or implementing cross-app communication…
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,
$ npx -y skills add Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-ops-upgrades --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/frappe-ops-upgradesContext preview
The summary Claude sees to decide when to auto-load this skill.
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,
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
Repo: Impertio-Studio/Frappe_Claude_Skill_Package
Use when designing multi-app Frappe architectures, deciding whether to split functionality into separate apps, or implementing cross-app communication…
Use when debugging Frappe errors, using bench console for live inspection, analyzing tracebacks, or reading Frappe log files. Prevents wasted debugging time…
Use when receiving vague or unclear ERPNext/Frappe development requests that need interpretation. Transforms requirements like 'make invoice auto-calculate' or…
Use when migrating a Frappe app between major versions, detecting breaking API changes, or resolving post-migration errors. Prevents failed migrations from…
Use when reviewing or validating Frappe/ERPNext code against best practices and common pitfalls. Checks generated code before deployment, validates against all…
Use when building ERPNext/Frappe API integrations (v14/v15/v16) including REST API, RPC API, authentication, webhooks, and rate limiting. Covers external API…