From xwiki
Announce an xwiki-contrib extension release by creating the "<Extension> Extension <version> Released" blog post on the xwiki.org Blog, following the contrib release-documentation convention (page name, title, content/summary templates, categories, publish date). Use after releasing an xwiki-contrib extension (groupId org.xwiki.contrib) when the blog-post step of the release documentation still needs doing. This is for contributed extensions only — not core xwiki-platform releases. For writing/reviewing general documentation pages use xwiki-doc-writing instead; for deploying a XAR/JAR to a running instance use xwiki-deploy-extension.
How this skill is triggered — by the user, by Claude, or both
Slash command
/xwiki:xwiki-contrib-release-blog-postThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill creates the release-announcement blog post on the **xwiki.org Blog** for an
This skill creates the release-announcement blog post on the xwiki.org Blog for an
xwiki-contrib extension (the "Documentation" step of releasing a contrib project). It applies to
contributed extensions published under the org.xwiki.contrib Maven groupId and listed on the
Extensions wiki — not to core xwiki-platform releases, which have their own release-notes process.
The authoritative source of truth is the Release → Documentation section of the contrib guide: https://contrib.xwiki.org/xwiki/bin/view/Main/WebHome#HDocumentation — when a detail here is unclear or looks outdated, consult that page and prefer it. The templates below already incorporate one fix the live guide was missing (the per-version page link, see step 3).
Browser mechanics (open/snapshot/fill/click) are handled by the agent-browser skill — load it for the how-to of driving Chrome; this skill covers only the XWiki-specific content and the gotchas.
From the extension page on the Extensions wiki (e.g.
https://extensions.xwiki.org/xwiki/bin/view/Extension/<ExtensionSpace>/) collect:
Extension/ in the URL (usually a single
segment, e.g. WikiLinkURLNormalizer). Used to build the reference
extensions:Extension.<space path>.WebHome.okf/servers/index.md, the extensions.xwiki.org row, for the
page-structure difference).
Extension/Documentation/, type "Project") aggregates child pages such as
Extension/Documentation/DocumentationApplication/ (type "Application/XAR"). The release
announcement targets the top-level Project page — its space path is the single segment
(Documentation), and the child pages are not what you link to. Confirm the type on the page
you intend to announce; if it says "Application"/"XAR" but sits under a "Project", step up to the
parent.https://extensions.xwiki.org/xwiki/bin/view/Extension/<ExtensionSpace>/Versions/<version>/
(reference extensions:Extension.<space path>.Versions.<version>.WebHome). The JIRA issues
listed there (e.g. "Add support for local URL fragments", "Depend on XWiki 15.10+") are the
basis for the release text and any minimal-version change.Versions/<version>/ sub-pages, but the Project homepage
itself has a Versions section with one heading per version, giving a stable in-page anchor
#H<version> (e.g. #H1.14) that the version link points at (see step 3). Gather the changes
from that section, and from the git log (git log --oneline <prev-tag>..<release-tag>) and the
JIRA/OpenProject issues referenced in the commit messages.Title: <Extension name> Extension <version> Released — e.g.
Wiki Link URL Normalizer Extension 1.10.0 Released.
Page name: lowercase kebab-case <extension>-extension-<version>-released. The Blog quick-add
form turns spaces and dots into dashes and keeps the original case, so it produces a
capitalized name like Wiki-Link-URL-Normalizer-Extension-1-10-0-Released — not what we want.
Instead create the page with a controlled name by opening the edit URL directly (nested page,
matching recent posts such as guided-tour-extension-0-1-released):
https://www.xwiki.org/xwiki/bin/edit/Blog/<page-name>/WebHome?template=Blog.BlogPostTemplate&parent=Blog.WebHome&title=<URL-encoded title>&Blog.BlogPostClass_0_title=<URL-encoded title>
with <page-name> = wiki-link-url-normalizer-extension-1-10-0-released (lowercase, dots → dashes).
The post's text + metadata live in a Blog.BlogPostClass xobject. Fill both the content and the
summary/extract fields.
Present the changes as a bullet list in the content field (one * bullet per change — bug fix,
feature, or minimal-version bump), following the intro sentence. The summary/extract field stays a
single flowing sentence — no bullet list there.
The version link points to the dedicated version page (the older guide pointed it at a
no-longer-existing anchor="H<version>" on the extension homepage):
Content:
The [[<extension name>>>doc:extensions:Extension.<space path>.WebHome]] [[<version>>>doc:extensions:Extension.<space path>.Versions.<version>.WebHome]] has been released.
This release brings the following changes:
* <change 1>
* <change 2>
* <...one bullet per change; last one is the minimal-version bump if any>
Summary / extract:
The [[<extension name>>>doc:extensions:Extension.<space path>.WebHome]] [[<version>>>doc:extensions:Extension.<space path>.Versions.<version>.WebHome]] has been released. <one-sentence description>
Escape the dots in <version> — . is the entity separator in XWiki references, so version
1.10.0 must be written 1\.10\.0. Example version link:
[[1.10.0>>doc:extensions:Extension.WikiLinkURLNormalizer.Versions.1\.10\.0.WebHome]]
extensions: is the cross-wiki prefix (the Blog is on the xwiki wiki, versions on the
extensions wiki — same farm, so doc: references resolve).
There is no dedicated version page, but the Project homepage's Versions section has a per-version
heading, so link the version to that in-page anchor anchor="H<version>" on the homepage. Unlike a
reference, the dots inside the anchor="..." string are not escaped (H1.14, not H1\.14):
Content:
The [[<extension name>>>doc:extensions:Extension.<space path>.WebHome]] [[<version>>>doc:extensions:Extension.<space path>.WebHome||anchor="H<version>"]] has been released.
This release brings the following changes:
* <change 1>
* <change 2>
* <...one bullet per change; last one is the minimal-version bump if any>
Summary / extract:
The [[<extension name>>>doc:extensions:Extension.<space path>.WebHome]] [[<version>>>doc:extensions:Extension.<space path>.WebHome||anchor="H<version>"]] has been released. <one-sentence description>
Example version link (Documentation project 1.14): the name "Documentation" reads awkwardly on its
own, so add the word "extension" after the link — The [[Documentation>>...]] extension [[1.14>>doc:extensions:Extension.Documentation.WebHome||anchor="H1.14"]] has been released.
Tick all six (these also push the announcement to the "What's New" feed of every XWiki instance):
ReleasesExtensionsContribWhat's New for XWikiWhat's New for XWiki: Admin UserWhat's New for XWiki: Extensiondd/mm/yyyy hh:mm:ss), unless the
user wants the posting date.Use the agent-browser skill. Key gotchas learned the hard way:
agent-browser --headed --session <name> open …. A pre-existing headless daemon for the default session will ignore --headed, so use a
fresh --session (and close --all / kill stragglers if needed). Transfer an existing login into
the new session with state save <file> from the logged-in session then --state <file> on the
headed launch.fill the resulting textarea with the wiki-syntax template.{{image}} (or any
{{macro}}) in the content is executed by the renderer at Preview — e.g. {{image}} fails with
Failed to execute the [image] macro. Cause: [Parameter [reference] is mandatory] and shows as a
.xwikirenderingerror. Refer to macros in prose ("the image macro"), not as {{image}}."How-to"
label) gets mangled if passed inline through the shell. Write the wiki syntax to a temp file and
fill with agent-browser … fill @ref "$(cat file.txt)" — command substitution keeps quotes literal.fill both fields from the files before re-previewing.
Category/Publish/date state does survive the round-trip; only the CKEditor content needs re-filling..xwikirenderingerror). Click "Back To Edit" to return.
href points to
…/Extension/<ExtensionSpace>/Versions/<version>/.href points to …/Extension/<ExtensionSpace>/#H<version>
(the Versions-section anchor on the homepage).Wiki Link URL Normalizer Extension 1.10.0 ReleasedBlog.wiki-link-url-normalizer-extension-1-10-0-releasedThe [[Wiki Link URL Normalizer>>doc:extensions:Extension.WikiLinkURLNormalizer.WebHome]] [[1.10.0>>doc:extensions:Extension.WikiLinkURLNormalizer.Versions.1\.10\.0.WebHome]] has been released.
This release brings the following changes:
* Adds support for normalizing local URLs that contain anchors (URL fragments)
* Raises the minimal supported XWiki version to 15.10
11/06/2026 12:00:00.…WebHome||anchor="H<version>") instead of a version sub-page — see §3 "Project
type". Example: the Documentation project 1.14 announcement links [[1.14>>doc:extensions:Extension.Documentation.WebHome||anchor="H1.14"]].npx claudepluginhub xwiki/xwiki-dev-llm --plugin xwikiGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.