Files
gstack/skills/debug/references/RUNTIME.md
T

2.8 KiB

Optional runtime capabilities

The six Agent Skills are useful without a GStack runtime. Never install, download, build, select, update, or remove runtime capabilities merely because a skill was invoked.

When an active specialist first reaches a capability it cannot use, name the exact capability and why it is needed. Offer to continue without it when the judgment-only or host-native path remains valid. Installation requires the user's explicit approval after disclosing the selected capabilities, that an official versioned release artifact will be downloaded and SHA-256 verified, and any exact byte/build information available from the bootstrap manifest. Never call the bootstrap before approval.

Capability names are browser, design, pdf, diagram, and ios; the core state/runtime CLI is managed separately. After approval, from this skill root run node references/support/runtime-bootstrap.mjs install --capability <name> (repeat --capability for additional approved capabilities). The dependency-free Node 18+ bootstrap accepts only official GStack GitHub Release hosts, validates the fixed manifest schema/version/skill API/platform artifact and SHA-256, verifies a declared Cosign bundle when Cosign is available, rejects unsafe archive paths/links, and invokes the atomic managed installer. Never run ./setup inside a standard-installed skill directory, enroll a host, or treat skill installation as runtime consent.

Resolve capability dependencies before preview and approval: diagram implies browser; pdf implies both diagram and browser transitively. design and ios are standalone. The disclosure and approval must name the complete expanded set, not only the capability first requested.

After doctor confirms readiness, canonical launcher bindings are GSTACK_HOME=${GSTACK_HOME:-$HOME/.gstack}, GSTACK_BIN=$GSTACK_HOME/bin, B=$GSTACK_BIN/browse, D=$GSTACK_BIN/gstack-design, and P=$GSTACK_BIN/make-pdf. Specialist modules may bind only the launchers they use. These assignments do not install or grant consent.

The package/runtime compatibility tuple is schemaVersion=1, runtimeVersion=2.0.0, and skillApi=2.0; the machine-readable copy is references/support/runtime-contract.json. An incompatible active runtime is unavailable, not permission to upgrade it.

The developer-only fallback is node references/support/runtime-bootstrap.mjs install --source <reviewed-checkout> --capability <name>; show its trust warning and use it only when the user explicitly selects a checkout they reviewed. If the packaged bootstrap is unavailable, stop capability setup instead of guessing a checkout-relative command. Deferring installation records no consent and must not block pure judgment.