Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

typo3-simplify错别字 3 简化

Agent Skill

typo3-simplify 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

675

周安装

29

GitHub Stars

26

下载量

237
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:typo3-simplify(错别字 3 简化)
来源仓库:https://github.com/dirnbauer/webconsulting-skills
仓库路径:skills/typo3-simplify
安装命令:
npx skills add https://github.com/dirnbauer/webconsulting-skills --skill typo3-simplify
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dirnbauer/webconsulting-skills --skill typo3-simplify

简介

typo3-simplify 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果。
  • 通过 npx skills add 命令从指定仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 当前无原始 SKILL.md 内容可参考,功能描述基于通用检索场景推断。

SKILL.md

TYPO3 Code Simplifier

Adapted from Boris Cherny's (Anthropic) code-simplifier agent for TYPO3 contexts. Target: TYPO3 v14.x only.

Simplify and refine recently changed TYPO3 code. Preserve all functionality. Focus on clarity over cleverness, TYPO3 API usage over custom implementations, and v14 patterns over deprecated approaches.

Process

  1. Identify recently modified files (use git diff --name-only HEAD~1 or staged changes)
  2. Run three parallel review passes: Reuse, Quality, Efficiency
  3. Aggregate findings, deduplicate, sort by impact
  4. Apply fixes, verify no behavior change

Pass 1: TYPO3 API Reuse

Find custom implementations that duplicate what TYPO3 already provides.

Replace Custom Code with Core APIs

Custom PatternTYPO3 API Replacement
Manual DB queries ($connection->executeQuery(...))QueryBuilder with named parameters
$GLOBALS['TYPO3_REQUEST']Inject ServerRequestInterface via middleware/controller
new FlashMessage(...) + manual queueFlashMessageService via DI
Manual JSON response constructionJsonResponse from PSR-7
GeneralUtility::makeInstance()Constructor injection via Services.yaml
$GLOBALS['TSFE']->id$request->getAttribute('frontend.page.information')?->getId() (canonical on v14; routing page id also works)
$GLOBALS['BE_USER']Inject Context or BackendUserAuthentication
ObjectManager::get()Constructor DI
Manual file path resolutionPathUtility, Environment::getPublicPath()
Custom caching with globalsCacheManager via DI with cache configuration
BackendUtility::getRecord() for single fieldQueryBuilder selecting only needed columns
Manual page tree traversalRootlineUtility or PageRepository
GeneralUtility::_GP() / _POST() / _GET()$request->getQueryParams() / getParsedBody()
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF'] writesPSR-14 events or ExtensionConfiguration
Manual link generationUriBuilder (backend) or ContentObjectRenderer::typoLink()

Replace Deprecated Patterns (v14)

Deprecatedv14 Replacement
ext_localconf.php hook arrays#[AsEventListener] on PSR-14 events
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] hooksPSR-14 events
ext_tables.php module registrationConfiguration/Backend/Modules.php
XCLASSPSR-14 events or DI decoration
TCA eval for required, nullDedicated TCA keys: required, nullable
TCA eval for trimStill valid in v14 — no dedicated TCA replacement; keep trim in eval when you need it
renderType => 'inputDateTime''type' => 'datetime'
'type' => 'input', 'eval' => 'int''type' => 'number'
items with numeric array keysitems with label/value keys

Historical removals (pre–v14 code you may still read)

