typo3-idea-extension-blog
Evaluates external ideas for TYPO3 extension potential, builds the extension, and drafts the companion German webconsulting.at MDX article. Use when the user shares a link, product, article, paper, or concept and asks whether it can become a TYPO3 extension, wants a GitHub-ready implementation, or needs a publication-ready TYPO3 blog post.
What this skill does
# Idea -> TYPO3 Extension -> Blog Post Pipeline
> Source: https://github.com/dirnbauer/webconsulting-skills
Turn an external idea into a complete TYPO3 outcome: research, honest assessment, build, Git push, and German MDX publication draft.
## Non-Negotiables
- Do not skip source verification. Read the original source, not only summaries.
- Do not oversell. Say plainly when something is hype, vaporware, duplicated, or a poor TYPO3 fit.
- Do not rebuild TYPO3 features that already exist in Core or a mature extension ecosystem.
- Do not ask endless questions. Ask at most 10 focused questions, then move.
- Do not build before the user confirms the concept assessment.
- Do not leave credentials behind after a Git push.
## Recommended Skill Stack
Load adjacent skills when they materially improve the result:
- `grill-me`: use this right after the initial source summary to interrogate what the user actually wants to transfer into TYPO3 and to resolve open product decisions one question at a time
- `firecrawl`: fetching the source page, repo pages, and independent coverage
- `typo3-update`: TYPO3 v14-first architecture and API choices
- `typo3-testing`: unit tests and verification structure
- `webconsulting-create-documentation`: help when shaping the MDX deliverable
## Workflow
### Phase 1: Research & Verify (Do Not Skip)
1. Fetch the full article, announcement, or product page with the available web-fetch tooling.
2. Verify legitimacy through independent coverage. Search for discussion on news and community sites such as Hacker News, Slashdot, and Phoronix when relevant.
3. Check whether the project has a real public codebase. If it claims to be open source, verify that the GitHub or GitLab repository contains actual code and recent activity, not just a README.
4. Check whether TYPO3 already solves the problem through Core, a maintained extension, or a proven adjacent pattern.
5. Summarize the source for the user in 3-5 sentences before asking anything else.
If the idea is a hoax, April Fools post, abandoned repo, or obvious vaporware, say so immediately and pivot to alternatives.
### Phase 2: Clarify What We Actually Want
Start the scoping conversation with `grill-me` style discipline:
- walk the design tree branch by branch
- ask only one question at a time
- provide a recommended answer with each question
- stop after the scope is clear, not after an arbitrary maximum
Still keep the total question count lean. Ask at most 10 focused questions. Prefer a structured input tool if the client supports it; otherwise ask concise plain-text questions.
Good questions:
- Which ideas are actually worth transferring to TYPO3?
- Should the output include an extension, a blog post, or both?
- Should the extension target headless mode, traditional TYPO3 frontend, or both?
- Should the repo be private or public?
- Is the blog language German? Default to German for webconsulting.at.
Do not ask questions whose answers are already obvious from the user request or local context.
### Phase 3: Concept Assessment
Write a concise assessment before building. Cover these five areas:
| Area | What to cover |
|------|----------------|
| What TYPO3 already does better | Core features, mature extensions, existing APIs, reasons not to reinvent |
| What is genuinely new | Transferable ideas, UX patterns, workflow gains, technical differentiators |
| What is needed first | Dependencies, APIs, legal review, infrastructure, third-party services |
| Honest risks | Regulatory, adoption, maintenance, performance, ecosystem mismatch |
| Recommended architecture | TYPO3 mapping such as PSR-15 middleware, PSR-14 events, TCA, Extbase, CLI commands, site sets |
Present this as a short table or tightly written prose. Then stop and get explicit user confirmation before implementation.
### Phase 4: Build the TYPO3 Extension
Build a complete, push-ready TYPO3 extension when the concept passes review.
#### Repository Shape
Use this structure unless the project clearly needs a smaller variant:
```text
extension-name/
├── composer.json
├── README.md
├── LICENSE
├── .gitignore
├── Configuration/
│ ├── Services.yaml
│ ├── RequestMiddlewares.php
│ ├── TCA/Overrides/
│ ├── Capabilities.yaml
│ └── Sets/
├── src/
│ ├── Middleware/
│ ├── Service/
│ ├── Configuration/
│ ├── Event/
│ ├── Command/
│ └── Domain/Model/
├── Resources/Private/Language/
├── config/
├── ext_tables.sql
├── tests/Unit/
├── phpunit.xml.dist
└── phpstan.neon
```
#### Implementation Rules
- Target TYPO3 v14 first, with TYPO3 13.4 fallback where reasonable.
- Use `declare(strict_types=1);` everywhere.
- Require PHP 8.2+.
- Use Composer type `typo3-cms-extension`.
- Use PSR-4 autoloading under `Webconsulting\{ExtensionName}\`.
- Prefer Symfony DI in `Configuration/Services.yaml`.
- Use PSR-15 for middleware and PSR-14 for events.
- Avoid legacy patterns such as `$GLOBALS['TYPO3_DB']`, hard dependencies on `ext_emconf.php`, and old signal-slot patterns.
- Always include `Configuration/Capabilities.yaml` and keep it honest.
- Add unit tests for value objects, configuration parsing, and core decision logic.
#### Architecture Choices
Choose the lightest TYPO3-native shape that solves the problem:
- use middleware for request/response concerns, headers, gateways, and protocol adapters
- use Extbase only when you truly benefit from controller and domain modeling
- use TCA overrides and site sets when the main value is editor-facing configuration
- use CLI commands with `#[AsCommand]` for imports, sync jobs, and batch tasks
- prefer existing TYPO3 APIs before inventing custom persistence or routing layers
### Phase 5: Push to GitHub
If the user wants the extension pushed:
1. Confirm the user already created the empty repository manually when API-based repo creation is blocked.
2. Configure git remote and authentication only for the duration needed.
3. Commit with a descriptive message.
4. Push to `main`.
5. Remove stored credentials immediately after the push.
Never leave tokens in shell history, committed files, examples, or config templates.
### Phase 6: Write the Blog Post
Create a publication-ready MDX post for webconsulting.at.
#### Writing Rules
- Language: German by default
- Tone: factual, professional, technically honest
- Gender-neutral language: use colon format such as `Nutzer:innen`
- Translate features into practical benefits
- Avoid marketing filler and empty superlatives
#### Required Frontmatter
Include:
- `date`
- `title`
- `description`
- `author` set to `Kurt Dirnbauer`
- `status`
- `categories`
- `lang`
#### Required Sections
1. `Auf einen Blick` with 4-6 bullets
2. Introduction with 2-3 short paragraphs
3. Technical explanation
4. TYPO3 implementation
5. Honest assessment with a warning-style callout
6. Installation and usage with copy-paste-ready commands
7. Roadmap using a timeline component
8. `Fazit` with a CTA to `/kontakt`
#### MDX Components
Use components only where they clarify the article:
- `Tabs` and `Tab`
- `DataTable`
- `ComparisonTable`
- `Callout`
- `Accordion`
- `Timeline`
- `TechResourceCallout`
- fenced code blocks with language labels
- Mermaid diagrams for architecture and flow
Always include a `TechResourceCallout` pointing to the GitHub repository when one exists.
### Phase 7: Deliver
At the end:
1. Push the extension when requested.
2. Present or save the MDX file in a way the user can open directly.
3. Confirm credentials were cleaned up.
4. Provide a 5-line summary of what was delivered.
## Decision Framework
| Signal | Action |
|--------|--------|
| Real idea, verified, good TYPO3 mapping | Build extension and blog post |
| Real idea, useful analysis, weak TYPO3 mapping | Write blog post only |
| Hoax, April Fools, or empty hype | Say so and suggest alternatives |
| Already solved well in TYPO3 | Point to the existing solution instead of rebuilding |
| Requires language/runtime changes TYPO3 cannot realistically absorb | DoRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.