
typo3-docs
Use when TYPO3 extension documentation has to render on docs.typo3.org, which builds a manual from Documentation/guides.xml and reads no Settings.cfg (a single README.rst serves an extension too small for one): when an extension has no documentation yet, or when creating, editing or reviewing Documentation/.rst, guides.xml, README.md or XLF translations, rendering docs with Docker, TYPO3 RST directives, screenshots, or XLIFF 2-space indentation (TYPO3 v14+).
- Installs
- 75
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/netresearch/typo3-docs-skill --skill typo3-docs- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads typo3-docs automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
TYPO3 Documentation Skill
Create and maintain TYPO3 extension documentation per docs.typo3.org standards.
Core Workflow
-
No
Documentation/yet? Run this, do not type the file out. The namespace is the part that comes out wrong when it is written from memory --guides.phpdoc.organdguides.typo3.orgare both addresses nobody serves -- and a file in the wrong namespace is well-formed XML that renders nothing:mkdir -p Documentation && cat > Documentation/guides.xml <<'XML' <?xml version="1.0" encoding="UTF-8"?> <guides xmlns="https://www.phpdoc.org/guides" links-are-relative="true"> <project title="TITLE" version="MAJOR.MINOR" release="MAJOR.MINOR.PATCH"/> </guides> XML grep -Fc 'xmlns="https://www.phpdoc.org/guides"' Documentation/guides.xmlSettings.cfgis the fileguides.xmlreplaced. Nothing reads it any more, so writing one leaves the extension with no rendered documentation and no error to show for it.The
grepprints1when the namespace is right and0when it is not. Then replace TITLE and both versions.<project>carries them as attributes; an element whose text is the extension key has no title and no release.assets/guides.xml.distholds the full file -- extension element, interlinks, build configuration -- and is the better starting point wherever the skill directory is reachable. -
Run extraction first to find gaps:
scripts/extract-all.sh /path/to/extension scripts/analyze-docs.sh /path/to/extension -
Consult the matching reference
-
Use TYPO3 directives, not plain text
-
Validate:
scripts/validate_docs.sh /path/to/extension -
Render:
scripts/render_docs.sh /path/to/extension
Critical: For "show docs", render HTML, not raw RST.
Element Selection Guide
| Content Type | Directive |
|---|---|
| Complete code | literalinclude (preferred) |
| Short snippets | code-block with :caption: |
| Config options | confval with :type:, :default: |
| PHP API | php:method:: -- :returntype: for nullable/union |
| Notices | note, tip, warning, important |
| Feature grids | card-grid with footer stretched-link |
| Alternatives | tabs (synchronized) |
| Screenshots | figure with :zoom: lightbox + border/shadow classes |
Critical Rules
Official docs are canonical; on conflict the live manual wins -- report
drift (references/canonical-sources.md).
Upstream:
- UTF-8, 4-space indent (no tabs), LF; wrap at 80 chars where possible
- CamelCase files, sentence case headings
- Permalink anchors (
.. _label:) before every heading - Index.rst in every subdirectory
- PNG/AVIF images with
:alt: - PHP domain: no
?Type/Type|nullinphp:method::; use:returntype:
NR policy: no mailto: (upstream allows it; spam/PII -- use
Issues/Discussions); .editorconfig in Documentation/.
Heuristic: ~250 lines per RST, split with toctree; screenshots where
they help (backend modules, config, workflows).
Code Example Validation
Cross-reference examples against source: grep method names in
Classes/, compare CLI arguments with configure().
See references/extraction-patterns.md.
Pre-Commit Checklist
- Code blocks have
:caption:, inline code uses proper roles - Screenshots exist with
:alt:and:zoom: lightbox scripts/validate_docs.shpasses, render has no warnings- README and Documentation/ synchronized
References
references/canonical-sources.md-- topic-to-upstream map, provenance labelsreferences/file-structure.md-- layout, namingreferences/guides-xml.md-- the guides.xml skeleton, build config, interlinksreferences/coding-guidelines.md-- CGL deltas, .editorconfigreferences/rst-syntax.md-- headings, punctuation pitfallsreferences/text-roles-inline-code.md--:php:,:guilabel:,:ref:references/code-structure-elements.md-- code blocks, confval, PHP domainreferences/typo3-directives.md-- confval, versionadded, deprecatedreferences/content-directives.md-- accordion, tabs, card-gridreferences/screenshots.md-- figures, image rules, SVG diagramsreferences/rendering.md-- Docker commands, live previewreferences/intercept-deployment.md-- webhook, build triggersreferences/asset-templates-guide.md-- templates, screenshot workflowreferences/architecture-decision-records.md-- ADR patternsreferences/documentation-coverage-analysis.md-- coverage scoringreferences/scripts-guide.md-- script optionsreferences/typo3-extension-architecture.md-- extension layoutreferences/upstream-docs-contribution.md-- upstream docs PRsreferences/render-guides-development.md-- changing the renderer itself: directive options, interlink parsing, integration-fixture semantics
FAQ
What does the typo3-docs skill do?
Use when TYPO3 extension documentation has to render on docs.typo3.org, which builds a manual from Documentation/guides.xml and reads no Settings.cfg (a single README.rst serves an extension too small for one): when an extension has no documentation yet, or when creating, editing or reviewing Documentation/.rst, guides.xml, README.md or XLF translations, rendering docs with Docker, TYPO3 RST directives, screenshots, or XLIFF 2-space indentation (TYPO3 v14+).
How do I install typo3-docs?
Run npx skills add https://github.com/netresearch/typo3-docs-skill --skill typo3-docs in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/typo3-docs/ (personal) or .claude/skills/typo3-docs/ (project).
Which AI agents can use typo3-docs?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is typo3-docs safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains typo3-docs?
It is published by netresearch in netresearch/typo3-docs-skill. It has 75 recorded installs.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.