About typo3-extension-upgrade
typo3-extension-upgrade is a skill for upgrading TYPO3 extension code to newer LTS versions, not for upgrading projects or TYPO3 core. It combines migration tools, static analysis, testing, and version-specific guidance in a review-oriented workflow.
Key features
- 01Plan upgrades and assess compatibility risks
- 02Scan for deprecated APIs
- 03Migrate PHP with Rector
- 04Migrate configuration and templates with Fractor
- 05Check code with PHPStan and PHPUnit
- 06Consult version-specific migration references
Use cases
- 01Upgrade an extension to a newer TYPO3 LTS
- 02Review automated migration changes before applying
- 03Check compatibility across supported dependency versions
- 04Assess upgrade scope and non-automatable findings
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ dirnbauer/ webconsulting-skills --skill typo3-extension-upgradeAfter installing, type/typo3-extension-upgradein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
checkpoints.yamlassets/.php-cs-fixer.phpfractor.phpphpstan.neonphpunit.xmlrector.phpreferences/api-changes.mdapi-traps.mdaudit-mode.mddual-compatibility.mdmulti-version-worktrees.mdpre-upgrade.mdreal-world-patterns.mdthird-party-dependency-upgrades.mdtoolchain-output.mdtroubleshooting.mdupgrade-v11-to-v12.mdupgrade-v12-to-v13.mdupgrade-v13-to-v14.mdverification.mdscripts/scan-deprecations.shDetails
From the project READMETYPO3 Extension Upgrade Skill
Framework for upgrading TYPO3 extensions to newer LTS versions. Extension code only, not project/core upgrades.
Upgrade Toolkit
| Tool | Purpose | Files |
|---|---|---|
| Extension Scanner | Diagnose deprecated APIs | TYPO3 Backend |
| Rector | Automated PHP migrations | .php |
| Fractor | Non-PHP migrations | FlexForms, TypoScript, YAML, Fluid |
| PHPStan | Static analysis | .php |
Core Workflow
- Complete planning phase (consult
references/pre-upgrade.md) - Create feature branch (verify git is clean)
- Update
composer.jsonconstraints for target version - Audit third-party dependencies for major version changes (consult
references/third-party-dependency-upgrades.md) - Run
rector process --dry-runthen review and apply - Run
fractor process --dry-runthen review and apply - Run
php-cs-fixer fix - Run
phpstan analyseagainst each supported dependency version and fix errors - Run
phpunitand fix tests - Test in target TYPO3 version(s)
- Verify success criteria (consult
references/verification.md)
When NOT to Apply Automatically
Do NOT blindly apply Rector/Fractor when dual-version compatibility, missing tests, unclear changes, or complex APIs (DBAL, Extbase) are involved. Instead apply rules manually, testing between changes.
Third-Party Dependency Upgrades
When composer.json widens a dependency to a new major version: enumerate API usages, cross-reference the new API, verify mocks, use adapter pattern for signature differences, run PHPStan per major version. See references/third-party-dependency-upgrades.md.
Quick Commands
rector process --dry-run && rector process # PHP migrations
fractor process --dry-run && fractor process # Non-PHP migrations
php-cs-fixer fix && phpstan analyse && phpunit # Quality checks
Asset Templates
Config templates in assets/: rector.php, fractor.php, phpstan.neon, phpunit.xml, .php-cs-fixer.php
References
| Reference | Use when... |
|---|---|
references/pre-upgrade.md | Planning checklist, version audit, risk assessment |
references/api-changes.md | Checking deprecated/removed APIs by TYPO3 version |
references/api-traps.md | Cross-version footguns: TCA restrictions, boot order, DI bypass |
references/upgrade-v11-to-v12.md | Upgrading from TYPO3 v11 to v12 |
references/upgrade-v12-to-v13.md | Upgrading from TYPO3 v12 to v13 |
references/upgrade-v13-to-v14.md | Upgrading from TYPO3 v13 to v14 |
references/dual-compatibility.md | Dual compatibility (v12 + v13) |
references/real-world-patterns.md | Real-world migration examples |
references/toolchain-output.md | Rector/Fractor dry-run output |
references/troubleshooting.md | Rector broke code, PHPStan errors, test failures |
references/third-party-dependency-upgrades.md | Non-TYPO3 dependencies (major version bumps, adapter patterns) |
references/verification.md | Success criteria and real-world testing |
references/multi-version-worktrees.md | Per-LTS worktree layout, backport workflow, cross-version CI matrix |
references/audit-mode.md | Assessing/estimating: ticket only non-automatable findings |
scripts/scan-deprecations.sh <path> | Deterministic grep scan for deprecated/removed APIs and traps |
External Resources
Credits & Attribution
This skill is based on the excellent work by Netresearch DTT GmbH.
Original repository: https://github.com/netresearch/typo3-extension-upgrade-skill
Copyright (c) Netresearch DTT GmbH — Methodology and best practices (MIT / CC-BY-SA-4.0)
Special thanks to Netresearch DTT GmbH for their generous open-source contributions to the TYPO3 community, which helped shape this skill collection. Adapted by webconsulting.at for this skill collection