An AI skill for guiding contributions to TYPO3 Core through systematic workflows, automated quality checks, and best practices enforcement.
This is an Agent Skill following the open standard originally developed by Anthropic and released for cross-platform use.
Supported Platforms:
- ✅ Claude Code (Anthropic)
- ✅ Cursor
- ✅ GitHub Copilot
- ✅ Other skills-compatible AI agents
Skills are portable packages of procedural knowledge that work across any AI agent supporting the Agent Skills specification.
This skill provides comprehensive guidance for contributing to TYPO3 Core, including:
- Gerrit-based code review workflow
- Automated CI/CD debugging
- Commit message formatting
- WIP (Work in Progress) state management
- Testing and quality assurance
- Account setup and prerequisites
- Step-by-step guidance from setup to patch submission
- Automated detection of common issues
- Best practices enforcement at every stage
- Systematic debugging of failed GitLab CI jobs
- Pattern recognition for common failures
- Automated fix suggestions
- Pre-submission validation
- Code style enforcement (CGL)
- PHPStan static analysis
- Comprehensive test coverage
- Gerrit workflow reference
- Commit message format guidelines
- Troubleshooting guide with 60+ scenarios
- WIP state management
Ensure you have:
- Git configured with your TYPO3.org email
- SSH key uploaded to review.typo3.org
- Docker (for DDEV) or native PHP 8.2+ environment
/plugin marketplace add netresearch/claude-code-marketplaceThen browse skills with /plugin.
Download the latest release and extract to ~/.claude/skills/typo3-core-contributions/
Use this skill in Claude Code by referencing it from your project's skill configuration.
The skill activates automatically when working on TYPO3 Core contributions. It guides you through:
- Setup Phase: Prerequisites verification, environment configuration
- Development Phase: Code changes, testing, validation
- Submission Phase: Gerrit patch submission, CI monitoring, WIP management
- Review Phase: Addressing reviewer feedback, iterating on changes
This skill covers: TYPO3 Core code contributions (PHP, JavaScript, CSS, tests)
- Submission via Gerrit (review.typo3.org)
- Git commit-msg hooks and validation
- Forge issue tracking
- GitLab CI/CD pipeline
Not covered: TYPO3 Documentation contributions
- For documentation work, use: https://github.com/netresearch/typo3-docs-skill
- Documentation uses GitHub Pull Requests, not Gerrit
- Different format (reStructuredText) and workflows
typo3-core-contributions/
├── SKILL.md # Main skill definition
├── README.md # This file
├── references/
│ ├── account-setup.md # Prerequisites and account configuration
│ ├── commit-message-format.md # Commit message standards
│ ├── ddev-setup-workflow.md # DDEV environment setup
│ ├── gerrit-workflow.md # Complete Gerrit submission workflow
│ └── troubleshooting.md # 60+ troubleshooting scenarios
├── scripts/
│ ├── setup-typo3-coredev.sh # Automated environment setup
│ └── verify-prerequisites.sh # Prerequisites checker
└── assets/
└── images/ # Workflow diagrams and screenshots
# Verify prerequisites
./scripts/verify-prerequisites.sh
# Setup TYPO3 Core development environment
./scripts/setup-typo3-coredev.sh# Create feature branch
git checkout -b feature/issue-number-description
# Make changes, commit with proper format
git commit -m "[BUGFIX] Fix indexed search null handling
Resolves: #105737
Releases: main"# Submit as WIP (Work in Progress)
git push origin HEAD:refs/for/main%wip
# After CI passes, mark as ready
git commit --amend --allow-empty --no-edit
git push origin HEAD:refs/for/main%readyThe skill provides systematic debugging:
- Check ALL failed job logs
- Identify failure patterns (cgl, phpstan, unit tests)
- Fix all issues in ONE patchset
- Re-submit and verify
# Set WIP state
git push origin HEAD:refs/for/main%wip
# Remove WIP state
git commit --amend --allow-empty --no-edit
git push origin HEAD:refs/for/main%readyOpen review URL and click "Start Review" button.
Note: SSH gerrit review command does NOT support WIP flags.
Required structure:
[TYPE] Short description (max 52 chars)
Extended description explaining the why and how.
Resolves: #12345
Releases: main, 12.4
Types: BUGFIX, FEATURE, TASK, DOCS, CLEANUP, SECURITY
Required: At least one Resolves: line
Optional: Related: (but cannot be used alone)
Common failure patterns:
Build/Scripts/cglFixMyCommit.sh
git commit --amend --no-editBuild/Scripts/runTests.sh -s phpstan
# Fix reported issuesBuild/Scripts/runTests.sh -s unit path/to/test
# Fix test failuresThe skill includes comprehensive troubleshooting for:
- Account Issues: Email mismatch, SSH authentication, commit-msg hook
- CI Failures: CGL, PHPStan, unit tests, functional tests
- Gerrit Issues: WIP state, patch conflicts, rebase requirements
- Testing Issues: Test failures, coverage gaps, fixture setup
- Code Quality: Naming conventions, type safety, defensive programming
See references/troubleshooting.md for detailed solutions.
This skill was developed and validated through:
- Forge Issue #105737: TypeError in indexed search
- 7 patchsets with iterative CI debugging
- GitHub PR #397: Documentation improvements
- Live Gerrit testing: WIP workflow validation
All workflows have been tested on actual TYPO3 Core submissions.
Recent additions:
- ✅ WIP state management (command-line and web UI)
- ✅ CI failure investigation protocol (423 lines)
- ✅ Comprehensive troubleshooting guide (60+ scenarios)
- ✅ PHPStan error guidance
- ✅ Code style enforcement patterns
- ✅ Documentation scope clarification
To improve this skill:
- Test on real TYPO3 Core contributions
- Document edge cases in troubleshooting guide
- Add automation scripts for common tasks
- Validate against official TYPO3 documentation
- TYPO3 Docs Skill - For documentation contributions
MIT License - See LICENSE file for details
Created for use with Claude Code and TYPO3 Core contributions.
Maintained by: Netresearch DTT GmbH
For issues or questions:
- Open an issue in this repository
- Reference official TYPO3 documentation
- Test workflows on live Gerrit instance
Version: 1.1.0 Last Updated: 2025-10-27 Status: Production-ready, validated on live submissions
Made with ❤️ for Open Source by Netresearch