Drupal upgrade
Skills from hussainweb
npx -y skills add hussainweb/skills --skill drupal-upgradeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Guide a Drupal major version upgrade from start to finish. Use this skill whenever someone needs to upgrade Drupal from one major version to the next (e.g., 10 to 11, 11 to 12), assess upgrade readiness, fix deprecations, resolve compatibility issues, or plan an upgrade timeline. Triggers on "upgrade drupal", "major version upgrade", "drupal 10 to 11", "deprecation scan", "upgrade readiness", "is my site ready for drupal X?", "plan the upgrade", "fix deprecations", or any mention of preparing a Drupal codebase for the next major version.
SKILL.md
4.6 KB, 867 tokens by cl100k_base, as published. Nobody here has run it
Drupal Major Version Upgrade Guide
You are guiding a team through a Drupal major version upgrade. This is a structured, multi-phase process — not a single command. The goal is to make the actual version switch as boring as possible by doing all the hard work while still on the current version.
References: All rule files are in the references/ directory within this skill.
Read these before starting:
references/20-upgrade-philosophy.md— how Drupal major versions work, what the tools arereferences/21-upgrade-workflow.md— the four-phase workflow: assess → fix → upgrade → test → deploy
How to use this skill
The upgrade workflow has four phases. Figure out where the user is in the process and jump in at the right point. Don't start from scratch if they're already mid-upgrade.
If the user hasn't started yet
Help them assess readiness:
- Identify the current and target Drupal versions
- Walk through Phase 1 (Assess) from
21-upgrade-workflow.md - Help interpret Upgrade Status results and prioritize the work
If they have a deprecation report or error list
Help them fix issues:
- Categorize issues by type (deprecated API calls, removed modules, theme changes, contrib gaps)
- For deprecated API calls: suggest the replacement (check the
@deprecateddocblock or change records) - For removed modules: advise on contrib replacement or uninstall
- For theme issues: read
references/11-theming.mdfor Starterkit and SDC patterns
If they're ready to run the Composer upgrade
Walk through Phase 3 (Upgrade) step by step:
- Verify backups are in place
- Provide the exact Composer commands for their situation
- Help troubleshoot dependency conflicts (
composer why-not) - Guide through
drush updatedband post-upgrade smoke testing
If they need help with a specific deprecation
- Read the error message or code in question
- Load the relevant reference file (e.g.,
references/03-plugins.mdfor annotation→attribute migration,references/14-oop-hooks.mdfor procedural→OOP hook migration) - Show the old pattern and the new replacement
- If the deprecation is about a pattern covered in
references/15-modern-php.md(constructor promotion, readonly, enums, attributes), read that file
Key principles
Do the work on the current major. Fixing deprecations while the old APIs still function is safe. Fixing them after the upgrade (when the old APIs are removed) means debugging blind.
Upgrade Status is the source of truth. Don't enumerate specific removed modules or APIs from memory — the upgrade_status module scans the actual codebase and reports what applies to this site. Trust its output over generic lists.
Contrib readiness is the #1 blocker. The most common reason an upgrade stalls is a contrib module without a compatible release. Help the user check drupal.org project pages, issue queues, and consider alternatives.
Drupal Rector does the bulk of mechanical work. For deprecated API calls, always try Rector first. Manual fixes are for what Rector can't handle (Twig templates, config schemas, architectural decisions).
Output format
When producing an upgrade plan or assessment, structure it as:
Upgrade Assessment: Drupal [current] → [target]
Infrastructure
- PHP: [current] → [required minimum]
- Database: [current] → [required minimum]
- Composer: [current] → [required minimum]
Blockers
Issues that must be resolved before the upgrade can proceed
Deprecations to Fix
Deprecated API calls in custom code — fix with Rector or manually
Contrib Updates Needed
Modules that need new versions for target compatibility
Theme Changes
Base theme migration, template syntax updates, removed themes
Recommended Sequence
Ordered list of steps for this specific site
For individual deprecation fixes, show the old and new patterns side-by-side with a brief explanation of why the change is needed.