GS

gstack-upgrade

Handles the secure upgrade process for the gstack tool.

Install

mkdir -p .claude/skills/gstack-upgrade && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12037" && unzip -o skill.zip -d .claude/skills/gstack-upgrade && rm skill.zip

Installs to .claude/skills/gstack-upgrade

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Upgrade gstack to the latest version. Detects global vs vendored install, runs the upgrade, and shows what's new.
113 charsno explicit “when” trigger
Beginner

Key capabilities

  • Detect gstack installation type
  • Save the current gstack version
  • Upgrade gstack for git installations
  • Upgrade gstack for vendored installations
  • Show a summary of new features after upgrade

How it works

The skill detects the gstack installation type, performs the upgrade using git commands or by cloning a new repository, and then displays a changelog summary.

Inputs & outputs

You give it
User's decision to upgrade gstack or an explicit /gstack-upgrade command
You get back
Updated gstack installation and a summary of new features

When to use gstack-upgrade

  • Updating gstack utility
  • Maintaining agent tool versions

About this skill

/gstack-upgrade

Upgrade gstack 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

Use AskUserQuestion:

  • Question: "gstack v{new} is available (you're on v{old}). Upgrade now? Takes ~10 seconds."
  • Options: ["Yes, upgrade now", "Later (ask again tomorrow)"]

If "Later": Run touch ~/.gstack/last-update-check to reset the 24h timer and continue with the current skill. Do not mention the upgrade again.

Step 2: Detect install type

if [ -d "$HOME/.claude/skills/gstack/.git" ]; then
  INSTALL_TYPE="global-git"
  INSTALL_DIR="$HOME/.claude/skills/gstack"
elif [ -d ".claude/skills/gstack/.git" ]; then
  INSTALL_TYPE="local-git"
  INSTALL_DIR=".claude/skills/gstack"
elif [ -d ".claude/skills/gstack" ]; then
  INSTALL_TYPE="vendored"
  INSTALL_DIR=".claude/skills/gstack"
elif [ -d "$HOME/.claude/skills/gstack" ]; then
  INSTALL_TYPE="vendored-global"
  INSTALL_DIR="$HOME/.claude/skills/gstack"
else
  echo "ERROR: gstack not found"
  exit 1
fi
echo "Install type: $INSTALL_TYPE at $INSTALL_DIR"

Step 3: Save old version

OLD_VERSION=$(cat "$INSTALL_DIR/VERSION" 2>/dev/null || echo "unknown")

Step 4: Upgrade

For git installs (global-git, local-git):

cd "$INSTALL_DIR"
STASH_OUTPUT=$(git stash 2>&1)
git fetch origin
git reset --hard origin/main
./setup

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):

PARENT=$(dirname "$INSTALL_DIR")
TMP_DIR=$(mktemp -d)
git clone --depth 1 https://github.com/garrytan/gstack.git "$TMP_DIR/gstack"
mv "$INSTALL_DIR" "$INSTALL_DIR.bak"
mv "$TMP_DIR/gstack" "$INSTALL_DIR"
cd "$INSTALL_DIR" && ./setup
rm -rf "$INSTALL_DIR.bak" "$TMP_DIR"

Step 5: Write marker + clear cache

mkdir -p ~/.gstack
echo "$OLD_VERSION" > ~/.gstack/just-upgraded-from
rm -f ~/.gstack/last-update-check

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:

gstack v{new} — upgraded from v{old}!

What's new:
- [bullet 1]
- [bullet 2]
- ...

Happy shipping!

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 /gstack-upgrade (not from a preamble), follow Steps 2-6 above. If already on the latest version, tell the user: "You're already on the latest version (v{version})."

When not to use it

  • When the user explicitly chooses to upgrade later
  • When gstack is not found in the expected directories

Limitations

  • Requires user interaction for upgrade confirmation
  • Does not handle gstack installations outside of specified global or local paths
  • Local changes are stashed but require manual `git stash pop` to restore

How it compares

This skill automates the detection of installation type and the upgrade process, including showing new features, unlike a manual update that would require specific commands and separate changelog review.

Compared to similar skills

gstack-upgrade side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
gstack-upgrade (this skill)05moReviewBeginner
webapp-testing3533moReviewIntermediate
resolve-conflicts818moReviewIntermediate
telegram-bot-builder1066moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

webapp-testing

anthropics

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

353585

resolve-conflicts

antinomyhq

Use this skill immediately when the user mentions merge conflicts that need to be resolved. Do not attempt to resolve conflicts directly - invoke this skill first. This skill specializes in providing a structured framework for merging imports, tests, lock files (regeneration), configuration files, and handling deleted-but-modified files with backup and analysis.

81334

telegram-bot-builder

davila7

Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.

106130

dev-browser

SawyerHood

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

53176

openspec-onboard

studyzy

Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.

10207

codex-cli-bridge

alirezarezvani

Bridge between Claude Code and OpenAI Codex CLI - generates AGENTS.md from CLAUDE.md, provides Codex CLI execution helpers, and enables seamless interoperability between both tools

9180

Search skills

Search the agent skills registry