Back to skills
SkillHub ClubResearch & OpsFull Stack

typo3-conformance

Agent Skill: Evaluate TYPO3 extensions for conformance to v12/v13/v14 standards. Use when assessing quality, generating reports, or planning modernization. By Netresearch.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
22
Hot score
88
Updated
March 20, 2026
Overall rating
C3.8
Composite score
3.8
Best-practice grade
A92.0

Install command

npx @skill-hub/cli install netresearch-claude-code-marketplace-typo3-conformance

Repository

netresearch/claude-code-marketplace

Skill path: skills/typo3-conformance/skills/typo3-conformance

Agent Skill: Evaluate TYPO3 extensions for conformance to v12/v13/v14 standards. Use when assessing quality, generating reports, or planning modernization. By Netresearch.

Open repository

Best for

Primary workflow: Research & Ops.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: netresearch.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install typo3-conformance into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/netresearch/claude-code-marketplace before adding typo3-conformance to shared team environments
  • Use typo3-conformance for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: typo3-conformance
description: "Agent Skill: Evaluate TYPO3 extensions for conformance to v12/v13/v14 standards. Use when assessing quality, generating reports, or planning modernization. By Netresearch."
file_triggers:
  - "ext_emconf.php"
  - "ext_localconf.php"
  - "**/Configuration/TCA/**/*"
  - "**/*.typoscript"
---

# TYPO3 Extension Conformance Checker

Evaluate TYPO3 extensions for standards compliance, architecture patterns, and best practices.

## Skill Delegation

| Skill | Use For |
|-------|---------|
| **typo3-tests** | PHPUnit config, test patterns, coverage |
| **typo3-docs** | RST validation, documentation rendering |

## Evaluation Workflow

1. **Initial Assessment** - Extension key, TYPO3 version, type
2. **File Structure** - composer.json, ext_emconf.php, required directories
3. **Coding Standards** - strict_types, types, PSR-12
4. **Prohibited Patterns** - No `$GLOBALS`, no `GeneralUtility::makeInstance()` for services
5. **PHP Architecture** - Constructor DI, Services.yaml, PSR-14 events, TcaSchemaFactory
6. **Backend Module v13** - ES6 modules, Modal API, CSRF
7. **Testing** - PHPUnit, Playwright E2E, coverage >70%
8. **Best Practices** - DDEV, runTests.sh, quality tools, CI/CD

## Scoring

**Base (0-100)**: Architecture 20 + Guidelines 20 + PHP 20 + Testing 20 + Practices 20

**Excellence (0-22 bonus)**: Optional features for exceptional quality

## Commands

```bash
scripts/check-conformance.sh /path/to/extension
```

## References

| File | Purpose |
|------|---------|
| `extension-architecture.md` | Directory structure |
| `coding-guidelines.md` | PSR-12, naming |
| `backend-module-v13.md` | Backend modernization |
| `php-architecture.md` | DI, events, services, PSR-17/18 |
| `testing-standards.md` | PHPUnit, Playwright |
| `excellence-indicators.md` | Bonus scoring |
| `multi-tier-configuration.md` | Provider → Model → Config architecture |
| `backend-wizard-patterns.md` | Setup wizard DTOs, AJAX, ES6 |

---

> **Contributing:** https://github.com/netresearch/typo3-conformance-skill


---

## Referenced Files

> The following files are referenced in this skill and included for context.

### scripts/check-conformance.sh

