一键导入
upgrade-boop
Pull upstream Boop changes into a customized fork. Previews, backs up, merges with conflict-aware resolution, validates, and surfaces breaking changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Pull upstream Boop changes into a customized fork. Previews, backs up, merges with conflict-aware resolution, validates, and surfaces breaking changes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Builds reusable Convex components with isolated tables and app-facing APIs. Use for new components, reusable backend modules, integrations, or component boundary work.
Plans Convex schema and data migrations with widen-migrate-narrow and @convex-dev/migrations. Use for breaking schema changes, backfills, table reshaping, or zero-downtime rollouts.
Audits Convex performance for reads, subscriptions, write contention, and function limits. Use for slow features, insights findings, OCC conflicts, or read amplification.
Creates or adds Convex to an app. Use for new Convex projects, npm create convex@latest, frontend setup, env vars, or the first npx convex dev run.
Sets up Convex auth, identity mapping, and access control. Use for login, auth providers, users tables, protected functions, or roles in a Convex app.
Routes general Convex requests to the right project skill. Use when the user asks which Convex skill to use or gives an underspecified Convex app task.
基于 SOC 职业分类
| name | upgrade-boop |
| description | Pull upstream Boop changes into a customized fork. Previews, backs up, merges with conflict-aware resolution, validates, and surfaces breaking changes. |
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.
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:
server/) — the dispatcher, executor, memory, automations. High conflict risk if you edited your prompts.server/composio*, server/integrations/) — Composio wiring.debug/) — debug dashboard.convex/) — Convex tables + functions. Pushes happen on next convex dev.scripts/, package.json, tsconfig.json, .env.example) — env vars + deps might need attention.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.
git status, git log, git diff, and only open files that actually have conflicts.Run:
git status --porcelainIf output is non-empty:
Confirm remotes with git remote -v. If upstream is missing:
https://github.com/raroque/boop-agent.git).git remote add upstream <url>git fetch upstream --pruneDetect the upstream branch:
git branch -r | grep upstream/upstream/main. Fall back to upstream/master. If neither, ask.UPSTREAM_BRANCH. All commands below that reference upstream/main use upstream/$UPSTREAM_BRANCH instead.Fetch fresh:
git fetch upstream --pruneHASH=$(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.
Compute base:
BASE=$(git merge-base HEAD upstream/$UPSTREAM_BRANCH)Show what's coming:
git log --oneline $BASE..upstream/$UPSTREAM_BRANCHShow local drift:
git log --oneline $BASE..HEADFile-level impact:
git diff --name-only $BASE..upstream/$UPSTREAM_BRANCHBucket 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:
If Abort: print rollback info and stop.
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.
git merge upstream/$UPSTREAM_BRANCH --no-editIf conflicts:
git status → list conflicted files.git add <file>git commit --no-edit (if merge didn't auto-commit).git log --oneline $BASE..upstream/$UPSTREAM_BRANCHgit cherry-pick <hash1> <hash2> …On conflict:
git add, git cherry-pick --continue.git cherry-pick --abort to stop.git rebase upstream/$UPSTREAM_BRANCHOn conflict: resolve, git add, git rebase --continue. If > 3 rounds of conflicts, git rebase --abort and recommend merge.
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).env.local.Read the CHANGELOG delta:
git diff pre-upgrade-$HASH-$TIMESTAMP..HEAD -- CHANGELOG.mdParse new lines containing [BREAKING]. Format is:
[BREAKING] <description>. Run `/<skill-name>` to <action>.
If none: proceed silently.
If any:
[BREAKING] line in full.Print:
pre-upgrade-<HASH>-<TIMESTAMP>git rev-parse --short HEADgit rev-parse --short upstream/$UPSTREAM_BRANCHTell the user:
git reset --hard pre-upgrade-<HASH>-<TIMESTAMP>backup/pre-upgrade-<HASH>-<TIMESTAMP>npm run dev to pick up code + Convex schema changes.