A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Agent Skill: TYPO3 extension conformance checker - validates against official standards | Claude Code compatible
A comprehensive Claude Code skill for evaluating TYPO3 extensions against official TYPO3 coding standards, architecture patterns, and best practices.
This is an Agent Skill following the open standard originally developed by Anthropic and released for cross-platform use.
Supported Platforms:
Skills are portable packages of procedural knowledge that work across any AI agent supporting the Agent Skills specification.
This skill enables systematic evaluation of TYPO3 extensions for conformance to official TYPO3 standards.
This conformance checker acts as an orchestrator that delegates to specialized skills for deep domain analysis:
🔧 Testing Analysis: typo3-tests
📚 Documentation Analysis: typo3-docs
Delegation Benefits:
Fallback Strategy:
| Standard | Version/Specification |
|---|---|
| TYPO3 Core | 14.3 LTS (default / gold standard) / 13.4 LTS / 12.4 LTS |
| PHP | 8.2 / 8.3 / 8.4 / 8.5 (v14 floor: 8.2; ceiling: 8.5.99) |
| Coding Style | PSR-12 (Extended Coding Style) |
| Architecture | Dependency Injection (PSR-11), PSR-14 Events, PSR-15 Middleware, Fluid 5 strict VHs, Extbase PHP attributes |
| Testing | PHPUnit 11/12/13, TYPO3 Testing Framework 9.x, Playwright E2E |
| Documentation | reStructuredText (RST), TYPO3 Documentation Standards, XLIFF 2.x (v14+) |
Core Standards:
Advanced Validation Guides:
Excellence Indicators:
Secondary References:
Production-ready configuration templates based on TYPO3 Best Practices (Tea Extension):
All templates are available in assets/ and ready for direct use.
PHPStan Level 10 represents the highest level of static analysis available, providing comprehensive type safety, security enforcement, and code quality checks. Level 10 enables bleeding-edge rules for maximum strictness and early adoption of future PHPStan features.
Type Coverage Enforcement
The configuration enforces 100% type coverage for parameters and return types, with 95% coverage for properties. This eliminates ambiguity and enables better IDE support:
type_coverage:
return_type: 100 # Every function must declare return type
param_type: 100 # Every parameter must have type hint
property_type: 95 # 95% of class properties must be typed
Cognitive Complexity Limits
Complexity limits prevent unmaintainable code by enforcing function and class complexity boundaries:
cognitive_complexity:
class: 10 # Maximum complexity score per class
function: 5 # Maximum complexity score per function
Functions exceeding complexity limits should be refactored into smaller, focused methods. This improves testability and reduces bug density.
Type Perfection Mode
Advanced type safety features eliminate common type-related issues:
type_perfect:
no_mixed_property: true # Prevents mixed type pollution
no_mixed_caller: true # Enforces concrete types in method calls
null_over_false: true # Prefers nullable types over boolean returns
narrow_param: true # Uses most specific parameter types
narrow_return: true # Uses most specific return types
Security-Focused Disallowed Patterns
The configuration integrates spaze/phpstan-disallowed-calls to prevent security vulnerabilities:
Example violation and fix:
// ❌ PHPStan Error: Use PSR-7 ServerRequestInterface instead
public function processForm(): void
{
$username = $_POST['username'];
}
// ✅ Correct PSR-7 Implementation
public function processForm(ServerRequestInterface $request): void
{
$parsedBody = $request->getParsedBody();
$username = $parsedBody['username'] ?? '';
}
composer require --dev phpstan/phpstan:^1.12
composer require --dev phpstan/extension-installer:^1.4
composer require --dev saschaegerer/phpstan-typo3:^1.10
composer require --dev spaze/phpstan-disallowed-calls:^3.4
mkdir -p Build/phpstan
cp ~/.claude/skills/typo3-conformance/assets/Build/phpstan/phpstan.neon Build/phpstan/
cp ~/.claude/skills/typo3-conformance/assets/Build/phpstan/phpstan-baseline.neon Build/phpstan/
Edit Build/phpstan/phpstan.neon:
phpVersion to match your ext_emconf.php constraintpaths if you have non-standard directoriestype_coverage.property_type if 95% is too strict initiallyvendor/bin/phpstan analyze --generate-baseline Build/phpstan/phpstan-baseline.neon
This captures existing violations, allowing gradual improvement without blocking development.
{
"scripts": {
"ci:php:stan": "phpstan analyze --configuration Build/phpstan/phpstan.neon --no-progress"
}
}
# .github/workflows/ci.yml
- name: PHPStan Analysis
run: composer ci:php:stan
The baseline file captures known violations to prevent regression. As code improves, regenerate the baseline:
# Remove baseline to see all current violations
rm Build/phpstan/phpstan-baseline.neon
vendor/bin/phpstan analyze --configuration Build/phpstan/phpstan.neon
# Fix violations, then regenerate baseline for remaining issues
vendor/bin/phpstan analyze --generate-baseline Build/phpstan/phpstan-baseline.neon
Best Practice: Treat baseline regeneration as a quality gate. Each sprint, dedicate time to reducing baseline entries rather than expanding it.
For extensions not yet at Level 10, adopt progressively:
Rector provides automated refactoring and TYPO3 version migration capabilities, significantly reducing manual upgrade effort. The tea extension demonstrates comprehensive Rector integration for both PHP and TYPO3 modernization.
TYPO3 Version Migration
Rector automates the majority of breaking changes between TYPO3 versions:
->withSets([
Typo3LevelSetList::UP_TO_TYPO3_12, // Applies all migrations up to TYPO3 12
])
Available migration sets:
UP_TO_TYPO3_11 - Migrates from TYPO3 v10 to v11UP_TO_TYPO3_12 - Migrates from TYPO3 v10/11 to v12UP_TO_TYPO3_13 - Migrates from TYPO3 v10/11/12 to v13Each set includes dozens of automated transformations handling:
ExtEmConfRector - Automatic Constraint Maintenance
The ExtEmConfRector automatically updates ext_emconf.php version constraints based on your configuration:
->withConfiguredRule(ExtEmConfRector::class, [
ExtEmConfRector::PHP_VERSION_CONSTRAINT => '8.2.0-8.5.99',
ExtEmConfRector::TYPO3_VERSION_CONSTRAINT => '12.4.0-12.4.99',
])
When you migrate to TYPO3 v13, simply update the configuration:
ExtEmConfRector::TYPO3_VERSION_CONSTRAINT => '13.0.0-13.99.99',
Rector will automatically update your ext_emconf.php during the next run, ensuring version constraints remain synchronized with code changes.
PHPUnit Modernization
The PHPUnit set modernizes test code to current best practices. Note that TYPO3 v13 and v14.3 LTS ship with typo3/testing-framework:^9.5, which accepts PHPUnit ^11.2.5 || ^12.1.2 || ^13.0.2 — so this set delivers you from PHPUnit 9/10-era syntax into the 11/12/13-compatible space:
->withSets([
PHPUnitSetList::PHPUNIT_100, // PHPUnit 10+ syntax (forward-compatible with 11/12/13)
])
Transformations include:
@expectedException annotations → $this->expectException()assertContains() for strings → assertStringContainsString()Code Quality Improvements
TYPO3-specific code quality rules enforce best practices:
->withSets([
Typo3SetList::CODE_QUALITY,
Typo3SetList::GENERAL,
])
Example transformations:
// ❌ Before: Implicit global variable access
function myFunction() {
global $TYPO3_CONF_VARS;
return $TYPO3_CONF_VARS['SYS']['sitename'];
}
// ✅ After: Explicit global declaration
function myFunction() {
return $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'];
}
1. Check Mode (Dry Run)
Always start with a dry run to preview changes:
composer ci:rector -- --dry-run
This shows what Rector would change without modifying files, allowing review before application.
2. Apply Changes
After reviewing, apply transformations:
composer ci:rector
3. Validate Results
After Rector runs, validate the changes:
# Check for syntax errors
composer ci:php:lint
# Run static analysis
composer ci:php:stan
# Run tests to ensure behavior unchanged
composer ci:tests:unit
composer ci:tests:functional
4. Iterative Refinement
For large migrations, use Rector's --skip option to exclude problematic rules temporarily:
->withSkip([
SomeProblematicRector::class => [
__DIR__ . '/../../Classes/Legacy/',
],
])
Fix high-value issues first, then progressively enable more rules.
composer require --dev rector/rector:^1.2
composer require --dev ssch/typo3-rector:^2.9
For testing framework support:
composer require --dev ssch/typo3-rector-testing-framework:^2.0
mkdir -p Build/rector
cp ~/.claude/skills/typo3-conformance/assets/Build/rector/rector.php Build/rector/
Edit Build/rector/rector.php:
return RectorConfig::configure()
->withPhpVersion(PhpVersion::PHP_82) // Match your minimum PHP version
->withSets([
Typo3LevelSetList::UP_TO_TYPO3_12, // Your target TYPO3 version
])
->withConfiguredRule(ExtEmConfRector::class, [
ExtEmConfRector::PHP_VERSION_CONSTRAINT => '8.2.0-8.5.99',
ExtEmConfRector::TYPO3_VERSION_CONSTRAINT => '12.4.0-12.4.99',
]);
{
"scripts": {
"ci:rector": "rector process --config Build/rector/rector.php --no-progress",
"fix:rector": "rector process --config Build/rector/rector.php"
}
}
# .github/workflows/ci.yml
- name: Rector Check
run: composer ci:rector -- --dry-run
When upgrading between major TYPO3 versions:
Typo3LevelSetList to target versioncomposer ci:rector -- --dry-run to preview changescomposer ci:rector to apply transformationsNamespace Changes
// TYPO3 v12: Namespace consolidation
// Old: TYPO3\CMS\Core\Utility\ExtensionManagementUtility
// New: TYPO3\CMS\Core\Utility\ExtensionManagementUtility (no change in v12, but automated in future versions)
API Replacements
// ❌ Before: Deprecated GeneralUtility method
GeneralUtility::getIndpEnv('TYPO3_REQUEST_HOST');
// ✅ After: Modern API usage
$normalizedParams = $request->getAttribute('normalizedParams');
$host = $normalizedParams->getRequestHost();
Configuration File Updates
Rector can update TCA, TypoScript, and other configuration formats to current standards automatically.
Modern TYPO3 extensions increasingly include JavaScript and CSS for backend modules and frontend functionality. The tea extension demonstrates parity between PHP and frontend quality tools, ensuring consistent code standards across all languages.
ESLint enforces JavaScript code quality and catches common errors before runtime.
Configuration Highlights (.eslintrc.json):
{
"extends": ["eslint:recommended"],
"env": {
"browser": true,
"es2021": true
},
"rules": {
"no-console": "warn", // Prevent console.log in production
"no-debugger": "error", // Block debugger statements
"no-alert": "warn", // Discourage alert() usage
"prefer-const": "error", // Enforce const for immutable variables
"no-var": "error" // Enforce let/const over var
}
}
Key Benefits:
Setup:
# Install ESLint
npm install --save-dev eslint
# Copy configuration
mkdir -p Build/eslint
cp ~/.claude/skills/typo3-conformance/assets/Build/eslint/.eslintrc.json Build/eslint/
# Add script to package.json
{
"scripts": {
"lint:js": "eslint Resources/Public/JavaScript --config Build/eslint/.eslintrc.json"
}
}
# Run linting
npm run lint:js
CI Integration:
# .github/workflows/ci.yml
- name: JavaScript Linting
run: npm run lint:js
Stylelint enforces CSS and SCSS quality, preventing errors and maintaining consistent styling conventions.
Configuration Highlights (.stylelintrc.json):
{
"extends": "stylelint-config-standard",
"rules": {
"indentation": 2,
"string-quotes": "single",
"no-descending-specificity": null,
"selector-class-pattern": null
}
}
Key Benefits:
Setup:
# Install Stylelint
npm install --save-dev stylelint stylelint-config-standard
# Copy configuration
mkdir -p Build/stylelint
cp ~/.claude/skills/typo3-conformance/assets/Build/stylelint/.stylelintrc.json Build/stylelint/
# Add script to package.json
{
"scripts": {
"lint:css": "stylelint Resources/Public/Css --config Build/stylelint/.stylelintrc.json"
}
}
# Run linting
npm run lint:css
CI Integration:
# .github/workflows/ci.yml
- name: CSS Linting
run: npm run lint:css
Comprehensive frontend tooling requires proper package.json configuration:
{
"name": "typo3-extension-yourextension",
"version": "1.0.0",
"private": true,
"scripts": {
"lint:js": "eslint Resources/Public/JavaScript --config Build/eslint/.eslintrc.json",
"lint:css": "stylelint Resources/Public/Css --config Build/stylelint/.stylelintrc.json",
"lint": "npm run lint:js && npm run lint:css",
"fix:js": "eslint Resources/Public/JavaScript --config Build/eslint/.eslintrc.json --fix",
"fix:css": "stylelint Resources/Public/Css --config Build/stylelint/.stylelintrc.json --fix",
"fix": "npm run fix:js && npm run fix:css"
},
"devDependencies": {
"eslint": "^8.57.0",
"stylelint": "^16.8.0",
"stylelint-config-standard": "^36.0.0"
}
}
The tea extension demonstrates critical architectural principle: identical tooling locally and in CI. This prevents "works on my machine" issues.
Local Execution:
npm run lint # Same command developers run locally
CI Execution:
- name: Frontend Linting
run: npm run lint # Identical command in CI
Benefits:
Beyond core PHP and frontend linting, the tea extension demonstrates additional specialized tools for comprehensive quality coverage.
TypoScript configuration errors can cause runtime issues difficult to diagnose. TypoScriptLint provides static analysis for TypoScript files.
Configuration (TypoScriptLint.yml):
sniffs:
- class: Indentation
parameters:
indentPerLevel: 2
useSpaces: true
- class: DeadCode # Detects unused TypoScript
- class: OperatorWhitespace
- class: DuplicateAssignment
- class: NestingConsistency
Setup:
composer require --dev helmich/typo3-typoscript-lint:^3.2
mkdir -p Build/typoscript-lint
cp ~/.claude/skills/typo3-conformance/assets/Build/typoscript-lint/TypoScriptLint.yml Build/typoscript-lint/
# Add composer script
{
"scripts": {
"ci:typoscript:lint": "typoscript-lint --config Build/typoscript-lint/TypoScriptLint.yml Configuration/TypoScript"
}
}
Common Violations:
# ❌ Inconsistent indentation
page = PAGE
page {
10 = TEXT
10.value = Hello
}
# ✅ Consistent 2-space indentation
page = PAGE
page {
10 = TEXT
10.value = Hello
}
composer-unused: Identifies unused dependencies, reducing package bloat and security surface.
composer require --dev icanhazstring/composer-unused:^0.8
# Copy configuration
mkdir -p Build/composer-unused
cp ~/.claude/skills/typo3-conformance/assets/Build/composer-unused/composer-unused.php Build/composer-unused/
# Run analysis
vendor/bin/composer-unused --configuration Build/composer-unused/composer-unused.php
composer-normalize: Enforces consistent composer.json formatting.
composer require --dev ergebnis/composer-normalize:^2.43
# Add composer script
{
"scripts": {
"ci:composer:normalize": "composer-normalize --dry-run",
"fix:composer:normalize": "composer-normalize"
}
}
JSON Linting: Prevents malformed JSON in extension configuration.
{
"scripts": {
"ci:json:lint": "find . -name '*.json' -not -path './.Build/*' -exec php -l {} \\;"
}
}
XLIFF Validation: Ensures translation files are well-formed XML.
composer require --dev symfony/translation:^6.4
# Add validation script
{
"scripts": {
"ci:xliff:lint": "php Build/Scripts/validateXliff.php"
}
}
The tea extension demonstrates progressive enhancement philosophy for quality tools. Extensions at different maturity levels can adopt incrementally:
Phase 1 - Foundation (MVP Extensions):
Phase 2 - Intermediate (Production Extensions):
Phase 3 - Advanced (Reference Extensions):
70% test coverage with mutation testing
Phase 4 - Excellence (Showcase Extensions like Tea):
Core Principle: Every quality check runnable locally must use identical configuration and tooling in CI.
Implementation:
Build/ directoryExample:
{
"scripts": {
"ci:php:lint": "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -0 -n1 -P4 php -dxdebug.mode=off -l",
"ci:php:stan": "phpstan analyze --configuration Build/phpstan/phpstan.neon",
"ci:rector": "rector process --config Build/rector/rector.php --dry-run",
"ci:tests:unit": "phpunit --configuration Build/phpunit/UnitTests.xml",
"ci": [
"@ci:php:lint",
"@ci:php:stan",
"@ci:rector",
"@ci:tests:unit"
]
}
}
Benefits:
composer ci locally before pushingcomposer ci with identical behaviorEach tool has distinct responsibilities to prevent overlap and confusion:
| Tool | Responsibility | When to Run |
|---|---|---|
| PHP Lint | Syntax errors | Pre-commit, CI |
| php-cs-fixer | Code formatting, PSR-12 compliance | Pre-commit (auto-fix), CI |
| PHPStan | Type safety, static analysis, security | Pre-push, CI |
| Rector | Automated refactoring, migrations | Manual, CI (dry-run) |
| PHPUnit | Runtime correctness, behavior validation | Pre-push, CI |
| ESLint | JavaScript quality, errors | Pre-commit (auto-fix), CI |
| Stylelint | CSS quality, formatting | Pre-commit (auto-fix), CI |
Anti-Pattern: Don't use PHPStan to check formatting (use php-cs-fixer). Don't use php-cs-fixer for type checking (use PHPStan). Each tool excels at its purpose.
The tea extension demonstrates performance optimization for quality tools:
php-cs-fixer Parallelization:
$config->setParallelConfig(ParallelConfigFactory::detect());
Automatically detects CPU cores and parallelizes analysis, reducing execution time by 60-80% on multi-core systems.
PHPStan Parallelization:
parallel:
maximumNumberOfProcesses: 5
Limits parallel processes to prevent resource exhaustion while maintaining speed.
CI Matrix Parallelization:
strategy:
matrix:
php: ['8.2', '8.3', '8.4']
typo3: ['12.4', '13.0']
Tests run concurrently across combinations, providing fast feedback on compatibility.
Add the Netresearch marketplace once, then browse and install skills:
# Claude Code
/plugin marketplace add netresearch/claude-code-marketplace
Install with any Agent Skills-compatible agent:
npx skills add https://github.com/netresearch/typo3-conformance-skill --skill typo3-conformance
Download the latest release and extract to your agent's skills directory.
git clone https://github.com/netresearch/typo3-conformance-skill.git
composer require netresearch/typo3-conformance-skill
Requires netresearch/composer-agent-skill-plugin.
# Check current directory
cd /path/to/your-extension
~/.claude/skills/typo3-conformance/scripts/check-conformance.sh
# Check specific directory
~/.claude/skills/typo3-conformance/scripts/check-conformance.sh /path/to/your-extension
# File structure only
scripts/check-file-structure.sh /path/to/extension
# Coding standards only
scripts/check-coding-standards.sh /path/to/extension
# Architecture only
scripts/check-architecture.sh /path/to/extension
# Testing only
scripts/check-testing.sh /path/to/extension
/skill typo3-conformance
The skill activates automatically when:
Quick Conformance Check:
User: "Check if my TYPO3 extension follows current standards"
Claude: [Activates typo3-conformance skill]
- Analyzes file structure
- Checks coding standards
- Evaluates architecture patterns
- Reviews testing infrastructure
- Generates comprehensive conformance report
Detailed Architecture Review:
User: "Review the PHP architecture of my extension for TYPO3 best practices"
Claude: [Activates typo3-conformance skill]
- Focuses on dependency injection patterns
- Checks for deprecated patterns (GeneralUtility::makeInstance, $GLOBALS)
- Evaluates PSR-14 event system usage
- Reviews Extbase architecture if applicable
- Provides specific migration recommendations
Pre-TER Publication Check:
User: "My extension is ready for TER publication, please verify it meets all requirements"
Claude: [Activates typo3-conformance skill]
- Verifies all required files present (composer.json, ext_emconf.php, Documentation/)
- Checks file structure compliance
- Validates coding standards
- Reviews architecture patterns
- Assesses testing coverage
- Generates publication readiness report
The skill generates comprehensive markdown reports with dual scoring system:
Base Conformance (0-100 points) - MANDATORY
Excellence Indicators (0-20 points) - OPTIONAL BONUS
Interpretation:
# TYPO3 Extension Conformance Report
**Extension:** my_extension (v1.0.0)
---
## Score Summary
**Base Conformance:** 75/100
**Excellence Indicators:** 8/20 (Bonus)
**Total Score:** 83/120
### Base Conformance Breakdown
| Category | Score | Status |
|----------|-------|--------|
| Extension Architecture | 18/20 | ✅ Passed |
| Coding Guidelines | 15/20 | ⚠️ Issues |
| PHP Architecture | 16/20 | ✅ Passed |
| Testing Standards | 14/20 | ⚠️ Issues |
| Best Practices | 12/20 | ⚠️ Issues |
### Excellence Indicators (Bonus)
| Category | Score | Status |
|----------|-------|--------|
| Community & Internationalization | 4/6 | 🌟 Good |
| Advanced Quality Tooling | 2/7 | ⚡ Basic |
| Documentation Excellence | 1/4 | 📝 Standard |
| Extension Configuration | 1/3 | ⚙️ Minimal |
**Excellence Highlights:**
- ✅ Crowdin integration (+2)
- ✅ Professional README badges (+2)
- ✅ Fractor configuration (+2)
- ✅ Basic documentation structure (+1)
- ✅ Composer doc scripts (+1)
## Critical Issues
- ❌ 15 files missing declare(strict_types=1)
- ❌ 12 instances of GeneralUtility::makeInstance()
- ❌ Low test coverage (45% < 70% recommended)
## Recommendations
1. Add declare(strict_types=1) to all PHP files
2. Migrate to constructor injection
3. Increase unit test coverage
## Excellence Opportunities
- 🌟 Add TYPO3 CodingStandards package (+2 points)
- 🌟 Implement CI testing matrix (+1 point)
- 🌟 Add modern documentation tooling (+1 point)
- 🌟 Create multiple Configuration/Sets/ presets (+1 point)
This skill is based on official TYPO3 documentation:
Extension Architecture (20 points)
Coding Guidelines (20 points)
PHP Architecture (20 points)
Testing Standards (20 points)
Best Practices (20 points)
Community & Internationalization (0-6 points)
Advanced Quality Tooling (0-7 points)
Documentation Excellence (0-4 points)
Extension Configuration (0-3 points)
Excellence Interpretation:
// ❌ Before (Deprecated)
use TYPO3\CMS\Core\Utility\GeneralUtility;
class MyService
{
public function doSomething(): void
{
$repository = GeneralUtility::makeInstance(ProductRepository::class);
}
}
// ✅ After (Modern)
class MyService
{
public function __construct(
private readonly ProductRepository $repository
) {}
public function doSomething(): void
{
// Use $this->repository
}
}
// ❌ Before (ext_tables.php - Deprecated)
ExtensionUtility::registerModule(
'MyExtension',
'web',
'mymodule',
'',
[
\Vendor\MyExtension\Controller\BackendController::class => 'list,show',
]
);
// ✅ After (Configuration/Backend/Modules.php - Modern)
return [
'web_myext' => [
'parent' => 'web',
'position' => ['after' => 'web_info'],
'access' => 'user',
'path' => '/module/web/myext',
'labels' => 'LLL:EXT:my_extension/Resources/Private/Language/locallang_mod.xlf',
'extensionName' => 'MyExtension',
'controllerActions' => [
\Vendor\MyExtension\Controller\BackendController::class => [
'list',
'show',
],
],
],
];
Contributions are welcome! Please follow these guidelines:
git checkout -b feature/improvement)git commit -m 'Add improvement')git push origin feature/improvement)This project uses split licensing:
See the individual license files for full terms.
Issues and Questions:
Created by Netresearch DTT GmbH for the TYPO3 community.
Based on:
This skill is built upon the foundational work of the TYPO3 community. We gratefully acknowledge:
TYPO3 Core Development Team — For establishing and maintaining the extension architecture standards, coding guidelines, dependency injection patterns, and PSR-14 event system that form the basis of this conformance checker.
TYPO3 Best Practices Team — For the exemplary Tea Extension that serves as the reference implementation, demonstrating production-grade quality tooling, testing infrastructure, and CI/CD patterns.
TYPO3 Documentation Team — For the comprehensive official documentation that defines TYPO3 standards and makes conformance checking possible.
TYPO3 Content Types Team — For their work on structured content and TCA standards that inform extension architecture best practices.
TYPO3 Security Team — For establishing the security guidelines and patterns that inform our security-focused conformance checks.
Version: 1.12.0 Maintained By: Netresearch DTT GmbH Last Updated: 2025-12-02
Made with ❤️ for Open Source by Netresearch
A Claude Code skill by Hao (駱君昊) that learns your Facebook voice and auto-posts to FB / IG / Threads / X with a 14-day c
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Claude Code skill for YouTube creators — channel audits, video SEO, retention scripts, thumbnails, content strategy, Sho
Design enforcement with memory — keeps your UI consistent across a project