{ "source": "gstack-upgrade", "tree": "ship", "public_mode": "Prepare", "mode": "upgrade", "mandatory": false, "visibility": "internal", "replacement": "$ship --mode Prepare --module gstack-upgrade", "source_path": "gstack-upgrade/SKILL.md.tmpl", "base_sha": "bb57306d98c97011b0919c6132705a15b1579781", "blob_sha": "5402a1da3c857cbf50668085fce53172b72bba0d", "normalized_render_sha256": "a913cf77f76c4d68c576a06190b498e3d8d3b60b85498a68f173b23a7f800828", "target": "skills/ship/references/legacy/gstack-upgrade.md", "overlays": [ 679 ], "contract": { "question_order": "Preserve the source workflow order; gather prerequisites before consequential questions.", "pressure": "Preserve the source forcing questions, recommendation pressure, and one-question-at-a-time cadence.", "smart_skips": "Skip only when the source condition is false, and name every skipped module with evidence.", "stop_approval_gates": "Preserve every STOP, hard gate, approval boundary, and no-mutation-before-approval rule.", "evidence": "Ground conclusions in inspected code, commands, browser/device observations, or source artifacts.", "artifacts": "Produce every report, plan, log, screenshot, manifest, or handoff required by the source.", "mutation": "Use the source mutation boundary; never broaden writes, commits, pushes, merges, or deploys.", "exit": "Preserve source completion checks, unresolved-decision reporting, and explicit blocked exits.", "voice": "Direct builder voice; match the user language and retain source-specific tone constraints." } }