marketplace/bundles/pm-dev-java/skills/arch-gate-java/SKILL.md
Use when running or interpreting the Java arch-gate — the ArchUnit-based architectural-fitness-function check that runs as a per-deliverable read-only structural-boundary gate and emits arch-constraint findings. A thin pointer to the central arch-gate model in plan-marshall:manage-architecture; carries only the Java/ArchUnit binding.
npx skillsauth add cuioss/plan-marshall arch-gate-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.
REFERENCE MODE: This skill provides reference material for the Java domain's arch-gate binding. It is a thin pointer — the structural concept, the read-only contract, the execution model, and the findings → triage → lesson feedback loop are owned by the central standard and MUST NOT be duplicated here.
The single authoritative model for arch-gate lives in arch-gate-fitness-functions.md in plan-marshall:manage-architecture. Read that document for what an architectural fitness function is, the read-only structural-boundary-gate contract, the single per-deliverable execution model, resolution/execution path, and the lesson lifecycle. This skill carries only the Java-specific binding.
Execution mode: Reference library; load for context when running or interpreting the Java arch-gate. Never execute this document's content as a workflow.
Prohibited actions:
arch-gate-fitness-functions.md model here — this skill is a thin pointermodule-tests — the @ArchTest rules run as a dedicated ArchUnit-only executionConstraints:
{'tool': 'archunit'}architecture resolve --command arch-gatearch-constraint finding, never a generic test-failure| Aspect | Java value |
|--------|------------|
| Native tool | ArchUnit |
| Rule surface | @ArchTest rules run as a dedicated ArchUnit-only invocation — a tagged Surefire/JUnit execution of only the @ArchTest rules, distinct from module-tests |
| Extension descriptor | provides_arch_gate() returns {'tool': 'archunit'} |
| Verify-step | default:verify:arch-gate, appended to phase-5-execute.verification_steps by skill-domains configure when the java domain is configured |
| Finding type | arch-constraint (one finding per structural-boundary violation, carrying the violated rule's identity) |
Running the @ArchTest rules as their own dedicated ArchUnit invocation — rather than masking violations inside the test suite — is what lets a structural-boundary violation surface as an arch-constraint finding instead of a failed test. ArchUnit violations route to pm-dev-java:ext-triage-java for the per-finding disposition (FIX / SUPPRESS / ACCEPT); a violation that recurs across runs feeds the arch-constraint lesson type (rule-identity dedup, retire-on-quiet / reinforce-on-recurrence).
arch-gate-fitness-functions.md — the central, authoritative arch-gate model (single source of truth)extension-contract.md § provides_arch_gate — the hook contract the Java extension implementspm-dev-java:ext-triage-java — Java triage, including arch-constraint finding dispositiondevelopment
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