marketplace/bundles/pm-plugin-development/skills/plugin-script-architecture/SKILL.md
Script development standards covering implementation patterns, testing, and output contracts
npx skillsauth add cuioss/plan-marshall plugin-script-architectureInstall 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.
For script execution patterns, see: plan-marshall:tools-script-executor
Activate when:
Load: standards/python-implementation.md
Load: standards/testing-standards.md
Load: standards/test-scaffolding.md
Contains: Canonical # ruff: noqa: I001, E402 + sys.path.insert(0, ...) prologue for tests that import underscore-prefixed sibling modules from marketplace/bundles/.../scripts/. Citation: test/plan-marshall/plan-marshall/test_phase_handshake.py lines 2 and 20-29.
Load: standards/output-contract.md
Load: standards/cross-skill-integration.md
CRITICAL: Scripts run via the executor must follow cross-skill integration patterns for imports, logging, and error handling.
See: standards/cross-skill-integration.md § "Script invocation in documentation"
The explicit-call-or-xref authoring rule for documented script invocations plus the ## Canonical invocations section contract. Every documented python3 .plan/execute-script.py {notation} … call must be the exact-correct inline call or an xref to the owning skill's Canonical-invocations section, and every script-bearing skill publishes that section. Enforced at edit time by the manage-invocation-invalid and missing-canonical-block plugin-doctor rules.
See: standards/cross-skill-integration.md § "New get/set input shape must pass its own validator"
A get/set verb whose value proposition IS a new input shape (a dotted path, glob, or compound key) must have that exact shape as its first boundary test, driven through the CLI entry point — the input validator is the part most likely to lag the feature and silently reject the shape the verb exists to support. The config-governance companion lives in plan-marshall:manage-config § "Config Design Principles".
references/notation-spec.md - Full notation specificationreferences/stdlib-modules.md - Allowed Python standard library modulesplan-marshall:tools-script-executor - Script execution, notation resolution, plan-marshall commandpm-dev-python:python-best-practices - General Python patterns (type hints, docstrings, async, data structures). This skill covers marketplace-specific script constraints (stdlib-only, executor integration, TOON output); for broader Python development standards, load that skill insteaddevelopment
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