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