
Hs Release
Cut a core Hindsight release (vX.Y.Z) and open the changelog + blog PR.
Install
npx skills add vectorize-io/hindsight --skill hs-release -g -a claude-code -y- Repository
- vectorize-io/hindsight57.7k
- Category
- Git and review
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 1,412 tokens
- Runs scripts
- No, instructions only
What it does
Cut a core Hindsight release (vX.Y.Z) and open the changelog + blog PR. Use when asked to cut/start a release, bump the version, or publish a new Hindsight version.
Hindsight Release
Cut a core Hindsight release and open the accompanying changelog/blog PR. This is for the core
product version (API, clients, CLI, control plane, Helm). Integrations are versioned
independently, use scripts/release-integration.sh for those, not this skill.
The release is irreversible and outward-facing: it tags a version and pushes it straight to
main, which triggers CI that publishes packages to PyPI / npm / Helm. Confirm the version number
and that the intended fixes are already merged to main before you start.
Step 0, Pre-flight
- Decide the base. A release is cut from the latest
origin/main, never from a feature branch.git fetch origin --tagsfirst. Confirm the "couple of fixes" the user means are actually merged tomain(git log v<prev>..origin/main --oneline). - Find where
mainis checked out.mainis often already checked out in a sibling worktree (git worktree list). You cannot check outmainin a second worktree, run the release in the worktree that already holds it. If that worktree is dirty with throwaway cruft (.next-*tsconfig paths, screenshots),git stash push -u, fast-forward toorigin/main, run the release, thengit stash pop. - Pitfall: never pipe the checkout in an
&&chain likegit checkout main 2>&1 | tail && git reset --hard ..., the pipe's exit status istail's (always 0), so a failed checkout won't stop the chain and theresetfires on the wrong branch. Check out as its own command and verifygit branch --show-currentbefore resetting.
Step 1, Cut the release
Run from the worktree on a clean main:
./scripts/release.sh <version> # e.g. 0.8.1 (no leading v)

