Branch: refs/heads/xwiki-ui-before-after-skill Home: https://github.com/xwiki/xwiki-dev-llm Commit: 338d33075b7fe714e365083296b8699384128e52 https://github.com/xwiki/xwiki-dev-llm/commit/338d33075b7fe714e365083296b869... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M .claude-plugin/marketplace.json M README.md M kimi.plugin.json M opencode.jsonc M xwiki/.claude-plugin/plugin.json M xwiki/okf/index.md M xwiki/skills/xwiki-deploy-extension/SKILL.md A xwiki/skills/xwiki-ui-before-after/SKILL.md A xwiki/skills/xwiki-ui-before-after/build-comparison-3col.py A xwiki/skills/xwiki-ui-before-after/build-comparison.py A xwiki/skills/xwiki-ui-before-after/element-screenshot.js A xwiki/skills/xwiki-ui-before-after/expand-and-shoot.js A xwiki/skills/xwiki-ui-before-after/export-to-png.js A xwiki/skills/xwiki-ui-before-after/references/gotchas.md A xwiki/skills/xwiki-ui-before-after/references/release-notes-comparison.md A xwiki/skills/xwiki-ui-before-after/setup-class-object.js A xwiki/skills/xwiki-ui-before-after/setup-instance.sh A xwiki/skills/xwiki-ui-before-after/setup-xar-instance.sh A xwiki/skills/xwiki-ui-before-after/sync-static-resource.sh A xwiki/skills/xwiki-ui-before-after/xwiki-login.js Log Message: ----------- [Misc] Add the xwiki-ui-before-after skill Contributes the before/after UI comparison procedure and its helper scripts as a plugin skill: build a UI change's pre-fix and post-fix code, run both against a local XWiki instance, and export one side-by-side PNG. Personal paths are replaced by $XWIKI_UI_SKILL (resolved from the per-host plugin root) and $XWIKI_TEST_INSTANCES_DIR, and the gotchas and release-notes variant move into references/ so SKILL.md stays the decision path. Commit: bb0194e98c6ef3b7b2ce22e0717a67bd84641993 https://github.com/xwiki/xwiki-dev-llm/commit/bb0194e98c6ef3b7b2ce22e0717a67... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/references/gotchas.md M xwiki/skills/xwiki-ui-before-after/sync-static-resource.sh Log Message: ----------- [Misc] Cover skin templates in the xwiki-ui-before-after skill Adds a --target-root flag to sync-static-resource.sh so it can deploy a pom-packaged skin module's .vm and .less files under webapps/xwiki/skins/, documents that neither path needs a Maven build or a restart, and requires the capture script to log the compared property in both states, since --verify has no equivalent when the deploy is a file copy. Commit: b66aca645878b202f9b44b2e20f9a7fba1ef28ad https://github.com/xwiki/xwiki-dev-llm/commit/b66aca645878b202f9b44b2e20f9a7... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/build-comparison-3col.py M xwiki/skills/xwiki-ui-before-after/build-comparison.py Log Message: ----------- [Misc] Pair the context shot with the detail crop in xwiki-ui-before-after Adds an optional "context" key to each cell of both comparison builders, rendering the wider shot above the detail crop inside the same panel, and states that a scenario is a state or interaction rather than a zoom level, so the same element is never compared twice in two rows. Commit: 884c2818982625949346d3fd6dd38b5666f82af7 https://github.com/xwiki/xwiki-dev-llm/commit/884c2818982625949346d3fd6dd38b... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/references/gotchas.md M xwiki/skills/xwiki-ui-before-after/setup-instance.sh M xwiki/skills/xwiki-ui-before-after/setup-xar-instance.sh Log Message: ----------- [Misc] Delegate deploy, Maven and instance rules to the existing skills Sends the XAR deploy to xwiki-deploy-extension, keeping setup-xar-instance.sh only as the fallback for the version-drift InstallException that route cannot handle. Builds through xmvn when it is available, per xwiki-build, since this skill builds old commits that may target an older Java than the machine default. Replaces the oldcore-specific weaving lecture with xwiki-build's general rule, keeping only the consequence for a jar swap. Adds a port check and the never-stop-an-instance-you-did-not-start rule to step 0. Sets the plugin version to 1.1.14. Commit: 556193e7ec5b375a60be12809090aa0a8073d626 https://github.com/xwiki/xwiki-dev-llm/commit/556193e7ec5b375a60be12809090aa... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/references/gotchas.md M xwiki/skills/xwiki-ui-before-after/references/release-notes-comparison.md Log Message: ----------- [Misc] Restructure the xwiki-ui-before-after procedure around one state at a time Splits the 137-line capture step into deploy-one-state and capture-one-state, so the before, after and restore runs are three invocations of the same pair instead of one step plus a "same as above". Leads the fixture step with finding a page that already exercises the change, demoting the PropertyClass helpers to a sub-case they always were. Adds a worked example, a prerequisites preflight, the XWIKI_BASE_URL/ADMIN_USER/ADMIN_PASS variables the JS helpers already read, a copyable --verify invocation, and the note that only the jar and xar paths need the instance version to match the branch. Commit: a49e7ba519fd1a52c1eacc7134064c0af44ed4f9 https://github.com/xwiki/xwiki-dev-llm/commit/a49e7ba519fd1a52c1eacc7134064c... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/build-comparison-3col.py M xwiki/skills/xwiki-ui-before-after/build-comparison.py M xwiki/skills/xwiki-ui-before-after/element-screenshot.js M xwiki/skills/xwiki-ui-before-after/xwiki-login.js Log Message: ----------- [Misc] Correct the xwiki-ui-before-after assertion, login and context-shot advice A clean-room run of the skill found its own example snippets unusable. The assertion selector addressed a hidden input that never changes, so it produced the same value in both states - the signal step 4 tells you to read as a failed deploy; it now addresses the button by name and the document says why positional selectors bite here. login() took a base URL with the /xwiki suffix and requested /xwiki/xwiki/..., silently leaving the session logged out; it now accepts either form, defaults from the environment, and fails loudly when no form appears rather than gating on the 401 that XWiki serves the login page with. screenshotElement grew a maxHeight cap so a context shot can be a band of page ending below the element, which is what the guidance asks for and what padding cannot express. Also: states that every path needs a running instance and how to wait for one, adds the grep and md5sum checks that catch a bad deploy and a crop that misses the change, documents that repro is raw HTML while captions are escaped, and replaces the worked example's invented log lines with captured ones. Commit: 23a7cc140c4c0b455e2b4a9d8d8dd224e29c470c https://github.com/xwiki/xwiki-dev-llm/commit/23a7cc140c4c0b455e2b4a9d8d8dd2... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/setup-instance.sh M xwiki/skills/xwiki-ui-before-after/setup-xar-instance.sh Log Message: ----------- [Misc] Fix the worktree path, usage output and pixel-diff advice in xwiki-ui-before-after A second clean-room run, on a webjar module in a linked git worktree, broke on two script bugs. Both setup scripts derived the throwaway worktree from $REPO_ROOT/.git, which is a file rather than a directory in a linked worktree, so building any non-HEAD ref failed outright; they now use --git-common-dir, which resolves correctly from a main checkout and a linked worktree alike. Both also died on an unbound variable when run with no arguments, which the procedure told the reader to do for the flag docs; they now print their own header as usage, for --help and for a missing argument. Replaces the md5sum check added in the previous commit, which is unsound because a live instance's screenshots are not byte-reproducible, with compare -metric AE plus a noise-floor method instead of invented thresholds. Adds webjar to the packaging list, a branch for fixes that are semantic rather than visual, the detached run recipe for builds that outlive a tool timeout, and the note that a context band anchors towards the chrome, which is not always upwards. Commit: 99ba9315b9ea83ddafc64a1de9b313a60066c5a6 https://github.com/xwiki/xwiki-dev-llm/commit/99ba9315b9ea83ddafc64a1de9b313... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md A xwiki/skills/xwiki-ui-before-after/references/design-comparison.md M xwiki/skills/xwiki-ui-before-after/references/gotchas.md Log Message: ----------- [Misc] Trim xwiki-ui-before-after back to the decision path SKILL.md had accumulated diagnostic detail that belongs beside the gotchas rather than inside the procedure: why a positional selector picks the wrong node in the skin templates, how --verify matches an artifactId, both anchoring directions for a context band, measured pixel-diff magnitudes, the CSRF root-cause note and the login page's 401. Those move to references/gotchas.md, leaving the rule and the command in each step. The 3-column design-prototype variant, which applies only when a mockup exists, moves to references/design-comparison.md. Drops the layout-constraints list duplicated verbatim from build-comparison.py's docstring, a backgrounding paragraph made obsolete by the detached-run recipe, and the restatements of the before-ref rule and the git-safety anecdote. Commit: 9cee22546cd7571f7fd53fbc43ae217245ae388c https://github.com/xwiki/xwiki-dev-llm/commit/9cee22546cd7571f7fd53fbc43ae21... Author: LucasC <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M xwiki/skills/xwiki-ui-before-after/SKILL.md M xwiki/skills/xwiki-ui-before-after/references/gotchas.md Log Message: ----------- [Misc] Cut the xwiki-ui-before-after gotchas to what is actually XWiki-specific Drops the generic cost-discipline checklist, which was four bullets of advice any careful reader already follows, down to one paragraph. Drops two entries that no longer apply to this skill: the AppWithinMinutes class-editor save button, whose own text concedes the selector is rarely the problem and whose wizard the procedure tells you not to automate, and ApplicationClassEditPage, which belongs to the Java functional-test framework this skill does not use. Merges the two "selector matches but the element is not usable" entries, which described one failure with two causes, and compresses the pstree and --verify entries to their nugget. Commit: 73ea17680257924f646316fb752d5f3ef70ee0fa https://github.com/xwiki/xwiki-dev-llm/commit/73ea17680257924f646316fb752d5f... Author: Vincent Massol <[email protected]> Date: 2026-08-30 (Sun, 30 Aug 2026) Changed paths: M .claude-plugin/marketplace.json M README.md M kimi.plugin.json M opencode.jsonc M xwiki/.claude-plugin/plugin.json M xwiki/instructions/xwiki-org.md M xwiki/okf/conventions/documentation-migration.md M xwiki/okf/conventions/documentation.md M xwiki/okf/index.md M xwiki/okf/servers/index.md M xwiki/okf/servers/jenkins.md M xwiki/okf/servers/jira.md M xwiki/scripts/inject-org-instructions.mjs M xwiki/skills/xwiki-doc-convert/SKILL.md A xwiki/skills/xwiki-doc-convert/references/conversion-plan.md M xwiki/skills/xwiki-doc-writing/SKILL.md M xwiki/skills/xwiki-doc-writing/tools/README.md M xwiki/skills/xwiki-doc-writing/tools/docpages.py M xwiki/skills/xwiki-doc-writing/tools/xwikidoc.py M xwiki/skills/xwiki-pull-request/SKILL.md M xwiki/skills/xwiki-rest-api/SKILL.md Log Message: ----------- Merge branch 'master' into pr-81 # Conflicts: # .claude-plugin/marketplace.json # kimi.plugin.json # opencode.jsonc # xwiki/.claude-plugin/plugin.json Commit: 54b7dffca2575704a377ac905c44d273d9b56c05 https://github.com/xwiki/xwiki-dev-llm/commit/54b7dffca2575704a377ac905c44d2... Author: Vincent Massol <[email protected]> Date: 2026-08-30 (Sun, 30 Aug 2026) Changed paths: M README.md M xwiki/okf/index.md A xwiki/skills/xwiki-capture-ui-change/SKILL.md A xwiki/skills/xwiki-capture-ui-change/common.sh A xwiki/skills/xwiki-capture-ui-change/element-screenshot.js A xwiki/skills/xwiki-capture-ui-change/references/gotchas.md A xwiki/skills/xwiki-capture-ui-change/setup-class-object.js A xwiki/skills/xwiki-capture-ui-change/setup-instance.sh A xwiki/skills/xwiki-capture-ui-change/setup-xar-instance.sh A xwiki/skills/xwiki-capture-ui-change/sync-static-resource.sh A xwiki/skills/xwiki-capture-ui-change/xwiki-login.js M xwiki/skills/xwiki-deploy-extension/SKILL.md M xwiki/skills/xwiki-pull-request/SKILL.md R xwiki/skills/xwiki-ui-before-after/SKILL.md R xwiki/skills/xwiki-ui-before-after/build-comparison-3col.py R xwiki/skills/xwiki-ui-before-after/build-comparison.py R xwiki/skills/xwiki-ui-before-after/element-screenshot.js R xwiki/skills/xwiki-ui-before-after/expand-and-shoot.js R xwiki/skills/xwiki-ui-before-after/export-to-png.js R xwiki/skills/xwiki-ui-before-after/references/design-comparison.md R xwiki/skills/xwiki-ui-before-after/references/gotchas.md R xwiki/skills/xwiki-ui-before-after/references/release-notes-comparison.md R xwiki/skills/xwiki-ui-before-after/setup-class-object.js R xwiki/skills/xwiki-ui-before-after/setup-instance.sh R xwiki/skills/xwiki-ui-before-after/setup-xar-instance.sh R xwiki/skills/xwiki-ui-before-after/sync-static-resource.sh R xwiki/skills/xwiki-ui-before-after/xwiki-login.js Log Message: ----------- [Misc] Narrow the UI-capture skill to the "before" screenshot, and gate it behind approval Renames xwiki-ui-before-after to xwiki-capture-ui-change and reframes it around the one thing it uniquely provides: the "before" screenshot the branch can no longer produce, because the fix is already in the working tree. Everything else it did was either already available elsewhere or not worth its cost. * Scopes it to a fix to EXISTING UI whose visual difference is too subtle to see in a single screenshot, and rules out new features, redesigns and anything visible at a glance - those need no "before" at all. Requires the user's explicit approval before running, since a run costs a Maven build and two instance restarts. * Drops the composite-image machinery (both comparison builders, the PNG export, the design and release-notes variants). Two images at native resolution, side by side in a markdown table, show a subtle difference better than one wide composite that the reader's client scales down. * Ends the procedure where the deliverable lands: attached to the JIRA issue, referenced from the PR body by its attachment URL, per okf/servers/jira.md. * Points the xwiki-pull-request "Screenshots & Video" rule at it, behind that same approval gate, so the skill is reachable from the convention that asks for the image without ever running unprompted. * Removes the duplication a lean skill should not carry: the two setup scripts' shared usage, Maven and worktree code moves to common.sh, setup-class-object.js uses the xwiki-login helper instead of its own copy of the login boilerplate, and SKILL.md drops to 14KB from 32KB. * Fixes what the review found broken: setsid is Linux-only (the jar path never started an instance on macOS), the usage sed one-liner and mktemp --suffix are GNU-only, the jar path assumed groupId org.xwiki.platform and ~/.m2/repository, sync-static-resource.sh died on an unbound variable with no arguments, mvn ran without -B -ntp, and XWIKI_BASE_URL was ignored by the very scripts step 0 exports it for. * Sets the plugin version to 1.3.0 (minor: the plugin gains a skill). Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: 91b29a3cb34d7ec740ec127c81a5ffacd4325ead https://github.com/xwiki/xwiki-dev-llm/commit/91b29a3cb34d7ec740ec127c81a5ff... Author: LucasC <[email protected]> Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M .claude-plugin/marketplace.json M README.md M kimi.plugin.json M opencode.jsonc M xwiki/.claude-plugin/plugin.json M xwiki/.mcp.json M xwiki/okf/conventions/frontend.md M xwiki/okf/index.md M xwiki/okf/servers/index.md M xwiki/okf/servers/jenkins.md M xwiki/skills/xwiki-doc-convert/SKILL.md M xwiki/skills/xwiki-doc-convert/references/conversion-plan.md M xwiki/skills/xwiki-doc-writing/tools/README.md A xwiki/skills/xwiki-doc-writing/tools/docplan.py M xwiki/skills/xwiki-doc-writing/tools/docshot.sh M xwiki/skills/xwiki-fix-sonarqube-issue/SKILL.md Log Message: ----------- Merge remote-tracking branch 'origin/master' into xwiki-ui-before-after-skill # Conflicts: # .claude-plugin/marketplace.json # kimi.plugin.json # opencode.jsonc # xwiki/.claude-plugin/plugin.json Commit: 4584044c7960d627ddf27aed72b8c78ee606cc09 https://github.com/xwiki/xwiki-dev-llm/commit/4584044c7960d627ddf27aed72b8c7... Author: LucasC <[email protected]> Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M xwiki/skills/xwiki-capture-ui-change/common.sh Log Message: ----------- [Misc] Let the capture skill's worktree cleanup succeed when there is nothing to remove * Made remove_worktree an `if` rather than a `[ -d ... ] && git ...` one-liner, so it no longer returns 1 on the HEAD path, where no worktree is ever created. Under the callers' `set -e` that status aborted setup-instance.sh before it restarted the instance, and setup-xar-instance.sh before it ran its --verify checks. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: 7417e6b4dd7aad07a0f40fd42091fce58c4ef212 https://github.com/xwiki/xwiki-dev-llm/commit/7417e6b4dd7aad07a0f40fd42091fc... Author: LucasC <[email protected]> Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M xwiki/skills/xwiki-capture-ui-change/SKILL.md Log Message: ----------- [Misc] Make the capture skill's pixel count optional rather than a hidden prerequisite * Reworded step 4 so counting differing pixels is an optional cross-check guarded by `command -v compare`, since the assertion log lines are already the authority and ImageMagick is not listed in the skill's prerequisites. * Bounded the two documented wait loops, which polled forever if the instance or the detached setup-instance.sh died without writing the marker they grep for, and widened the second one's pattern to the failure markers the script actually prints. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: 0533e836f101f7278b1ef71b2d08f33cee69f9d4 https://github.com/xwiki/xwiki-dev-llm/commit/0533e836f101f7278b1ef71b2d08f3... Author: LucasC <[email protected]> Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M xwiki/skills/xwiki-capture-ui-change/common.sh M xwiki/skills/xwiki-capture-ui-change/setup-instance.sh M xwiki/skills/xwiki-capture-ui-change/setup-xar-instance.sh Log Message: ----------- [Misc] Cut the Maven lookups the capture skill's jar and xar swaps repeat * Resolved settings.localRepository once per run into LOCAL_REPO instead of per module, and passed the caller's already-resolved artifactId and version into artifact_path. * Built the XAR file name in setup-xar-instance.sh from the module's coordinates directly, since it reads the XAR from the module's target/ and needs neither the groupId nor the repository root. * Listed sync-static-resource.sh among common.sh's consumers in its header comment. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: d7185aeda760ac3b4c36d4b61654f425f012cc54 https://github.com/xwiki/xwiki-dev-llm/commit/d7185aeda760ac3b4c36d4b61654f4... Author: LucasC <[email protected]> Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M README.md M kimi.plugin.json M opencode.jsonc M xwiki/.mcp.json M xwiki/okf/servers/index.md M xwiki/okf/servers/jenkins.md Log Message: ----------- Merge remote-tracking branch 'origin/master' into xwiki-ui-before-after-skill # Conflicts: # .claude-plugin/marketplace.json # kimi.plugin.json # opencode.jsonc # xwiki/.claude-plugin/plugin.json Commit: 6bf0540712e04cc77700cd922da1bf0920a037dd https://github.com/xwiki/xwiki-dev-llm/commit/6bf0540712e04cc77700cd922da1bf... Author: LucasC <[email protected]> Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M xwiki/skills/xwiki-capture-ui-change/common.sh M xwiki/skills/xwiki-capture-ui-change/setup-instance.sh M xwiki/skills/xwiki-capture-ui-change/setup-xar-instance.sh Log Message: ----------- [Misc] Clean up the capture skill's worktree on every exit path, and honour the admin credentials * Installed remove_worktree as an EXIT trap in setup-instance.sh and setup-xar-instance.sh instead of calling it after the swap and import loops, which a failed --verify exited past, leaving the throwaway worktree registered. Combined it with the existing cookie-jar trap in the xar script, since a second `trap ... EXIT` replaces rather than adds. * Made remove_worktree tolerate an unset WORKTREE_DIR, so a trap armed before resolve_repo runs is safe under `set -u`. * Defaulted setup-xar-instance.sh's Basic credentials to XWIKI_ADMIN_USER and XWIKI_ADMIN_PASS, which SKILL.md step 0 exports, keeping Admin:admin as the fallback and --user as the override. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Commit: c51ad4a466bef82cd4b80e50fc4a7ca759cd61a0 https://github.com/xwiki/xwiki-dev-llm/commit/c51ad4a466bef82cd4b80e50fc4a7c... Author: Vincent Massol <[email protected]> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M .claude-plugin/marketplace.json M kimi.plugin.json M opencode.jsonc M xwiki/.claude-plugin/plugin.json Log Message: ----------- [Misc] Drop the plugin version bump * Five manifests carry one version, so every concurrent pull request conflicted with every other one on those same five lines, over something that was never part of either change. The release is now cut on master after the merge by scripts/release.mjs, and scripts/validate.mjs fails a branch that touches a version field. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Compare: https://github.com/xwiki/xwiki-dev-llm/compare/338d33075b7f%5E...c51ad4a466b... To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-dev-llm/settings/notifications