Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
raroque avatar

Upgrade Boop

  • 1 installs
  • 1.3k repo stars
  • Updated July 13, 2026
  • raroque/boop-agent

Helps with ai & agent building tasks.

About

upgrade-boop is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • upgrade-boop
  • AI & Agent Building
  • AI-coding skill

Upgrade Boop by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #14,098 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/raroque/boop-agent --skill upgrade-boop

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1.3k
Last updatedJuly 13, 2026
Repositoryraroque/boop-agent

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

About

Your Boop fork drifts from upstream as you customize it — system prompts tweaked, new automations, tuned memory thresholds, etc. This skill brings upstream changes in without blowing away those edits.

Run /upgrade-boop inside the repo from Codex. This is the supported upgrade path: the agent previews the diff, creates rollback points, performs the merge, resolves conflicts when needed, and runs referenced migration skills.

How it works

Preflight: refuses to touch anything with a dirty working tree. If the upstream remote is missing, adds it (default: https://github.com/raroque/boop-agent.git — the skill will ask).

Backup: creates a timestamped rollback branch + tag before doing anything. Printed at the end so you can git reset --hard back.

Preview: buckets upstream changes into categories so you know what's about to land:

  • Core (server/) — the dispatcher, executor, memory, automations. High conflict risk if you edited your prompts.
  • Integrations (server/composio*, server/integrations/) — Composio wiring.
  • UI (debug/) — debug dashboard.
  • Schema (convex/) — Convex tables + functions. Pushes happen on next convex dev.
  • Scripts / config (scripts/, package.json, tsconfig.json, .env.example) — env vars + deps might need attention.
  • Docs (README.md, ARCHITECTURE.md, INTEGRATIONS.md, CHANGELOG.md).

Choice: you pick merge (one-pass), cherry-pick (specific commits), rebase (linear history), or abort.

Conflict preview: dry-run merge to show which files would conflict before you commit.

Validation: npm install + npm run typecheck after the merge.

Breaking changes: parses the CHANGELOG.md diff for [BREAKING] entries and surfaces each one. Many breaking changes will reference a migration skill (/<skill-name>) — the skill offers to run those for you.

Summary: prints rollback tag, new/upstream HEADs, and any env-var additions from .env.example you should copy into .env.local.

---

Operating principles

  • Never proceed with a dirty working tree.
  • Always create a rollback point (backup branch + tag) before touching anything.
  • Prefer git-native operations. Do not rewrite files manually except to resolve conflict markers.
  • Default to MERGE (one-pass conflict resolution). Offer REBASE only if the user explicitly asks.
  • Keep token usage low: use git status, git log, git diff, and only open files that actually have conflicts.

---

Step 0: Preflight

Run:

  • git status --porcelain

If output is non-empty:

  • Tell the user to commit or stash first. Stop.

Confirm remotes with git remote -v. If upstream is missing:

  • Ask the user for the upstream repo URL (default: https://github.com/raroque/boop-agent.git).
  • git remote add upstream <url>
  • git fetch upstream --prune

Detect the upstream branch:

  • git branch -r | grep upstream/
  • Prefer upstream/main. Fall back to upstream/master. If neither, ask.
  • Store as UPSTREAM_BRANCH. All commands below that reference upstream/main use upstream/$UPSTREAM_BRANCH instead.

Fetch fresh:

  • git fetch upstream --prune

Step 1: Safety net

HASH=$(git rev-parse --short HEAD)
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
git branch backup/pre-upgrade-$HASH-$TIMESTAMP
git tag pre-upgrade-$HASH-$TIMESTAMP

Save the tag name. You'll print it in Step 7 for rollback.

Step 2: Preview

Compute base:

  • BASE=$(git merge-base HEAD upstream/$UPSTREAM_BRANCH)

Show what's coming:

  • git log --oneline $BASE..upstream/$UPSTREAM_BRANCH

Show local drift:

  • git log --oneline $BASE..HEAD

File-level impact:

  • git diff --name-only $BASE..upstream/$UPSTREAM_BRANCH

Bucket files into the categories listed in How it works (Core, Integrations, UI, Schema, Scripts/config, Docs). Call out high-risk buckets specifically.

Large-drift check: if upstream has many commits and the user has heavy local drift, mention that starting fresh and reapplying customizations might be cleaner than merging. Don't push — offer.

Ask the user with the active agent's user-question mechanism:

  • A) Full update — merge all upstream changes (default)
  • B) Selective — cherry-pick specific commits
  • C) Abort — preview only
  • D) Rebase — linear history, resolves conflicts per commit

