marketplace/bundles/pm-dev-java/skills/ext-triage-java/SKILL.md
Triage extension for Java findings during plan-finalize phase
npx skillsauth add cuioss/plan-marshall ext-triage-javaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Provides decision-making knowledge for triaging Java-related findings during the finalize phase.
This skill is a triage extension loaded by the plan-finalize workflow skill when processing Java-related findings. It provides domain-specific knowledge for deciding whether to fix, suppress, or accept findings.
Key Principle: This skill provides knowledge, not workflow control. The finalize skill owns the process.
Loaded via resolve-workflow-skill-extension --domain java --type triage during finalize phase when:
arch-constraint findings for structural-boundary violations| Document | Purpose | |----------|---------| | suppression.md | Java suppression syntax (@SuppressWarnings, NOSONAR) | | severity.md | Java-specific severity guidelines and decision criteria | | pr-comment-disposition.md | PR review comment disposition (FIX / REPLY-AND-RESOLVE / ESCALATE) for Java |
Registered in marshal.json under the java domain:
"java": {
"workflow_skill_extensions": {
"triage": "pm-dev-java:ext-triage-java"
}
}
| Finding Type | Syntax |
|--------------|--------|
| Sonar rule | @SuppressWarnings("java:S1234") |
| Deprecation | @SuppressWarnings("deprecation") |
| Unchecked cast | @SuppressWarnings("unchecked") |
| Null warning | @SuppressWarnings("null") or JSpecify annotations |
| All warnings | // NOSONAR (line comment, use sparingly) |
| Severity | Default Action | |----------|----------------| | BLOCKER | Fix (mandatory) | | CRITICAL | Fix (mandatory for vulnerabilities) | | MAJOR | Fix or suppress with justification | | MINOR | Fix, suppress, or accept | | INFO | Accept (low priority) |
**/generated/**The Java arch-gate runs the @ArchTest rules as a dedicated ArchUnit-only invocation and emits one arch-constraint-typed finding per structural-boundary violation (a layering rule, a directional import contract, a module-boundary constraint), carrying the violated rule's identity in the finding's rule field. These findings route here for the per-finding disposition exactly as lint-issue / sonar-issue findings do:
| Disposition | When |
|-------------|------|
| Fix | The violation is a genuine structural-boundary breach — correct the dependency direction, move the offending type, or remove the forbidden import. This is the default for an arch-constraint finding. |
| Suppress | The rule does not apply to this specific case and the exception is documented — narrow the ArchUnit rule (e.g. .ignoreDependency(...)) or annotate the architecturally-sanctioned exception, with justification. |
| Accept | The rule itself is wrong or a known false positive — the finding is acknowledged without code change; recurring acceptances signal the rule needs revision. |
A violation of the same rule that recurs across runs reinforces a single arch-constraint lesson (rule-identity dedup; retire-on-quiet / reinforce-on-recurrence), surfaced to planning through the architecture-hints pipe. The structural model and the full findings → triage → lesson loop are owned by the central standard — see arch-gate-fitness-functions.md and the Java binding in pm-dev-java:arch-gate-java.
pm-dev-java:java-core - Core Java patternsdevelopment
Domain-owned OpenRewrite log-line finding parser for the java-cui domain — parses the
development
Domain-owned OpenRewrite marker detection for the java-cui domain — scans Java/Kotlin sources for cui-rewrite TODO markers, categorizes them by recipe, and fails the gate on any detected marker
development
Operator control surface for the marshalld build server — enrol/drop a project in the machine-global registry (the opt-in enable signal and anti-laundering wall), manage the daemon lifecycle (start, stop, drain, status, install, upgrade) version-pinned to the verified bundle copy, and inspect the daemon's per-project interaction-audit log (read-only)
tools
The tiny build-consumption client for the marshalld build server — submit a build job, bounded long-poll for its result, ping the daemon identity, and preflight registry-plus-liveness in one call; consumption only, never provisioning or enrolment