mr-daedalium/ostack-saas/ostack-upgrade
Claude Code and agent skill by mr-daedalium/ostack-saas
- community
Checking that the SKILL.md file is still in the repository.
Upgrade ostack to the latest version. Detects global vs vendored install, runs the upgrade, and shows what's new. Use when asked to "upgrade ostack", "update ostack", or "get latest version".
Install
npx vskill@latest install mr-daedalium/ostack-saas/ostack-upgradeSKILL.md
/ostack-upgrade
Upgrade ostack to the latest version and show what's new.
Inline upgrade flow
This section is referenced by all skill preambles when they detect UPGRADE_AVAILABLE.
Step 1: Ask the user (or auto-upgrade)
First, check if auto-upgrade is enabled:
If `AUTO_UPGRADE=true` or `AUTO_UPGRADE=1`: Skip AskUserQuestion. Log "Auto-upgrading ostack v{old} → v{new}..." and proceed directly to Step 2. If ./setup fails during auto-upgrade, restore from backup (.bak directory) and warn the user: "Auto-upgrade failed — restored previous version. Run /ostack-upgrade manually to retry."
Otherwise, use AskUserQuestion:
- Question: "ostack v{new} is available (you're on v{old}). Upgrade now?"
- Options: ["Yes, upgrade now", "Always keep me up to date", "Not now", "Never ask again"]
If "Yes, upgrade now": Proceed to Step 2.
If "Always keep me up to date":
Tell user: "Auto-upgrade enabled. Future updates will install automatically." Then proceed to Step 2.
If "Not now": Write snooze state with escalating backoff (first snooze = 24h, second = 48h, third+ = 1 week), then continue with the current skill. Do not mention the upgrade again.
Note: {new} is the remote version from the UPGRADE_AVAILABLE output — substitute it from the update check result.
Tell user the snooze duration: "Next reminder in 24h" (or 48h or 1 week, depending on level). Tip: "Set auto_upgrade: true in ~/.ostack/config.yaml for automatic upgrades."
If "Never ask again":
Tell user: "Update checks disabled. Run ~/.claude/skills/ostack/bin/ostack-config set update_check true to re-enable." Continue with the current skill.
Step 2: Detect install type
The install type and directory path printed above will be used in all subsequent steps.
Step 3: Save old version
Use the install directory from Step 2's output below:
Step 4: Upgrade
Use the install type and directory detected in Step 2:
For git installs (global-git, local-git):
If $STASH_OUTPUT contains "Saved working directory", warn the user: "Note: local changes were stashed. Run git stash pop in the skill directory to restore them."
For vendored installs (vendored, vendored-global):
Step 4.5: Sync local vendored copy
Use the install directory from Step 2. Check if there's also a local vendored copy that needs updating:
If LOCAL_OSTACK is non-empty, update it by copying from the freshly-upgraded primary install (same approach as README vendored install):
Tell user: "Also updated vendored copy at $LOCAL_OSTACK — commit .claude/skills/ostack/ when you're ready."
If ./setup fails, restore from backup and warn the user:
Tell user: "Sync failed — restored previous version at $LOCAL_OSTACK. Run /ostack-upgrade manually to retry."
Step 5: Write marker + clear cache
Step 6: Show What's New
Read $INSTALL_DIR/CHANGELOG.md. Find all version entries between the old version and the new version. Summarize as 5-7 bullets grouped by theme. Don't overwhelm — focus on user-facing changes. Skip internal refactors unless they're significant.
Format:
Step 7: Continue
After showing What's New, continue with whatever skill the user originally invoked. The upgrade is done — no further action needed.
Standalone usage
When invoked directly as /ostack-upgrade (not from a preamble):
- Force a fresh update check (bypass cache):
Use the output to determine if an upgrade is available.
- If
UPGRADE_AVAILABLE <old> <new>: follow Steps 2-6 above.
- If no output (primary is up to date): check for a stale local vendored copy.
Run the Step 2 bash block above to detect the primary install type and directory (INSTALL_TYPE and INSTALL_DIR). Then run the Step 4.5 detection bash block above to check for a local vendored copy (LOCAL_OSTACK).
If `LOCAL_OSTACK` is empty (no local vendored copy): tell the user "You're already on the latest version (v{version})."
If `LOCAL_OSTACK` is non-empty, compare versions:
If versions differ: follow the Step 4.5 sync bash block above to update the local copy from the primary. Tell user: "Global v{PRIMARY_VER} is up to date. Updated local vendored copy from v{LOCAL_VER} → v{PRIMARY_VER}. Commit .claude/skills/ostack/ when you're ready."
If versions match: tell the user "You're on the latest version (v{PRIMARY_VER}). Global and local vendored copy are both up to date."
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingostack-upgrade/SKILL.md
Popularity
- Repository stars
- 102
- Repository forks
- 19
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mr-daedalium/ostack-saas/ostack-upgrade)