From craft-workspace-webconsulting-skills
Build, review, or migrate TYPO3 v14 backend Web Components with Lit, ES module import maps, and backend module integrations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/craft-workspace-webconsulting-skills:typo3-webcomponentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Source: https://github.com/dirnbauer/webconsulting-skills
Use this skill for TYPO3 v14 backend programming with standards-based Web Components and Lit. Treat v14 as the only compatibility target: do not add TYPO3 12/13 fallbacks unless the user explicitly asks for a migration note, and verify current v14 APIs in the official TYPO3 docs before implementing.
This skill was created from the Anthropic-style skill-creator workflow and follows progressive disclosure: keep the top-level workflow short, then read the focused references when code or review depth is needed.
Use these nearby TYPO3 skills together when the task touches their domain:
typo3-datahandler: backend UI triggers record creation, update, move, delete, localization, workspace publishing, or any TCA-managed write.typo3-workspaces: the component displays or mutates draft/live state, staged records, publish actions, overlays, or workspace previews.typo3-visual-editor: the task involves inline editing, content-area rendering, or the Visual Editor context panel.typo3-vite: frontend bundling, frontend Web Components, production asset hashing, or external build pipelines are required.typo3-testing: add Playwright, acceptance, or backend module tests for interactive components.typo3-translations: add XLIFF labels, imported label modules, or localized backend strings.Web Components are browser standards for custom reusable HTML elements. The usual building blocks are Custom Elements, Shadow DOM, and templates/slots. A component can appear in markup like <vendor-status-card></vendor-status-card> and the browser connects it to a JavaScript class.
TYPO3 backend Web Components are custom elements used inside the authenticated TYPO3 backend. TYPO3 v14 uses ES modules, import maps, @typo3/* module identifiers, backend module configuration, FormEngine/Form Editor JavaScript, and Lit-based components for parts of the backend UI. The right model is "small interactive backend UI islands", not a separate SPA unless the backend feature genuinely needs one.
Lit is a small library on top of Web Components. In the TYPO3 backend, prefer Lit when the element has reactive state, templated rendering, repeated DOM updates, slots, or a reusable public API. Use plain vanilla JavaScript for tiny one-off behavior where a custom element would be ceremony.
Answer frontend questions precisely:
@typo3/* backend modules belong in the frontend? No by default. They are backend infrastructure for authenticated backend pages.top.TYPO3, backend CSS, or backend component modules exist in frontend requests.typo3-vite when bundling is needed.Configuration/JavaScriptModules.php, Resources/Public/JavaScript, backend module controllers, Fluid templates, Configuration/Backend/Modules.php, Configuration/Backend/AjaxRoutes.php, and Form Framework YAML if relevant.@customElement( and verify whether a component is meant to be reused.component or navigationComponent only when the module shell itself needs a component.Configuration/JavaScriptModules.php. Use absolute import-map identifiers such as @vendor/my-extension/backend/status-card.js; avoid relative imports in TYPO3-loaded modules.PageRenderer->loadJavaScriptModule() in controllers or <f:asset.module identifier="..."/> in Fluid. Do not add inline scripts for backend component bootstrapping.@typo3/core/ajax/ajax-request.js.DataHandler for TCA-managed records and configure inheritAccessFromModule on related AJAX routes.Read references/examples-and-howtos.md when implementing code. It includes import maps, Lit components, Fluid loading, AJAX routes, Form Editor modernization, and reusable component examples.
Read references/checklists.md when reviewing or migrating code. It includes dos and donts, speed guidance, security/accessibility checks, source links, and the related-skill comparison.
Lit is fast and small, but it does not make inefficient code fast. Keep render() pure and cheap; compute expensive derived data outside render, debounce high-frequency input, replace arrays/objects instead of mutating them in place, abort stale fetches, cache server results where appropriate, and lazy-load backend modules only on pages that need them.
In TYPO3 v14 frontend asset concatenation/compression was removed from Core, so frontend production assets need an external build tool. Backend ES modules are import-mapped and loaded on demand; still avoid shipping large backend bundles to every module.
Use these sources when refreshing facts:
f:asset.module, backend AJAX, Form Editor, and v14 changelogs.https://dev.ochorocho.dev/camp-vienna#/.https://github.com/ochorocho/lit_demo.https://lit.dev/.https://developer.mozilla.org/en-US/docs/Web/API/Web_components.Special thanks to ochorocho for the Camp Vienna material and lit_demo examples that informed the practical TYPO3 backend Lit patterns in this skill.
npx claudepluginhub dirnbauer/webconsulting-skillsConfigures Vite 7 for TYPO3 v13/v14 LTS projects with SCSS/Bootstrap 5.3 theming, per-content-element entrypoints, SVG optimization, PostCSS (autoprefixer/cssnano), local fonts, asset hashing, compression, and CSP compliance via vite-asset-collector.
Provides battle-tested TYPO3 Fluid template patterns for v12+ site packages, covering template hierarchy, CMS-first content architecture, responsive images, and WCAG 2.1 AA accessibility.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.