plugins/hypercore/skills/version-update/SKILL.md
[Hyper] Update semantic versions across node/rust/python projects, keep discovered version files synchronized, and prefer the installed `git-commit` skill for the final git step with a direct fallback when it is unavailable.
npx skillsauth add alpoxdev/hypercore version-updateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Cross-stack semantic version update for node/rust/python with conditional
git-commithandoff.
<output_language>
Default all user-facing deliverables, saved artifacts, reports, plans, generated docs, summaries, handoff notes, commit/message drafts, and validation notes to Korean, even when this canonical skill file is written in English.
Preserve source code identifiers, CLI commands, file paths, schema keys, JSON/YAML field names, API names, package names, proper nouns, and quoted source excerpts in their required or original language.
Use a different language only when the user explicitly requests it, an existing target artifact must stay in another language for consistency, or a machine-readable contract requires exact English tokens. If a localized template or reference exists (for example *.ko.md or *.ko.json), prefer it for user-facing artifacts.
</output_language>
<purpose>git-commit skill for the final git add/commit/push flow.git-commit is unavailable.<trigger_conditions>
| User intent | Activate |
|------|------|
| "bump this package to 1.4.0" | yes |
| "update the version and commit it" | yes |
| "increase patch version for this crate" | yes |
| "just make a git commit" | no, use git-commit |
| "rewrite this release runbook" | no |
</trigger_conditions>
<supported_targets>
package.jsonCargo.tomlpyproject.tomlsetup.py__version__ declarations.version('x.y.z') code patterns</supported_targets>
<scripts>| Script | Purpose |
|------|------|
| scripts/stack-detect.sh | Detect stacks (node, rust, python) |
| scripts/version-find.sh [--plain] | Discover version-bearing files |
| scripts/version-current.sh [file] | Extract current semver (file|version) |
| scripts/version-bump.sh <current> <type> | Calculate next semver |
| scripts/version-apply.sh <new> [files...] | Apply version to discovered/selected files |
| scripts/git-commit-detect.sh | Detect whether a usable project-local git-commit skill exists in repository skill directories |
| scripts/git-commit.sh "msg" [files] | Fallback direct commit helper when git-commit is not installed |
| scripts/git-push.sh | Fallback direct push helper when git-commit is not installed |
<git_integration>
scripts/git-commit-detect.sh before the final git step.skills/git-commit, .agents/skills/git-commit, .claude/skills/git-commit, and .codex/skills/git-commit inside the current repository.git-commit only when the detector returns installed|....git-commit, pass only the files changed by version-update and use chore: bump version to x.y.z unless the user requested a different message.missing|..., use the local fallback scripts in skills/version-update/scripts/.installed|..., let git-commit own push confirmation. Otherwise use scripts/git-push.sh only after explicit user request.</git_integration>
<version_rules>
| Argument | Action | Example |
|------|------|------|
| +1 / +patch | Patch +1 | 0.1.13 -> 0.1.14 |
| +minor | Minor +1 | 0.1.13 -> 0.2.0 |
| +major | Major +1 | 0.1.13 -> 1.0.0 |
| x.y.z | Explicit set | 0.1.13 -> 2.0.0 |
</version_rules>
<workflow># 1) detect stack(s)
scripts/stack-detect.sh
# 2) find version-bearing files
scripts/version-find.sh
# 3) read current version
scripts/version-current.sh
# output: <file>|<version>
# 4) compute next version
scripts/version-bump.sh 1.2.3 +minor
# -> 1.3.0
# 5) apply to all discovered files (or selected files)
scripts/version-apply.sh 1.3.0
# 6) review the final diff and changed file list
git diff --stat
git diff
# 7) detect whether a git-commit skill is actually usable
scripts/git-commit-detect.sh
# -> installed|/abs/path/to/current-repo/skills/git-commit
# or missing|comma,separated,current-repo,paths|reason
# 8a) if git-commit is installed and usable, hand off the git step to that skill
# target message: chore: bump version to 1.3.0
# 8b) otherwise, use the local fallback
scripts/git-commit.sh "chore: bump version to 1.3.0" package.json
# 9) optional push only when explicitly requested
scripts/git-push.sh
</workflow>
<stack_targets>
| Stack | Primary files | Additional patterns |
|------|------|------|
| Node | package.json | .version('x.y.z') in code |
| Rust | Cargo.toml ([package].version) | .version('x.y.z') in code |
| Python | pyproject.toml, setup.py, __version__ in .py | .version('x.y.z') in code |
</stack_targets>
<required>| Category | Required |
|------|------|
| Input | Parse ARGUMENT as bump rule or explicit semver |
| Discovery | Run version-find.sh before applying updates |
| Current state | Read the current version with version-current.sh before computing the target version |
| Consistency | Keep all discovered version files synchronized |
| Git detection | Run scripts/git-commit-detect.sh before choosing the git path |
| Git scope | If handing off to git-commit, constrain it to the version-update file set |
| Safety | Use conventional commit message (chore: bump version to x.y.z) unless the user requests otherwise |
| Git | Keep git write operations sequential |
<scope_boundaries>
version-update owns version discovery, target calculation, file updates, and diff review.git-commit owns repository inspection, staging discipline, commit creation, and push confirmation when the detector confirms that a repository-local skill is usable.git-commit is available.</scope_boundaries>
<examples>Trigger checks:
Execution checklist:
version-current.shversion-bump.sh (or explicit semver validated)version-apply.sh updated all intended filesgit diff reviewedscripts/git-commit-detect.sh run before choosing the git pathskills/git-commit, .agents/skills/git-commit, .claude/skills/git-commit, and .codex/skills/git-commit inside the current repositoryinstalled|..., the final git step is handed off with the narrowed version-update scopemissing|..., the fallback scripts/git-commit.sh is used with only the version-update filesForbidden:
installed|... without reasondevelopment
[Hyper] Use when working on Vite + TanStack Router projects - enforces architecture rules (layers, routes, hooks, services, conventions) with mandatory validation before any code change. Triggers on file creation, route work, hook patterns, or any structural change in a Vite + TanStack Router codebase.
development
[Hyper] Use when working on TanStack Start projects and the task involves auth, sessions, cookies, CSRF, secrets, env exposure, server functions/routes, headers/CSP, webhooks, or security review/fixes. Triggers on protecting routes, hardening auth flows, preventing secret leaks, securing server boundaries, or reviewing HTTP/security behavior in a TanStack Start app.
tools
[Hyper] Enforce TanStack Start architecture in existing Start projects, especially project/folder structure, route structure, nested shared folder organization, server functions, loader/client-server boundaries, importProtection, hooks, SSR/hydration, and hypercore conventions. Use before structural code changes, folder-structure reviews, route work, server function work, or architecture audits in TanStack Start codebases.
development
[Hyper] Test Codex/agent skills for intended triggering and behavior with realistic positive, negative, boundary, and edge-case scenarios. Use when validating a skill folder, SKILL.md, rules/references/scripts/assets, trigger precision, workflow correctness, or regression coverage before shipping skill changes.