update
The update skill restarts Vellum services and rebuilds the macOS app with intelligent git branch handling. Use it when deploying changes, switching branches, or recovering from stale processes. The skill supports no-argument updates on main, skipping git operations on feature branches, explicit branch checkout, and forced pulls, while performing preflight snapshots and comprehensive process cleanup to prevent race conditions.
git clone --depth 1 https://github.com/vellum-ai/vellum-assistant /tmp/update && cp -r /tmp/update/.claude/skills/update ~/.claude/skills/updateSKILL.md
# Update - Restart Vellum (with Smart Branch Handling)
Restart the Vellum assistant and gateway services with branch-aware git behavior.
## Arguments
The user may pass `$ARGUMENTS` to control branch behavior:
| Invocation | Behavior |
|---|---|
| `/update` (no args, on `main`) | Pull latest from `origin/main` (default) |
| `/update` (no args, on a feature branch) | Skip git ops - restart with the current checkout |
| `/update <branch>` | Check out that branch, pull if it has a remote |
| `/update --pull` | Force pull on whatever branch you're currently on |
## Steps
0. Ensure Bun is on PATH:
```bash
export PATH="$HOME/.bun/bin:$PATH"
```
1. Preflight snapshot - capture current state before making changes:
```bash
vellum ps
```
2. Quiesce with `vellum sleep` - stop assistant and gateway processes. This is directory-agnostic and stops processes globally regardless of CWD:
```bash
vellum sleep || true
```
3. Verify stopped - run `vellum ps` and confirm no running processes. If `vellum ps` shows processes still running, run fallback cleanup to force-kill them:
```bash
vellum ps
```
**Fallback cleanup if `vellum ps` confirms processes are still running:**
```bash
pkill -x "vellum-assistant" || true
pkill -f "gateway/src/index" || true
lsof -ti :7830 | xargs kill -9 2>/dev/null || true
lsof -ti :7821 | xargs kill -9 2>/dev/null || true
```
After fallback cleanup, run `vellum ps` again to confirm all processes are stopped.
4. Smart branch handling - determine what git operations (if any) to perform:
```bash
CURRENT=$(git branch --show-current)
GIT_OPS_RAN=false
```
**Case A - `--pull` flag:** Force pull on the current branch.
```bash
if [[ "$ARGUMENTS" == "--pull" ]]; then
git pull
GIT_OPS_RAN=true
fi
```
**Case B - Explicit branch name provided:** Check out the requested branch, pulling if possible. Before checking out, verify the working tree is clean - if there are uncommitted changes, **stop and warn the user** rather than silently losing work. Do NOT stash automatically.
```bash
if [[ -n "$ARGUMENTS" && "$ARGUMENTS" != "--pull" ]]; then
if ! git diff --quiet || ! git diff --cached --quiet; then
echo "ERROR: Uncommitted changes detected. Commit or stash them before switching branches."
# Stop and report the error to the user. Do not proceed.
fi
git checkout "$ARGUMENTS"
git pull origin "$ARGUMENTS" 2>/dev/null || true
GIT_OPS_RAN=true
fi
```
**Case C - No args, on `main`:** Pull latest from origin (preserves current default behavior).
```bash
if [[ -z "$ARGUMENTS" && "$CURRENT" == "main" ]]; then
git pull origin main
GIT_OPS_RAN=true
fi
```
**Case D - No args, on a feature branch:** Skip git ops entirely - just restart with the current checkout.
```bash
if [[ -z "$ARGUMENTS" && "$CURRENT" != "main" ]]; then
echo "On branch '$CURRENT' - skipping git pull, restarting with current checkout"
fi
```
5. Install dependencies - only if git operations ran (dependencies are unlikely to have changed for a local-only restart):
```bash
if [[ "$GIT_OPS_RAN" == "true" ]]; then
cd assistant && bun install && cd ..
cd gateway && bun install && cd ..
fi
```
6. Restart with `vellum wake` - start assistant and gateway from the current checkout. `vellum wake` must be run from the checkout directory that should supply the new assistant code:
```bash
vellum wake
```
7. Verify fresh state - run `vellum ps` to confirm processes are running:
```bash
sleep 5
echo ""
echo "=== Startup Summary ==="
vellum ps
echo "======================="
```
## Report
Tailor the report to what actually happened:
- **If git pulled (Cases A, B, C):** Report what was pulled (new commits), the branch, and whether dependencies were updated.
- **If restarted in-place (Case D):** Report that services were restarted on the current branch with no git changes.
- **Always include:** The startup summary block output (assistant health, gateway health).Set up, authenticate, and run external coding agents (Claude Code, Codex) via the Agent Client Protocol
Shop on Amazon and Amazon Fresh through your browser
Record and analyze API surfaces of web services
Build and edit small, personal visual tools and artifacts — dashboards, trackers, calculators, data visualizations, charts, simple landing pages, and slide decks the user wants for THEMSELVES. This is the right skill whenever the user asks to "visualize this," "make a chart," or "build an artifact" for their own use, or to edit an app they already built here. Do NOT reach for a ui_show dynamic_page to fake an artifact — build a real persistent app here. A one-off diagram, chart, or explainer that just accompanies an answer belongs to the visualize skill (ui_show visual), not an app. NOT for complex, multi-user, or shippable products — those go to a real project folder with a coding agent (see Scope below).
Drive a specific named macOS app via raw input bypassing the Accessibility tree
Migrate from ChatGPT, Claude, OpenClaw, Hermes, Manus, and other AI assistants into Vellum by inspecting their data exports, conversation archives, files, prompts, custom instructions, memory, saved memories, tools, GPTs, workflows, integrations, and relationships, then mapping as much as safely possible into Vellum primitives. Handles single-source and multi-source migrations with a unified, deduplicated inventory.
Chat with and search your complex documents — ask questions, extract tables and fields, and get answers grounded in the source. Connects the hosted Unstructured Transform MCP server to parse, structure, and enrich PDFs, Word/Excel/PowerPoint, images, scanned files, emails, and 60+ other formats into clean, AI-ready text for search, Q&A, and summarization without building a custom parsing pipeline.
Import conversation history from ChatGPT into Vellum