A comprehensive Claude Code skill for creating and maintaining TYPO3 extension documentation following official TYPO3 documentation standards.
This skill provides guidance for working with TYPO3 extension documentation in reStructuredText (RST) format, including TYPO3-specific directives, local rendering with Docker, validation procedures, and automated deployment through TYPO3 Intercept.
- Documentation Extraction - Automated extraction from code, configs, and repository metadata
- Gap Analysis - Identify missing and outdated documentation
- RST Syntax Reference - Complete reStructuredText formatting guide
- TYPO3-Specific Directives - confval, versionadded, php:method, card-grid
- Local Rendering - Docker-based documentation rendering scripts
- Validation Tools - RST syntax and quality check scripts
- Quality Standards - Pre-commit checklists and best practices
- TYPO3 Intercept - Automated deployment guidance
- AI Assistant Context - AGENTS.md templates for Documentation/ folders
Download the latest release from the releases page or install directly:
# Using curl
curl -L https://github.com/netresearch/typo3-docs-skill/archive/refs/heads/main.zip -o typo3-docs.zip
unzip typo3-docs.zip -d ~/.claude/skills/
mv ~/.claude/skills/typo3-docs-skill-main ~/.claude/skills/typo3-docs
# Or using git
git clone https://github.com/netresearch/typo3-docs-skill.git ~/.claude/skills/typo3-docs
The skill will automatically activate when working with TYPO3 documentation:
- Creating/updating
Documentation/*.rst
files - Using TYPO3-specific directives
- Rendering documentation locally
- Following TYPO3 documentation guidelines
Main skill file with comprehensive instructions for:
- Documentation structure and workflow
- Configuration documentation with confval
- Version documentation with versionadded/versionchanged
- PHP API documentation with php:method
- Card grid navigation with stretched links
- Cross-references and quality standards
rst-syntax.md - Complete RST syntax reference:
- Headings, code blocks, lists, links
- Tables, admonitions, images
- Whitespace rules and common mistakes
typo3-directives.md - TYPO3-specific directives:
- confval for configuration values
- Version directives (added/changed/deprecated)
- PHP domain (class/method/property)
- Card grids with stretched links
- Intersphinx references
- Quality checklists
extraction-patterns.md - Documentation extraction guide:
- Multi-source extraction patterns (PHP, configs, repository)
- Data-to-RST mapping strategies
- Gap analysis workflow
- Template generation approaches
- Quality standards for extraction
typo3-extension-architecture.md - TYPO3 official file structure reference:
- File structure hierarchy with priority weights
- Directory structure weights (Classes/, Configuration/, Resources/)
- Extraction weight matrix (Priority 1-5)
- Quality weighting algorithm
- Gap analysis priority calculation
- Documentation mapping strategies
AGENTS.md - AI assistant context template:
- Documentation strategy and audience
- TYPO3 RST syntax patterns
- Directive usage examples
- Cross-reference patterns
- Validation and rendering procedures
add-agents-md.sh - Add AI context to Documentation/:
- Creates AGENTS.md from template
- Provides documentation context for AI assistants
- Helps AI understand project documentation structure
validate_docs.sh - Validation script:
- Checks RST syntax
- Validates Settings.cfg and Index.rst
- Detects encoding issues
- Identifies trailing whitespace
render_docs.sh - Rendering script:
- Renders documentation locally with Docker
- Uses official TYPO3 render-guides image
- Outputs to Documentation-GENERATED-temp/
extract-all.sh - Documentation extraction orchestrator:
- Extracts data from PHP code, extension configs, composer.json
- Optional: build configs (.github/workflows, phpunit.xml)
- Optional: repository metadata (GitHub/GitLab API)
- Outputs to .claude/docs-extraction/data/*.json
analyze-docs.sh - Documentation coverage analysis:
- Compares extracted data with existing Documentation/
- Identifies missing and outdated documentation
- Generates Documentation/ANALYSIS.md with recommendations
- Prioritizes action items for systematic documentation
extract-php.sh - PHP code extraction:
- Parses Classes/**/*.php for docblocks and signatures
- Extracts class descriptions, methods, constants
- Outputs to .claude/docs-extraction/data/php_apis.json
extract-extension-config.sh - Extension configuration extraction:
- Parses ext_emconf.php for extension metadata
- Parses ext_conf_template.txt for configuration options
- Identifies security warnings in config comments
- Outputs to extension_meta.json and config_options.json
extract-composer.sh - Composer dependency extraction:
- Extracts requirements and dev-requirements
- Outputs to .claude/docs-extraction/data/dependencies.json
extract-project-files.sh - Project file extraction:
- Extracts content from README.md, CHANGELOG.md
- Outputs to .claude/docs-extraction/data/project_files.json
extract-build-configs.sh - Build configuration extraction (optional):
- Extracts CI/CD configurations, PHPUnit settings
- Outputs to .claude/docs-extraction/data/build_configs.json
extract-repo-metadata.sh - Repository metadata extraction (optional):
- Fetches GitHub/GitLab repository information
- Requires gh or glab CLI tools
- Outputs to .claude/docs-extraction/data/repo_metadata.json
- Cached for 24 hours
The skill automatically activates for TYPO3 documentation tasks. You can also manually invoke it:
/skill typo3-docs
Add AI Assistant Context:
cd /path/to/your-extension
~/.claude/skills/typo3-docs/scripts/add-agents-md.sh
# Creates Documentation/AGENTS.md with TYPO3 documentation patterns
Extract and Analyze Documentation:
cd /path/to/your-extension
# Extract data from code and configs
~/.claude/skills/typo3-docs/scripts/extract-all.sh
# Analyze documentation coverage
~/.claude/skills/typo3-docs/scripts/analyze-docs.sh
# Review the analysis report
cat Documentation/ANALYSIS.md
# Extract with optional sources
~/.claude/skills/typo3-docs/scripts/extract-all.sh --all # Include build configs & repo metadata
Document Configuration:
.. confval:: fetchExternalImages
:type: boolean
:Default: true
:Path: $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['ext_key']['setting']
Controls whether external image URLs are automatically fetched.
Document Version Changes:
.. versionadded:: 13.0.0
The CKEditor plugin now requires ``StyleUtils`` and ``GeneralHtmlSupport``
dependencies for style functionality.
Create Card Grid Navigation:
.. card-grid::
:columns: 1
:columns-md: 2
.. card:: π Introduction
Extension overview and features
.. card-footer:: :ref:`Read more <introduction>`
:button-style: btn btn-primary stretched-link
Validate Documentation:
~/.claude/skills/typo3-docs/scripts/validate_docs.sh /path/to/project
Render Documentation:
~/.claude/skills/typo3-docs/scripts/render_docs.sh /path/to/project
Enable automatic documentation publishing to docs.typo3.org:
- Extension published in TYPO3 Extension Repository (TER)
- Git repository URL referenced on TER detail page
- Valid Documentation/ structure with Index.rst and Settings.cfg
GitHub:
Settings β Webhooks β Add webhook
Payload URL: https://docs-hook.typo3.org
Content type: application/json
SSL: Enabled
Events: Just the push event
Active: β
GitLab:
Settings β Webhooks
URL: https://docs-hook.typo3.org
Triggers: Push events + Tag push events
SSL: Enabled
After first push, check:
- Webhook delivery: GitHub/GitLab webhook recent deliveries (expect
200
) - Build status: Intercept Dashboard
- Published docs:
https://docs.typo3.org/p/{vendor}/{extension}/main/en-us/
First build requires approval by TYPO3 Documentation Team (1-3 business days). Future builds are automatic.
Full webhook setup guide: references/intercept-deployment.md
Before committing documentation changes, ensure:
- β No rendering warnings
- β No broken cross-references
- β All confval directives complete
- β Version information for new features
- β Card grids use stretched-link
- β UTF-8 emoji icons in card titles
- β Code blocks specify language
- β Proper heading hierarchy
- β No trailing whitespace
Official Documentation:
Example Projects:
TYPO3 Intercept:
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement
) - Make your changes
- Test the skill thoroughly
- Commit your changes (
git commit -m 'Add improvement'
) - Push to the branch (
git push origin feature/improvement
) - Create a Pull Request
This skill is licensed under the same license as the TYPO3 RTE CKEditor Image extension - GPL-2.0-or-later.
Issues and Questions:
- GitHub Issues: Report issues
- TYPO3 Slack: #typo3-cms
Created by Netresearch DTT GmbH for the TYPO3 community.
Based on:
- TYPO3 Official Documentation Standards
- Anthropic Skill Creator
- Real-world usage in RTE CKEditor Image Extension
Version: 1.0.0 Maintained By: Netresearch DTT GmbH Last Updated: 2025-10-18