```bash
#!/usr/bin/env bash

#
# TYPO3 Extension Conformance Checker
#
# Main script to orchestrate all conformance checks
#

set -e

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

# Configuration
PROJECT_DIR="${1:-.}"
REPORT_DIR="${PROJECT_DIR}/.conformance-reports"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
REPORT_FILE="${REPORT_DIR}/conformance_${TIMESTAMP}.md"

# Script directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║    TYPO3 Extension Conformance Checker                    ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${BLUE}Standards Compliance Check:${NC}"
echo -e "  • TYPO3 Version: ${YELLOW}12.4 LTS / 13.x${NC}"
echo -e "  • PHP Version:   ${YELLOW}8.1 / 8.2 / 8.3 / 8.4${NC}"
echo -e "  • PSR Standard:  ${YELLOW}PSR-12 (Extended Coding Style)${NC}"
echo -e "  • Architecture:  ${YELLOW}Dependency Injection, PSR-14 Events${NC}"
echo ""

# Create report directory
mkdir -p "${REPORT_DIR}"

# Check if directory exists
if [ ! -d "${PROJECT_DIR}" ]; then
    echo -e "${RED}✗ Error: Directory ${PROJECT_DIR} not found${NC}"
    exit 1
fi

cd "${PROJECT_DIR}"

# Check if this is a TYPO3 extension
if [ ! -f "composer.json" ] && [ ! -f "ext_emconf.php" ]; then
    echo -e "${RED}✗ Error: Not a TYPO3 extension (composer.json or ext_emconf.php not found)${NC}"
    exit 1
fi

echo -e "${GREEN}✓ TYPO3 Extension detected${NC}"
echo ""

# Initialize report
cat > "${REPORT_FILE}" <<'EOF'
# TYPO3 Extension Conformance Report

**Generated:** $(date -u +"%Y-%m-%d %H:%M:%S UTC")
**Project:** $(basename "$(pwd)")

## Standards Checked

This conformance check validates your extension against the following standards:

| Standard | Version/Specification |
|----------|----------------------|
| **TYPO3 Core** | 12.4 LTS / 13.x |
| **PHP** | 8.1 / 8.2 / 8.3 / 8.4 |
| **Coding Style** | PSR-12 (Extended Coding Style) |
| **Architecture** | Dependency Injection (PSR-11), PSR-14 Events, PSR-15 Middleware |
| **Testing** | PHPUnit 10+, TYPO3 Testing Framework |
| **Documentation** | reStructuredText (RST), TYPO3 Documentation Standards |

**Reference Documentation:**
- [TYPO3 Extension Architecture](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/)
- [TYPO3 Coding Guidelines](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/CodingGuidelines/)
- [PHP Architecture](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/PhpArchitecture/)
- [Testing Standards](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/Testing/)

---

## Summary

| Category | Score | Status |
|----------|-------|--------|
EOF

# Initialize scores
total_score=0
max_score=100

echo -e "${YELLOW}Running conformance checks...${NC}"
echo ""

# 1. File Structure Check
echo -e "${BLUE}[1/5] Checking file structure...${NC}"
if bash "${SCRIPT_DIR}/check-file-structure.sh" "${PROJECT_DIR}" >> "${REPORT_FILE}"; then
    echo -e "${GREEN}  ✓ File structure check complete${NC}"
    structure_score=18
else
    echo -e "${YELLOW}  ⚠ File structure issues found${NC}"
    structure_score=10
fi
echo ""

# 2. Coding Standards Check
echo -e "${BLUE}[2/5] Checking coding standards...${NC}"
if bash "${SCRIPT_DIR}/check-coding-standards.sh" "${PROJECT_DIR}" >> "${REPORT_FILE}"; then
    echo -e "${GREEN}  ✓ Coding standards check complete${NC}"
    coding_score=18
else
    echo -e "${YELLOW}  ⚠ Coding standards issues found${NC}"
    coding_score=12
fi
echo ""

# 3. Architecture Check
echo -e "${BLUE}[3/5] Checking PHP architecture...${NC}"
if bash "${SCRIPT_DIR}/check-architecture.sh" "${PROJECT_DIR}" >> "${REPORT_FILE}"; then
    echo -e "${GREEN}  ✓ Architecture check complete${NC}"
    arch_score=18
else
    echo -e "${YELLOW}  ⚠ Architecture issues found${NC}"
    arch_score=10
fi
echo ""

# 4. Testing Check
echo -e "${BLUE}[4/6] Checking testing infrastructure...${NC}"
if bash "${SCRIPT_DIR}/check-testing.sh" "${PROJECT_DIR}" >> "${REPORT_FILE}"; then
    echo -e "${GREEN}  ✓ Testing check complete${NC}"
    test_score=16
else
    echo -e "${YELLOW}  ⚠ Testing issues found${NC}"
    test_score=8
fi
echo ""

# 5. PHPStan Baseline Check
echo -e "${BLUE}[5/6] Checking PHPStan baseline hygiene...${NC}"
if bash "${SCRIPT_DIR}/check-phpstan-baseline.sh" "${PROJECT_DIR}"; then
    echo -e "${GREEN}  ✓ PHPStan baseline hygiene check passed${NC}"
    baseline_score=10
else
    echo -e "${RED}  ✗ PHPStan baseline violation detected${NC}"
    baseline_score=0
fi
echo ""

# 6. Generate comprehensive report
echo -e "${BLUE}[6/6] Generating final report...${NC}"
bash "${SCRIPT_DIR}/generate-report.sh" "${PROJECT_DIR}" "${REPORT_FILE}" \
    "${structure_score}" "${coding_score}" "${arch_score}" "${test_score}"
echo ""

# Calculate total (including baseline hygiene score)
total_score=$((structure_score + coding_score + arch_score + test_score + baseline_score))

# Display summary
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║                    Conformance Results                     ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "  File Structure:       ${structure_score}/20"
echo -e "  Coding Standards:     ${coding_score}/20"
echo -e "  PHP Architecture:     ${arch_score}/20"
echo -e "  Testing Standards:    ${test_score}/20"
echo -e "  Baseline Hygiene:     ${baseline_score}/10"
echo -e "  Best Practices:       10/10"
echo ""
echo -e "  ${BLUE}Total Score:          ${total_score}/100${NC}"
echo ""

if [ ${total_score} -ge 80 ]; then
    echo -e "${GREEN}✓ EXCELLENT conformance level${NC}"
elif [ ${total_score} -ge 60 ]; then
    echo -e "${YELLOW}⚠ GOOD conformance level (some improvements recommended)${NC}"
elif [ ${total_score} -ge 40 ]; then
    echo -e "${YELLOW}⚠ FAIR conformance level (several issues to address)${NC}"
else
    echo -e "${RED}✗ POOR conformance level (major improvements needed)${NC}"
fi

echo ""
echo -e "${GREEN}Report saved to: ${REPORT_FILE}${NC}"
echo ""

# Exit with appropriate code
if [ ${total_score} -ge 60 ]; then
    exit 0
else
    exit 1
fi

```

typo3-conformance | SkillHub