marketplace/bundles/pm-dev-frontend/skills/arch-gate-js/SKILL.md
Use when running or interpreting the JavaScript arch-gate — the dependency-cruiser-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 JavaScript/dependency-cruiser binding.
npx skillsauth add cuioss/plan-marshall arch-gate-jsInstall 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 JavaScript 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 JavaScript-specific binding.
Execution mode: Reference library; load for context when running or interpreting the JavaScript 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 pointerConstraints:
{'tool': 'dependency-cruiser'}architecture resolve --command arch-gatearch-constraint finding, never a generic lint-issue| Aspect | JavaScript value |
|--------|------------------|
| Native tool | dependency-cruiser |
| Rule surface | Module-boundary / forbidden-dependency rules (ESLint-boundaries class), a .dependency-cruiser.js rule set, distinct from per-file ESLint |
| Extension descriptor | provides_arch_gate() returns {'tool': 'dependency-cruiser'} |
| Verify-step | default:verify:arch-gate, appended to phase-5-execute.verification_steps by skill-domains configure when the javascript domain is configured |
| Finding type | arch-constraint (one finding per structural-boundary violation, carrying the violated rule's identity) |
Running dependency-cruiser as its own dedicated invocation — rather than folding its checks into per-file ESLint — is what lets a module-boundary / forbidden-dependency violation surface as an arch-constraint finding instead of a generic lint issue. dependency-cruiser violations route to pm-dev-frontend:ext-triage-js 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 JavaScript extension implementspm-dev-frontend:ext-triage-js — JavaScript 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