Skip to main content
ClaudeWave
Skill343 estrellas del repoactualizado 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.

Instalar en Claude Code
Copiar
git 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-cleanup
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

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.