If Abort: print rollback info and stop.

Step 3: Conflict preview (no commits yet)

If Full update or Rebase, dry-run:

git merge --no-commit --no-ff upstream/$UPSTREAM_BRANCH; git diff --name-only --diff-filter=U; git merge --abort

Show the conflict list. If empty, say "clean" and proceed. If non-empty, let the user bail.

Step 4A: Full update (MERGE — default)

  • git merge upstream/$UPSTREAM_BRANCH --no-edit

If conflicts:

  • git status → list conflicted files.
  • For each file:
  • Open it.
  • Resolve only conflict markers.
  • Preserve intentional local customizations.
  • Incorporate upstream improvements.
  • Do not refactor surrounding code.
  • git add <file>
  • When done: git commit --no-edit (if merge didn't auto-commit).

Step 4B: Selective (CHERRY-PICK)

  • git log --oneline $BASE..upstream/$UPSTREAM_BRANCH
  • Ask which hashes.
  • git cherry-pick <hash1> <hash2> …

On conflict:

  • Resolve markers, git add, git cherry-pick --continue.
  • git cherry-pick --abort to stop.

Step 4C: Rebase (opt-in)

  • git rebase upstream/$UPSTREAM_BRANCH

On conflict: resolve, git add, git rebase --continue. If > 3 rounds of conflicts, git rebase --abort and recommend merge.

Step 5: Validation

Run in order:

  • npm install — picks up any new deps.
  • npm run typecheck — this repo's typecheck. If it fails with errors outside the merge delta, flag it but don't block.

Note: Convex schema changes (convex/schema.ts, convex/*.ts) take effect the next time convex dev runs. Mention this to the user — they need to restart npm run dev for the schema to push.

Note: If .env.example changed, diff it against .env.local:

  • diff <(grep -o '^[A-Z_]*=' .env.example | sort) <(grep -o '^[A-Z_]*=' .env.local | sort)
  • List any new keys the user should add to .env.local.

Step 6: Breaking changes check

Read the CHANGELOG delta:

  • git diff pre-upgrade-$HASH-$TIMESTAMP..HEAD -- CHANGELOG.md

Parse new lines containing [BREAKING]. Format is:

[BREAKING] <description>. Run `/<skill-name>` to <action>.

If none: proceed silently.

If any:

  • Display a warning header: "This update introduces breaking changes that may need action:"
  • Show each [BREAKING] line in full.
  • Collect referenced skills.
  • Ask the user with the active agent's user-question mechanism (multi-select when available):
  • One option per referenced skill
  • "Skip — I'll handle these manually"
  • For each selected skill, invoke via the Skill tool.

Step 7: Summary + rollback

Print:

  • Rollback tag: pre-upgrade-<HASH>-<TIMESTAMP>
  • New HEAD: git rev-parse --short HEAD
  • Upstream HEAD: git rev-parse --short upstream/$UPSTREAM_BRANCH
  • Conflicts resolved: list, if any
  • New env vars to add to .env.local: list from Step 5
  • Breaking changes applied: list skills run

Tell the user:

  • Rollback: git reset --hard pre-upgrade-<HASH>-<TIMESTAMP>
  • Backup branch also exists: backup/pre-upgrade-<HASH>-<TIMESTAMP>
  • Restart npm run dev to pick up code + Convex schema changes.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.