← ClaudeAtlas

upgrading-to-upstream-pilisted

Upgrade this agent wrapper to a newly released upstream earendil-works/pi version, including package versions, lockfile, release manifest, patch-package patches, verification, commit, and push. Use when user asks to upgrade Pi, update to a new Pi release/tag/version, regenerate Pi patches, or handle repeated upstream Pi release bumps.
shekohex/dotai · ★ 10 · AI & Automation · score 60
Install: claude install-skill shekohex/dotai
# Upgrading To Upstream Pi ## Quick Start Use this workflow from `/home/coder/dotai/agent` when upgrading `@earendil-works/*` Pi packages. 1. Confirm clean state and latest upstream: `git -C /home/coder/dotai status --short` `bash /home/coder/.pi/agent/skills/librarian/scripts/checkout.sh earendil-works/pi --force-update --path-only` `gh release view --repo earendil-works/pi --json tagName,publishedAt --jq '.'` `npm view @earendil-works/pi-coding-agent version` 2. Read changelog for target version with `gh api`, not guess from memory. 3. Install exact target versions: `npm install @earendil-works/pi-agent-core@VERSION @earendil-works/pi-ai@VERSION @earendil-works/pi-coding-agent@VERSION @earendil-works/pi-tui@VERSION` 4. Pin patched package exactly in `package.json`: `@earendil-works/pi-coding-agent`: `VERSION` 5. Bump wrapper metadata: `package.json` `version` `../.github/.release-please-manifest.json` `agent` ## Patch Workflow Our recurring patch removes the internal spacer from upstream `ToolExecutionComponent`: ```diff - this.addChild(new Spacer(1)); ``` Check if still needed: `grep -n "this.addChild(new Spacer(1))" node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js | head` If still present: 1. Remove the line using `apply_patch`. 2. Delete old `patches/@earendil-works+pi-coding-agent+OLD.patch` using `apply_patch`. 3. Run `npm install` to refresh lockfile and prove postinstall can