About typo3-core-contributions
A skill for TYPO3 core contributors that guides issue analysis, code changes, testing, Gerrit review, and CI work. It distinguishes the core Gerrit workflow from the separate t3o sites GitLab process.
Key features
- 01TYPO3 contribution workflow guidance
- 02Gerrit patch submission and review
- 03Commit format and Change-Id guidance
- 04CI log and test troubleshooting
- 05Separate t3o GitLab workflow
Use cases
- 01Preparing a TYPO3 core patch
- 02Rebasing and updating a Gerrit review
- 03Diagnosing failing TYPO3 CI jobs
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ netresearch/ typo3-core-contributions-skill --skill typo3-core-contributionsAfter installing, type/typo3-core-contributionsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/account-setup.mdcommit-message-format.mdcommit-msg-hook.mdddev-setup-workflow.mdforge-api.mdgerrit-review-patterns.mdgerrit-workflow.mdmodern-typo3-patterns.mdproving-a-test.mdt3o-gitlab-workflow.mdtroubleshooting.mdscripts/create-commit-message.pycreate-forge-issue.shquery-forge-metadata.shsetup-typo3-coredev.sht3o-gitlab.pyvalidate-commit-message.pyverify-prerequisites.shDetails
From the project READMETYPO3 Core Contributions
When to Use — route by host
review.typo3.org (Gerrit), forge.typo3.org (Redmine), git.typo3.org/typo3/CI/cms (CI logs) are Core: Forge issues, patches, review, commit format, cherry-picks, rebasing — everything below. git.typo3.org/services/t3o-sites/** is plain GitLab for the t3o sites: no Gerrit, refs/for/main means nothing. Read references/t3o-gitlab-workflow.md first.
Prerequisites
Run ${CLAUDE_SKILL_DIR}/scripts/verify-prerequisites.sh: TYPO3.org account, Gerrit SSH (ssh -p 29418 <user>@review.typo3.org), Git email matching Gerrit.
Workflow
- Setup:
${CLAUDE_SKILL_DIR}/scripts/setup-typo3-coredev.sh - Branch:
git checkout -b feature/<issue>-description - Analyze: root cause, reproduction, affected versions first
- Develop: fix + tests, validate with typo3-conformance-skill. Prove each test fails without the fix —
references/proving-a-test.md - Commit: format below,
Resolves: #<issue>+Releases: - Push:
git push origin HEAD:refs/for/main%wip— a plain push is not WIP; reviewers vote and amending outdates their votes - CI: wait for all jobs, read the actual logs at
git.typo3.org/typo3/CI/cms/-/jobs/<id>, fix ALL failures in one amend+push - Ready:
git push origin HEAD:refs/for/main%readyor Gerrit UI "Start Review" - Review: amend, preserve Change-Id. Fetch the reviewer's patchset first:
git fetch origin refs/changes/XX/NNNNN/N && git reset --soft FETCH_HEAD - Update:
git commit --amend && git push origin HEAD:refs/for/main
Commit Format
[TYPE] Subject (imperative mood, max 52 chars)
How and why (not what). Wrap at 72 chars.
Resolves: #12345
Releases: main, 13.4, 12.4
[BUGFIX] [FEATURE] (main only) [TASK] [DOCS] [SECURITY]; breaking: [!!!], Releases: main only. Every commit MUST carry Resolves:, not Related:.
CI Debugging
Read ALL failing job logs, never guess; fix everything in one patchset. Locally:
./Build/Scripts/runTests.sh -s unit && ./Build/Scripts/runTests.sh -s functional
./Build/Scripts/cglFixMyCommit.sh && ./Build/Scripts/runTests.sh -s phpstan
Key Operations
| Task | Command |
|---|---|
| Push to Gerrit | git push origin HEAD:refs/for/main%wip |
| Mark ready | git push origin HEAD:refs/for/main%ready |
| Rebase | git fetch origin && git rebase origin/main |
| Cherry-pick patch | git fetch origin refs/changes/XX/NNNNN/N && git cherry-pick FETCH_HEAD |
| Install hook | cp Build/git-hooks/commit-msg .git/hooks/ && chmod +x .git/hooks/commit-msg |
| Fix email mismatch | GIT_COMMITTER_EMAIL="registered@email" git commit --amend --no-edit |
| Forge API | ${CLAUDE_SKILL_DIR}/scripts/create-forge-issue.sh, references/forge-api.md |
| t3o GitLab | python3 ${CLAUDE_SKILL_DIR}/scripts/t3o-gitlab.py access|issue|note|mr create|mr update|mr show|pipeline status|pipeline wait|link|probe |
References
| Topic | File |
|---|---|
| Account setup | references/account-setup.md |
| Commit format | references/commit-message-format.md |
| Gerrit workflow | references/gerrit-workflow.md |
| Review patterns | references/gerrit-review-patterns.md |
| Modern patterns | references/modern-typo3-patterns.md |
| DDEV setup | references/ddev-setup-workflow.md |
| Forge API | references/forge-api.md |
| t3o sites on git.typo3.org | references/t3o-gitlab-workflow.md |
| Commit hook | references/commit-msg-hook.md |
| Proving a test | references/proving-a-test.md |
| Troubleshooting | references/troubleshooting.md |