Backport the automated test of one JIRA issue labelled testneeded to the currently-supported stable branches, adjust its @since tags across all branches, and open the PRs. Use when asked to backport the test of a given testneeded issue, or to catch a stable branch up with a recently-added test. (For several issues at…
Backport any change (bug fix, feature, refactor, or test) to an older branch of an XWiki repo (xwiki-platform / xwiki-commons / xwiki-rendering / xwiki-contrib). Cherry-pick -x the source commit(s) into a worktree, ADAPT the result to the older branch (module pom versions, Java level, @since tags, style/API…
Build and test XWiki Maven modules. Use when building XWiki, running its tests, or when the user mentions mvn, a build, a failing test, or a specific XWiki module.
Announce an xwiki-contrib extension release by creating the " Extension 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)…
Convert XWiki functional IT tests from the JUnit4 legacy framework (xwiki-platform-test-ui) to the JUnit5 Docker-based framework (@UITest). Covers module setup, @UITest configuration, WAR composition, repository setup, and common pitfalls.
Convert XWiki unit tests to JUnit5/Mockito and normalize style. Handles JUnit4, JMock, MockitoComponentMockingRule, and style cleanup of existing JUnit5 tests. For converting functional IT tests to the Docker framework, use the xwiki-convert-tests-docker skill.
Deploy an XWiki extension (XAR or JAR) to a running XWiki instance via the REST job API. Use when the user wants to install, deploy, or hot-reload a built extension into a local XWiki.
Convert OLD XWiki documentation into the new xwiki.org documentation tree. Old documentation = pages under https://www.xwiki.org/xwiki/bin/view/Documentation/ and all extension pages under https://extensions.xwiki.org/xwiki/bin/view/Extension/ (the Extensions wiki). New documentation =…
Write, update or review a page of XWiki documentation on xwiki.org, following the XWiki Documentation Guide (Diataxis type & audience, titles/page-names, page-structure fields, style, location, versioning). Use when authoring a NEW documentation page, updating an existing one, or reviewing a page for quality. Also use…
Find and fix open SonarCloud (SonarQube) issues in the current XWiki repo and open a PR. Use when asked to fix/clear/triage a SonarQube issue, reduce SonarCloud findings, or run a "fix one Sonar issue" pass. Per-rule fix correctness and drop conditions live in the OKF under okf/sonarqube/ — load the family file for…
Increase (and lock in) the unit-test coverage of an XWiki module. Run this automatically whenever unit tests are added or changed in a module — as part of that same change — as well as when explicitly asked to raise coverage. It recomputes the module's achieved JaCoCo instruction ratio and raises the module pom's…
Write clear, genuinely useful Javadoc for XWiki Java code, following the XWiki Java Code Style and the Oracle "How to Write Doc Comments" conventions. Use when adding or improving Javadoc on classes, interfaces, methods, fields or parameters in an XWiki repo — especially public/protected APIs, REST resources…
Interact with XWiki's self-hosted JIRA (jira.xwiki.org) — view, search, create, update, comment on and transition issues. Use when the user mentions a JIRA issue key (e.g. XWIKI-12345, XCOMMONS-123, XRENDERING-45), asks to file/triage/update a bug or task, or wants issue/sprint status. Uses jira-cli when installed…
Find and extend XWiki declarative knowledge held in the OKF knowledge base under this plugin's okf/ directory — conventions (code style, comments, commit format, versioning, backward compatibility), architecture (the component system), the dev-server ecosystem (JIRA, CI, Nexus, SonarCloud, forum), and release process.…
Move a deprecated public XWiki API out of a main module into its backward-compatibility -legacy module, so the main artifact drops the dead API while the legacy artifact re-adds it for existing extensions. Use when asked to remove/retire a deprecated class, interface, method or field, to "move an API to legacy", to…
Create a GitHub pull request for an XWiki repo (xwiki-platform, xwiki-commons, xwiki-rendering, xwiki-contrib). Use when opening a PR, writing a PR description, or preparing commits for a PR in an XWiki project.
Read from and write to a running XWiki instance over its REST API — get a page's content and its xobjects, update page content or object properties, create a new page (optionally with xobjects), and search pages with a Solr query. Use when the user wants to fetch/modify/create wiki pages or objects on a live XWiki…
EXPLICIT INVOCATION ONLY — never load this skill for a plain review request. A deliberately expensive multi-angle, XWiki-aware review of a change set (pull request, commit range, or working tree): it fans out one specialist reviewer per angle (conventions, architecture, backward compatibility, security, performance…
How to externalize and render translations in XWiki sheets, templates and wiki pages, safely (escaping/security) and correctly for i18n (word order). Use when adding/changing user-facing strings in .xml wiki pages, .vm templates, Translations documents, or .properties resource bundles.
Edit wiki pages shipped inside an XWiki extension's XAR — the .xml files under src/main/resources/ of a xar-packaging module. Use when hand-editing or adding an extension wiki page and you need the conventions and the mvn xar:format / xar:verify workflow (page version stays 1.1, authors, license, encoding…