Skill343 repo starsupdated today
upgrade-cleanup
The upgrade-cleanup skill removes dual-boot Rails upgrade scaffolding by dropping NextRails conditional branches and retiring temporary files like Gemfile.next. Use it when the user confirms they are finished upgrading (keeping the new Rails version) or abandoning the upgrade (reverting to the current version), following FastRuby.io's cleanup methodology to prevent orphaned code branches.
Install in Claude Code
Copygit clone --depth 1 https://github.com/ombulabs/claude-code_rails-upgrade-skill /tmp/upgrade-cleanup && cp -r /tmp/upgrade-cleanup/upgrade-cleanup/upgrade-cleanup ~/.claude/skills/upgrade-cleanupThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Upgrade Cleanup Skill Companion to the `rails-upgrade` plugin. Runs the cleanup pass that removes dual-boot scaffolding and aligns the codebase to the new version baseline. When activated, follow the workflow in `workflows/upgrade-cleanup-workflow.md` end-to-end. **Before any destructive step, confirm direction with the user** (Phase 0 Step 1): are they keeping the **next** version (finishing the upgrade) or keeping the **current** version (abandoning or pausing this hop)? Every subsequent step branches on that answer. To detect the next version, read the `Gemfile` (look for the `if NextRails.next?` / `else` block; the `next?` branch holds the upgraded-to version) or `Gemfile.next.lock`. Do NOT rely on `Gemfile.lock` alone, since during dual-boot it still pins the current version. ## When to Run Run when the user has explicitly decided to **end the dual-boot phase** in one of two directions: - **Keep next**: upgrade is done (final hop or stopping point), drop the `else` / current branches. - **Keep current**: abandoning or pausing this hop, drop the `if NextRails.next?` / next branches and `Gemfile.next*`. Either way the previous parallel branch must no longer be needed (no rollback window). Deployment to production is not a hard prerequisite. ## Ownership and Delegations This skill **owns** the cleanup. Phase 1 below is the step list to follow. The `dual-boot` skill's `workflows/cleanup-workflow.md` is older optional reading; if it drifts from this workflow, this workflow wins. - **Dual-boot scaffolding removal**: performed here in Phase 1. - **`load_defaults` alignment**: out of scope. The `rails-upgrade` skill handles this via its `rails-load-defaults` step before cleanup runs. ## Critical Rules - **Do NOT leave `NextRails.next?` or `NextRails.current?` branches in the tree.** That is the failure mode this skill exists to prevent. - **Do NOT start removing branches before confirming direction.** Keeping the wrong side throws away the work the user wants to keep. If the user has not stated next vs current, ask. ## Workflow See `workflows/upgrade-cleanup-workflow.md` for the full process: a pre-flight check, dual-boot scaffolding removal, old-version code retirement, CI and Ruby pin alignment, final verification, and the cleanup PR. ## Reference - [Finishing an Upgrade, FastRuby.io](https://www.fastruby.io/blog/finishing-an-upgrade.html) - `workflows/upgrade-cleanup-workflow.md`, full workflow - The `dual-boot` plugin's `workflows/cleanup-workflow.md`, optional reading for context. This skill's Phase 1 is the step list to follow, do not use dual-boot's version when it conflicts.