Removed / legacyWhenModern approach
switchableControllerActionsDeprecated in v10.3 (#89463), removed in v12.0Separate plugin registrations
Signal/Slot DispatcherRemoved in v12PSR-14 events
AbstractPlugin (pi_base)Made @internal v12.0 (#98281), deprecated v12.4 (#100639), removed v13.0Extbase or middleware

Code quality (not deprecations)

TopicGuidance
$querySettings->setRespectStoragePage(false)Valid Extbase API — prefer setting query settings in the repository factory or controller, not scattered in repositories, for clarity

Pass 2: Code Quality

PHP Classes

  • One class per file, PSR-4 autoloading
  • declare(strict_types=1) on every PHP file
  • final on classes not designed for inheritance
  • readonly on immutable properties
  • Constructor promotion for DI dependencies
  • Explicit return types on all methods
  • No unused use imports
  • No suppressed errors (@)
  • Guard clauses over deep nesting (early returns)
  • No mixed types where specific types exist
  • Replace array typehints with typed arrays or DTOs
// Before
class MyService
{
    private ConnectionPool $connectionPool;
    private Context $context;

    public function __construct(ConnectionPool $connectionPool, Context $context)
    {
        $this->connectionPool = $connectionPool;
        $this->context = $context;
    }

    public function getData($id)
    {
        // ...
    }
}

// After
final class MyService
{
    public function __construct(
        private readonly ConnectionPool $connectionPool,
        private readonly Context $context,
    ) {}

    public function getData(int $id): array
    {
        // ...
    }
}

Fluid Templates

  • No inline PHP or complex ViewHelper chains
  • Use <f:translate> instead of hardcoded strings
  • Use <f:link.page> / <f:link.typolink> instead of manual <a href>
  • Use <f:image> instead of manual <img> tags
  • Partials for repeated markup (DRY)
  • Sections for layout slots, not for reuse (use Partials)
  • No {variable -> f:format.raw()} unless absolutely necessary (XSS risk)
  • Variables use camelCase
  • Remove empty <f:section> blocks
  • Simplify nested <f:if> to <f:switch> or ternary where clearer

TCA

  • Use v14 items format with label/value keys
  • Remove redundant 'exclude' => true on fields already restricted
  • Use dedicated types: 'type' => 'email', 'type' => 'datetime', 'type' => 'number', 'type' => 'link', 'type' => 'color', 'type' => 'json'
  • Use 'required' => true instead of 'eval' => 'required'
  • Use 'nullable' => true instead of 'eval' => 'null'
  • eval => trim remains supported — do not remove unless you replace trimming in another layer
  • Remove 'default' => '' on string fields (already default)
  • Consolidate palette definitions (remove single-field palettes)
  • Remove boilerplate columns definitions auto-created from ctrl on TYPO3 v14: hidden, starttime, endtime, fe_group, sys_language_uid, l10n_parent, l10n_diffsource
  • Use palettes for enablecolumns: Core uses palette key hidden for hidden, access for starttime, endtime, fe_group (verify keys in your table’s types showitem)
  • Remove standard ctrl columns from ext_tables.sql when ctrl enables them (hidden, starttime, endtime, fe_group, sys_language_uid, l10n_parent, l10n_source, sorting, deleted, crdate, tstamp) — only if they are auto-managed for that table
  • Remove unused showitem fields from types

Services.yaml

  • Use autowiring (remove explicit argument definitions when type-hintable)
  • Use _defaults: autowire: true, autoconfigure: true, public: false
  • Remove manual service definitions for classes that autowiring handles
  • Remove factory: blocks when autowiring handles construction; keep factory: for non-trivial construction that autowiring cannot resolve. #[Autoconfigure] tags/configures services but does not replace factory: construction
  • Remove public: true unless needed for GeneralUtility::makeInstance()

ext_localconf.php / ext_tables.php

  • Minimize code — move to Configuration/ files where possible
  • Plugin registration only (no business logic)
  • Frontend plugins: ExtensionUtility::configurePlugin() in ext_localconf.php and ExtensionUtility::registerPlugin() (or TCA items) in Configuration/TCA/Overrides/tt_content.php — both are required for a complete registration
  • No addPageTSConfig — use Configuration/page.tsconfig
  • No addUserTSConfig — use Configuration/user.tsconfig
  • No addTypoScript — use Configuration/TypoScript/setup.typoscript

Pass 3: Efficiency

  • QueryBuilder: select only needed columns, not *
  • QueryBuilder: add setMaxResults() when expecting single row
  • Use count() queries instead of fetching all rows to count
  • Cache expensive operations with TYPO3 Caching Framework
  • Avoid N+1 queries in Extbase repositories (use JOIN or batch loading)
  • Use TYPO3\CMS\Core\Resource\ProcessedFileRepository not re-processing on every request
  • Remove findAll() calls without pagination
  • Lazy-load file references with #[\TYPO3\CMS\Extbase\Attribute\ORM\Lazy] (replace legacy @Lazy annotation)
  • Replace foreach + manual in_array() filtering with QueryBuilder WHERE IN
  • Remove redundant cache:flush calls in CLI commands

Output Format

After analysis, report findings grouped by file:

## Classes/Controller/MyController.php

:42 — replace GeneralUtility::makeInstance(MyService::class) → constructor injection
:18 — add return type `: ResponseInterface`
:55 — deprecated: $GLOBALS['TSFE']->id → $request routing attribute
:67 — guard clause: invert condition, return early, reduce nesting

## Resources/Private/Templates/List.html

:12 — hardcoded string "No items found" → f:translate
:34 — manual <a href> → f:link.page

## Configuration/TCA/Overrides/tt_content.php

:8 — legacy items format `['Label', 'value']` → `['label' => 'Label', 'value' => 'value']`

Applied 7 fixes. No behavior changes. Run tests to verify.

Version fallbacks

When the same codebase must run on TYPO3 v13 and v14 (dual-version extensions), you may temporarily keep transitional patterns:

  • Register PSR-15 middleware in Configuration/RequestMiddlewares.php (Core-supported pattern)
  • Keep Services.yaml event listener config alongside #[AsEventListener]
  • Keep numeric TCA items arrays alongside label/value format
  • Prefer Services.yaml _defaults (autowire / autoconfigure) plus Core registration attributes (#[AsCommand], #[AsEventListener], …) over ad-hoc factory: blocks

v14-Only Simplification Targets

The following simplification opportunities are v14-specific.

v14 Simplification Patterns [v14 only]

PatternSimplification
$GLOBALS['TSFE'] accessFatal error in v14 (Breaking #107831) — replace with $request->getAttribute('frontend.page.information')
Extbase annotations (@validate)Replace with #[\TYPO3\CMS\Extbase\Attribute\Validate]
MailMessage->send()Inject TYPO3\CMS\Core\Mail\MailerInterface and call $this->mailer->send($email)
FlexFormService usagePrefer FlexFormTools; FlexFormService remains as a BC alias in v14 but should not be used in new code
Bootstrap Modal JSFrontend: native <dialog> where appropriate. Backend: use @typo3/backend/modal — it wraps native <dialog> in v14 (Breaking #107443); do not use raw Bootstrap modal JS
TCA ctrl.searchFields (removed in v14)TYPO3 v14 derives backend search fields automatically; tune inclusion per column with 'searchable' => true/false (supported field types: input, text, email, link, slug, color, datetime (without custom dbType), flex, json, uuid) where supported
Custom localization parsersDeprecated in v14 (#107436); migrate to Symfony Translation Component. Removed in v15
GeneralUtility::createVersionNumberedFilename()Replace with SystemResourceFactory / SystemResourcePublisherInterface (System Resource API, Feature #107537)

Credits & Attribution

This skill is based on the excellent work by Anthropic.

Original repository: https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-simplifier

Special thanks to Anthropic for their generous open-source contributions, which helped shape this skill collection. Adapted by webconsulting.at for this skill collection

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

32.86%
按下载量换算78

Claude

31.82%
按下载量换算75

Cursor

16.93%
按下载量换算40

Gemini CLI

9.52%
按下载量换算23

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills