netresearch/typo3-docs
v2.19.1(MIT AND CC-BY-SA-4.0)
Create and maintain TYPO3 extension documentation with RST validation
Changelog
All notable changes to the typo3-docs skill are documented here.
This project follows Semantic Versioning.
[Unreleased]
v2.19.1 — 2026-08-26
Fixed
- Comments in
check-guides-xml-schema.sh,validate_docs.shand checkpointTD-05named the benchmark case and repository the measurement came from. A skill that is itself under evaluation must not carry the evaluation's identifiers; the benchmark's contamination check flagged it (typo3-docs)
v2.19.0 — 2026-08-22
Fixed
scripts/validate_docs.shtested only thatDocumentation/guides.xmlexists and printed "guides.xml found (modern PHP-based rendering)" for a file in an invented schema — it never opened it. It now parses the file and exits non-zero unless the root element is inhttps://www.phpdoc.org/guidesand<project>carries non-emptytitleandreleaseattributes (typo3-docs)- Checkpoint
TD-05wascontains "<project", which a hallucinated<project>my-extension</project>satisfies. It now asserts the namespace and both attributes (typo3-docs)
Added
scripts/check-guides-xml-schema.sh, the parse-and-assert check both of the above use, runnable on its own (typo3-docs)
v2.18.0 — 2026-08-22
Added
assets/guides.xml.dist, the canonicalguides.xmlto copy when an extension has none, and a step 0 in the Core Workflow that says to copy it rather than write one from memory (typo3-docs)
Fixed
references/guides-xml.mdwas listed as "build config, interlinks", which hid that it also carries theguides.xmlskeleton — an agent creating documentation from nothing had no reason to open it (typo3-docs)compatibilityclaimed the skill needs "a TYPO3 extension with Documentation/ directory", which excluded the case the skill is most needed for (typo3-docs)
v2.17.0 — 2026-08-17
Added
- Checkpoint TD-51 flags
literalincludeline-selection options (:lines:,:start-after:,:end-before:,:start-at:,:end-at:) — the TYPO3 renderer does not implement them, renders the whole file and ignores the option silently (typo3-docs) objects.inv.jsonquery recipe for locating moved pages and:ref:targets via the manual's published object inventory instead of guessed rendered paths (typo3-docs)
Changed
- Screenshot viewport, iframe and "no symlinks in Documentation/" rules shrink to a reference plus the part that is genuinely ours, now that HowToDocument #539 and #543 carry them upstream (typo3-docs)
Fixed
- Replace the dead InterlinkInventories URL with its permalink form; the manual lives under
other/t3docs/, notother/typo3/render-guides/(typo3-docs) - Correct the todo rationale: the renderer silently drops todo content, so author notes must use plain comments (typo3-docs)
v2.16.0 — 2026-08-14
Added
- Upstream TYPO3-Documentation contribution guide as a reference (typo3-docs)
Changed
- Reconcile all reference files against their canonical upstream sources, with provenance labeled per rule (typo3-docs)
- Prune RST-family, build and config references to pointers plus agent-specific value (typo3-docs)
Fixed
- Align drifted authority rules with upstream wording, including the ~250-line report heuristic (typo3-docs)
- Correct four verified factual defects in the references (typo3-docs)
- guides.xml: remove the invented
theme=typo3docsmandate (typo3-docs)
v2.15.1 — 2026-08-12
Added
- Commit diagrams as SVG, and where render-guides puts them (typo3-docs)
v2.15.0 — 2026-08-08
Added
- Add Agent Plugins 1.0.0 portable manifest (manifest)
v2.6.0 — 2026-02-28
Added
- Heading hierarchy validation — new
validate_headings.pyscript checks RST files for TYPO3 heading convention violations:- First section heading not using
=(h2) - Non-standard underline characters (e.g.
^) - Skipped heading levels (e.g. h2 directly to h4 without h3)
- First section heading not using
Fixed
set -ecrash invalidate_docs.sh—((WARNINGS++))withset -eexits the script when the counter is 0 because bash treats((0))as falsy. Replaced all((VAR++))with safeVAR=$((VAR + 1))arithmetic.- Command injection in heading check — shell variable was interpolated
directly into
python3 -c; extracted to separate Python script withsys.argv[1]for secure filename passing.
v2.5.4 — 2026-02-25
Changed
- Replace generic emails with GitHub references
- Add skill validation CI job via centralized workflow
v2.5.3 — 2026-02-25
Changed
- Add version validation pre-push hook and
.envrc
v2.5.2 — 2026-02-24
Fixed
- Align SKILL.md with writing-skills quality standard
Changed
- Add lint CI (ShellCheck, Markdown, YAML)
v2.5.1 — 2026-02-24
Changed
- Standardize release workflow via centralized CI from skill-repo-skill
v2.5.0 — 2026-02-23
Changed
- Improve skill based on Claude Code insights analysis
v2.4.0 — 2026-02-22
Added
- Expand troubleshooting section with common content issues
v2.3.0 — 2026-02-21
Added
- Image zoom/lightbox support documentation (
:zoom: lightbox, gallery, inline, lens modes) - Enforce screenshot creation in validation
v2.2.1 — 2026-02-20
Fixed
- Update checkpoint patterns for extension assessment
v2.2.0 — 2026-02-19
Added
checkpoints.yamlfor automated extension assessment (TD-01 to TD-22)- Mechanical verification of documentation structure
- LLM-based review for RST quality and completeness
v2.1.1 — 2026-02-18
Fixed
- Remove duplicate hooks declaration (Claude Code auto-loads
hooks/hooks.json)
v2.1.0 — 2026-02-17
Added
- PreToolUse hook — validates RST syntax before writing to
Documentation/*.rstfiles - Detects common Markdown-to-RST conversion issues
- Quick reference for TYPO3 RST syntax in warnings
v2.0.2 — 2026-02-16
Fixed
- Correct
plugin.jsonversion to match tag
v2.0.1 — 2026-02-16
Fixed
- Update
plugin.jsonversion to match v2.0.0 release
v2.0.0 — 2026-02-15
Breaking
- Renamed
templates/toassets/— update any references fromtemplates/AGENTS.mdtoassets/AGENTS.md
Changed
- Rewritten SKILL.md with imperative/trigger-based writing style
- Complete documentation of all 15 references, 11 scripts, and 1 asset template
- Fixed non-existent
watch_docs.shscript reference - Updated internal path references in
add-agents-md.shandREADME.md
v1.9.3 — 2026-02-14
Changed
- Reduced SKILL.md size from 12,990 to 3,505 bytes (73% reduction)
v1.9.2 — 2026-02-13
Fixed
- Fix skills path format for Claude Code compatibility
v1.9.1 — 2026-02-12
Changed
- Restructured skill for Claude Code compatibility (
skills/typo3-docs/subdirectory)
v1.9.0 — 2026-02-11
Added
- Claude Code plugin structure (
plugin.json,.claude-plugin/)
v1.8.0 — 2026-02-10
Changed
- Prefer
literalincludefor complete code examples (5+ lines) - File naming convention with underscore prefix for code snippet files
- Text markers (
:start-after:,:end-before:) documentation - Updated decision guide and pre-commit checklist
v1.7.0 — 2026-02-09
Added
- Content directives guide (accordion, admonitions, cards, tabs, tables)
- Code structure elements guide (code-block, literalinclude, confval, PHP domain)
- Coding guidelines (.editorconfig, formatting, heading hierarchy)
- Init command workflow, live-view watch mode, screenshot guide
- Architecture Decision Records (ADR) documentation
v1.6.1 — 2026-02-08
Fixed
- Concise
composer.jsondescription, update email toinfo@netresearch.de
v1.6.0 — 2026-02-07
Added
- Warning about committing
Documentation-GENERATED-temp - Standardized installation,
composer.json, release workflow
v1.5.3 — 2026-02-06
Changed
- Prefer
guides.xml(modern PHP-based rendering) overSettings.cfg - Add webhook status codes to intercept-deployment reference
- GitHub CLI automation examples for webhook setup
- Fix
validate_docs.shto accept eitherguides.xmlorSettings.cfg
v1.5.2 — 2026-02-05
Fixed
schemaLocationpath — use../vendor/(relative fromDocumentation/)- Clarified format as
namespace-URI schema-pathpair
v1.5.1 — 2026-02-04
Fixed
guides.xmltheme syntax —thememust be attribute on<guides>, not a child elementschemaLocationURL — docs.typo3.org schema URL returns 404, use vendor path instead
v1.5.0 — 2026-02-03
Added
guides.xmlconfiguration reference with full template- Extension attributes reference, common inventory URLs
- Warning about deprecated
<theme>element
v1.4.0
Changed
- TYPO3 extension documentation skill for Claude Code
v1.2.0
- Release v1.2.0
v1.0.0
- Initial release