Upgrade Cleanup
Tears down Rails dual-boot scaffolding and NextRails branches after an upgrade
Test report
- Verdict
- Works with setup
- Score
- Tested
- Jul 21, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · b0c2e14
Located SKILL.md at upgrade-cleanup/upgrade-cleanup/SKILL.md (frontmatter parses with name+description; referenced workflows/upgrade-cleanup-workflow.md returns HTTP 200; no hardcoded paths or security smells — commands are grep/git/bundle/mv/rm, all gated behind mandatory user confirmation). Verified install in a clean HOME=$(mktemp -d) places SKILL.md correctly. For OUTPUT I built a synthetic dual-boot fixture (Gemfile with `if next?` block + next_rails, config/application.rb with a NextRails.next? ternary, spec/rails_helper.rb wiring deprecation_tracker) and ran the "keep next / finish upgrade" cleanup two ways. The naive baseline left `require "deprecation_tracker"` in rails_helper.rb (a LoadError bomb once next_rails is removed) and deleted Gemfile.next.lock leaving no lockfile; the workflow-followed artifact removed the deprecation_tracker residue (Phase 1 Step 5) and did `mv Gemfile.next.lock Gemfile.lock` (Step 7), preserving the validated 7.1 pins. Concrete diffs confirmed.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 5/10
- Docs & honesty 5/5
What Upgrade Cleanup does
Removes dual-boot upgrade scaffolding from a Rails app: collapses NextRails.next?/NextRails.current? conditionals, retires Gemfile.next / Gemfile.next.lock and the next_rails gem, sweeps deprecation_tracker residue, and aligns lockfile, CI, and Ruby pins to the kept version. Triggers when the user says they are done with a Rails upgrade, want to clean up dual-boot, drop NextRails branches, or abandon/pause an upgrade hop to stay on the current version. Branches every step on a mandatory "keep next vs keep current" direction confirmed with the user first.
How to install Upgrade Cleanup
git clone --depth 1 https://github.com/ombulabs/claude-code_rails-upgrade-skill.git /tmp/upgrade-cleanup-src
mkdir -p ~/.claude/skills
cp -R /tmp/upgrade-cleanup-src/upgrade-cleanup/upgrade-cleanup ~/.claude/skills/upgrade-cleanup
# SKILL.md lands at ~/.claude/skills/upgrade-cleanup/SKILL.md (verified in a clean HOME).
# Plugin-marketplace alternative (installs the whole rails-upgrade family):
# /plugin marketplace add ombulabs/claude-skills
# /plugin install upgrade-cleanup@ombulabs-ai
# No external deps to load the skill. Its workflow runs grep/git/bundle/mv/rm inside a
# target Rails repo; companion skills rails-upgrade + dual-boot are referenced but not
# required for this skill's own cleanup pass.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Upgrade Cleanup
-
/upgrade-cleanupTears down Rails dual-boot scaffolding and NextRails branches after an upgrade
It also activates on plain-language prompts like these:
-
Clean up dual-boot code after our Rails upgrade -
Remove NextRails branches now that we're done -
Roll back and abandon this upgrade attempt
Frequently asked questions
- Is the Upgrade Cleanup skill free?
- Yes. The skill itself is free from ombulabs/claude-code_rails-upgrade-skill. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Upgrade Cleanup work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Works with setup. Located SKILL.md at upgrade-cleanup/upgrade-cleanup/SKILL.md (frontmatter parses with name+description; referenced workflows/upgrade-cleanup-workflow.md returns HTTP 200; no hardcoded paths or security smells — commands are grep/git/bundle/mv/rm, all gated behind mandatory user confirmation). Verified install in a clean HOME=$(mktemp -d) places SKILL.md correctly. For OUTPUT I built a synthetic dual-boot fixture (Gemfile with `if next?` block + next_rails, config/application.rb with a NextRails.next? ternary, spec/rails_helper.rb wiring deprecation_tracker) and ran the "keep next / finish upgrade" cleanup two ways. The naive baseline left `require "deprecation_tracker"` in rails_helper.rb (a LoadError bomb once next_rails is removed) and deleted Gemfile.next.lock leaving no lockfile; the workflow-followed artifact removed the deprecation_tracker residue (Phase 1 Step 5) and did `mv Gemfile.next.lock Gemfile.lock` (Step 7), preserving the validated 7.1 pins. Concrete diffs confirmed.
- What is the Upgrade Cleanup SkillProof Score?
- 8.0/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 5/10, docs & honesty 5/5.
- How do I install Upgrade Cleanup?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Upgrade Cleanup with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.