Skip to content

feat(update): auto-install and update skills during hotdata update#105

Merged
eddietejeda merged 1 commit into
mainfrom
feat/auto-install-skills-on-upgrade
May 23, 2026
Merged

feat(update): auto-install and update skills during hotdata update#105
eddietejeda merged 1 commit into
mainfrom
feat/auto-install-skills-on-upgrade

Conversation

@eddietejeda
Copy link
Copy Markdown
Contributor

Summary

  • After hotdata update swaps the binary, it now downloads and installs the matching skills tarball for the new version
  • Uses the target version URL (not CURRENT_VERSION) since the old binary is still running at call time
  • Skills are installed even if never previously set up — a fresh upgrade leaves the user with both a new binary and up-to-date agent skills
  • Failures print a yellow warning without rolling back the binary update
  • Skips silently when skills are managed by a skills agent

Implementation

Refactored download_and_extract() into a download_and_extract_from_url(url) helper so existing and new versioned paths share one implementation. Added pub fn install_for_version(version) to skill.rs, called from run_update() in update.rs after perform_update() succeeds.

Test plan

  • Run hotdata update when a newer version exists — binary updates, then skill download and success message appear
  • Run hotdata update when skills were never installed — skills are installed as part of the upgrade
  • Simulate skills tarball 404 — binary update succeeds, warning printed, no crash
  • Run when managed by a skills agent — skills step skipped silently
  • Run hotdata update when already up to date — no skill download triggered

Generated with Claude Code

After the binary is atomically swapped, download and install the matching
skills tarball for the new version. Uses the target version URL rather
than CURRENT_VERSION (old binary is still running at call time). Skills
are installed even if never previously set up. Failures print a warning
without rolling back the binary update.

Refactors download_and_extract() into a download_and_extract_from_url()
helper so the existing and new versioned paths share one implementation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sentry
Copy link
Copy Markdown

sentry Bot commented May 23, 2026

Codecov Report

❌ Patch coverage is 0% with 20 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/skill.rs 0.00% 19 Missing ⚠️
src/update.rs 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@eddietejeda eddietejeda merged commit 84095c0 into main May 23, 2026
11 checks passed
@eddietejeda eddietejeda deleted the feat/auto-install-skills-on-upgrade branch May 23, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant