agentsclimarketplace

Typo3 conformance

Skill netresearch/typo3-conformance-skill/skills/typo3-conformance

Use when assessing TYPO3 extension quality, conformance checking, standards compliance, modernization to v12/v13/v14 (v14.3 LTS is the default/gold standard), TER readiness, or best practices review. Also triggers on: extension audit, quality score, full assessment, fix all findings, conformance audit, Fluid 5 strict ViewHelpers, ext_tables.php removal, Extbase attributes (Authorize/RateLimit), HashService removal, Bootstrap 5 migration, CSP compliance, ViewHelper security, XLIFF hygiene, PHP 8.4/8.5 compat.From its SKILL.md

Install
npx -y skills add netresearch/typo3-conformance-skill --skill typo3-conformance

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

TYPO3 Extension Conformance Checker

Evaluate TYPO3 extensions against TYPO3 coding standards, architecture patterns, and best practices.

When to Use

  • Extension quality / TER readiness
  • Scored conformance reports
  • Modernization to v12/v13/v14 (v14.3 LTS is default/gold standard)

Delegation

Testing -> typo3-testing | Docs -> typo3-docs | OpenSSF -> enterprise-readiness

Scope: extensions only. Site/project repos (type: project + Compose) — score with the gold checker typo3-14-gold/tools/conformance.

Workflow

Step 0: Context

Read ext_emconf.php + composer.json for version, type, scope.

Steps 1-11: Checks

  1. Metadata -- key, TYPO3 version, type
  2. Structure -- composer.json, ext_emconf.php, Classes/, Configuration/, Resources/
  3. Coding -- strict_types, PSR-12, PHP 8.4 explicit nullable, PHP 8.5 float-to-int
  4. Prohibited -- no $GLOBALS, no GeneralUtility::makeInstance() for services
  5. Architecture -- constructor DI, Services.yaml, PSR-14 events (try/catch), PSR-3 logging (LoggerAware+NullLogger), factory fallback
  6. Backend -- ES6, Modal API, CSRF, CSP (v13+)
  7. Testing -- PHPUnit, Playwright E2E, coverage >70%
  8. Practices -- DDEV, runTests.sh, CI/CD
  9. TER -- publish workflow, upload comment
  10. Audit -- PHPStan baseline, TCA searchFields, XLIFF, cache has()+get(), query properties, multi-version adapters
  11. v14 readiness -- no ext_tables.php/HashService/magic finders; Fluid VHs strict; XLF 2-space. See references/v14-deprecations.md.

Step 12: Verify

Re-run after fixes. Document score delta.

Quick Grep Recipes

grep -rL 'strict_types' Classes/ --include='*.php'
grep -rn '\$GLOBALS' Classes/ --include='*.php'
grep -rn 'GeneralUtility::makeInstance' Classes/ --include='*.php'
grep -rPn '\(\s*[A-Za-z\\]+\s+\$\w+\s*=\s*null' Classes/ --include='*.php' | grep -v '?'  # PHP 8.4 implicit nullable
grep -rn '->has(' Classes/ --include='*.php'                          # cache has()+get() anti-pattern
grep -l 'strict_types' ext_emconf.php                                 # ext_emconf must NOT have strict_types
grep -rn '(int)\s*\$' Classes/ --include='*.php'                      # PHP 8.5 implicit float-to-int
grep -rn 'data-toggle\|data-dismiss\|data-ride' Resources/ --include='*.html'  # Bootstrap 4 in Fluid
grep -rn 'HashService\|GeneralUtility::hmac(\|->findBy[A-Z]\|->findOneBy[A-Z]\|->countBy[A-Z]' Classes/ --include='*.php'  # v14 removals
[ -f ext_tables.php ] && echo "WARN: ext_tables.php deprecated (#109438)"   # v14.3 deprecation

Scoring

Base (0-100): Architecture(20) + Guidelines(20) + PHP(20) + Testing(20) + Practices(20). Excellence bonus up to 22. Critical issues block regardless.

RangeLevelAction
90+ExcellentProduction/TER ready
80-89GoodMinor fixes
70-79AcceptableFix before release
50-69Needs WorkSignificant effort
<50CriticalBlock deployment

References

See references/:

  • Architecture & code: extension-architecture.md, directory-structure.md, php-architecture.md, coding-guidelines.md, best-practices.md, hooks-and-events.md
  • Validation: composer-validation.md, ext-emconf-validation.md, ext-files-validation.md, runtests-validation.md, version-requirements.md, testing-standards.md
  • Multi-version: dual-version-compatibility.md, v13-v14-dual-compatibility.md, multi-version-dependency-compatibility.md, v13-deprecations.md, v14-deprecations.md
  • Practices & backend: development-environment.md, backend-module-v13.md, ter-publishing.md, report-template.md, excellence-indicators.md, localization-coverage.md, crowdin-integration.md

Asset templates in assets/Build/: PHPStan, PHP-CS-Fixer, Rector, ESLint, Stylelint, TypoScript lint.

What ships with it: 41 files

487.4 KB alongside SKILL.md, 11 of them executable

1 more file not listed here. See all 41 in the repository.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.