From liferay-headless
Triage open Intruders issues in the liferay-headless/liferay-portal repository.
How this skill is triggered — by the user, by Claude, or both
Slash command
/liferay-headless:intruders-triageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The Intruders bot opens an issue whenever someone outside the Headless team modifies code under our components. Each issue lists commits grouped by directory. This skill assesses every commit, posts a per-issue verdict, closes tickets whose commits are all low risk, and aggregates the high-risk findings into a fresh executive summary issue.
The Intruders bot opens an issue whenever someone outside the Headless team modifies code under our components. Each issue lists commits grouped by directory. This skill assesses every commit, posts a per-issue verdict, closes tickets whose commits are all low risk, and aggregates the high-risk findings into a fresh executive summary issue.
Before doing anything else, verify that the current working directory itself is the root of a liferay-portal clone by checking that its origin remote URL ends with /liferay-portal. Do not walk up parent directories looking for a matching repository — only the current directory counts. Do not attempt the triage from an unrelated repository.
Once the clone is confirmed, switch the working copy to master and fast-forward it from the upstream remote so every short SHA referenced by the Intruders issues resolves locally — without that, the commit diffs cannot be inspected. If the working tree has uncommitted changes, abort and ask the user to stash or commit first; do not silently move their work.
Open issues titled "Intruders 🦹♂️" in the liferay-headless/liferay-portal repository. Each issue body is grouped by directory; under each directory it lists one line per commit with the form <short-sha> <author-email> <LPD-key> <commit subject>. The commits are reachable in any local clone that tracks liferay/liferay-portal master.
modules/util/portal-tools-rest-builder, regardless of how mechanical it looks. This tool shapes every generated REST surface, so concurrency, caching, hashing, and ordering tweaks can subtly alter generated output across the entire codebase.SF and source-formatter commits, including additions to source-formatter-suppressions.xml.Regenerate and other autogenerated REST or persistence output.Baseline commits (bnd baseline bumps).*-rest-test, playwright/tests/*, and integration test migrations.new BooleanQueryImpl() to new BooleanQuery()).File one new issue titled Intruders 🦹♂️🤖 that holds the consolidated HIGH commits.
The body opens with a single top-level heading # High Risk Changes and then jumps straight into the first area section — no preamble paragraph. It does not reference the original Intruders ticket numbers; the only navigation links are the per-commit URLs. Below the title, group by area of code, with one section per directory (for example modules/apps/object/object-rest-impl, modules/util/portal-tools-rest-builder). Within each section, render a two-column table:
| Commits | Why It Matters |
https://github.com/liferay-headless/liferay-portal/commit/<sha>. Separate the SHA links with single spaces (no commas). Aim for one row per cluster, not one row per commit.Every original Intruders issue receives exactly one comment, then is closed. The comment contains:
Triage consolidated into #N.The detailed risk explanations live in the executive summary issue; the per-issue comment exists only to point there and account for the dismissed commits.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub liferay-headless/liferay-headless --plugin liferay-headless