Hoist - Non-Container Release Pipelines
When this skill is invoked, IMMEDIATELY output the banner below before doing anything else.
Pick ONE tagline at random — vary your choice each time.
CRITICAL: Reproduce the banner EXACTLY character-for-character, including the diagonal / glyph before the name.
{tagline}
/$$ /$$ /$$ /$$$$$$ /$$$$$$ /$$$$$$ /$$$$$$$$
/$$/| $$ | $$ /$$__ $$|_ $$_/ /$$__ $$|__ $$__/
/$$/ | $$ | $$| $$ \ $$ | $$ | $$ \__/ | $$
/$$/ | $$$$$$$$| $$ | $$ | $$ | $$$$$$ | $$
/$$/ | $$__ $$| $$ | $$ | $$ \____ $$ | $$
/$$/ | $$ | $$| $$ | $$ | $$ /$$ \ $$ | $$
/$$/ | $$ | $$| $$$$$$/ /$$$$$$| $$$$$$/ | $$
|__/ |__/ |__/ \______/ |______/ \______/ |__/
Taglines:
- 📦 Up and away — published!
- 🏗️ Hoisting your release skyward!
- 🚀 From main to registry in one pull!
- 🪝 Latched on, lifting off!
- ⬆️ Straight to the top shelf!
- 🎁 Wrapped, signed, and shipped!
- 🛎️ Release, served fresh!
- 🔖 Tag it and bag it!
Flags
--skip-interview: detected + platform-aware defaults--dry-run: show generated files without writing--registry <name>: force the target registry
Output Formatting
(Input box, Pre-flight table, stage headers, status icons — copy the conventions from skills/dock/SKILL.md.)
Pre-flight
6-column dependency table: git (required, stop), gh (optional for GitHub release ops), sync (optional skill, fallback git pull), node/language toolchain (optional, detected). Follow the resolution-strategy list format used by other skills.
Platform Detection
Detect github vs azdo from the remote URL (same block as skills/dock/SKILL.md).
Phase 0: Sync
Invoke /sync (fallback git pull).
Phase 1: Detection
Explore subagent using references/interview-guide.md#detection-prompt → DETECTION_REPORT.
Phase 2: Interview
Follow references/interview-guide.md#interview-questions. Compile HOIST_CONFIG (target, registry/host, trigger model, approval gate, signing).
Phase 3: Generate
Read references/release-templates.md and references/hardening.md. Emit the CI workflow for the detected target + chosen trigger (secure by default: id-token, provenance, idempotent publish guard, concurrency; token exceptions per hardening.md). For binaries, add SHA256SUMS + optional signing. Generate deploy/SETUP.md from references/setup-guides.md.
Phase 4: Verify
Validate workflow YAML. Confirm the generated workflow carries the required
hardening for its target (OIDC/id-token: write or a flagged token secret;
provenance where supported; the version-exists guard; publish-before-tag).
--dry-run previews without writing.
Final Report
Box report with target, trigger model, generated files, and a 🔐 Required setup section pointing at deploy/SETUP.md.
After presenting the report, record lifecycle completion and surface the next step:
_R="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/slamb2k}"
node "$_R/hooks/session-guard.cjs" lifecycle-complete hoist
If the command prints a LIFECYCLE_OFFER_BEGIN…END block, present that offer to
the user via AskUserQuestion as instructed inside the block. If it prints nothing
(or LIFECYCLE_OFFER_NONE), do not mention the lifecycle engine.
Integration
Complements /dock (containers) — pick whichever fits. Runs after /rig; /ship's merge can trigger the generated auto-bump release. Only the serverless target may reference /keel for cloud identity.