Agent SkillsSkyvern-AI/skyvern › bump-version

bump-version

GitHub

自动化 Skyvern OSS 版本升级与发布流程,包括更新版本号、构建 Python/TypeScript SDK、提交代码及创建发布 PR。适用于需要发布新版本或手动提升版本的场景。

.claude/skills/bump-version/SKILL.md Skyvern-AI/skyvern

Trigger Scenarios

用户要求发布新版本 用户明确要求提升版本号

Install

npx skills add Skyvern-AI/skyvern --skill bump-version -g -y
More Options

Non-standard path

npx skills add https://github.com/Skyvern-AI/skyvern/tree/main/.claude/skills/bump-version -g -y

Use without installing

npx skills use Skyvern-AI/skyvern@bump-version

指定 Agent (Claude Code)

npx skills add Skyvern-AI/skyvern --skill bump-version -a claude-code -g -y

安装 repo 全部 skill

npx skills add Skyvern-AI/skyvern --all -g -y

预览 repo 内 skill

npx skills add Skyvern-AI/skyvern --list

SKILL.md

Frontmatter
{
    "name": "bump-version",
    "description": "Bump Skyvern OSS version, build Python and TypeScript SDKs with Fern, and create release PR. Use when releasing a new version or when the user asks to bump version.",
    "argument-hint": [
        "version"
    ],
    "disable-model-invocation": true
}

Bump Version Skill

Automate the complete OSS version bump and release workflow for Skyvern.

What this does

  1. Validates and updates version in pyproject.toml
  2. Builds Python SDK with Fern
  3. Builds TypeScript SDK with Fern
  4. Creates commit with all changes
  5. Optionally runs SDK tests
  6. Pushes branch and creates PR

Version argument

The version can be provided as an argument or you'll be prompted:

  • If $ARGUMENTS is provided, use it as the new version
  • If not provided, ask user for the new version number
  • Validate it follows semver format: MAJOR.MINOR.PATCH (e.g., 1.0.14, 1.1.0, 2.0.0)

Semver guidance:

  • PATCH: Bug fixes, backwards compatible (e.g., 1.0.13 → 1.0.14)
  • MINOR: New features, backwards compatible (e.g., 1.0.13 → 1.1.0)
  • MAJOR: Breaking changes (e.g., 1.0.13 → 2.0.0)

Step-by-step process

1. Get and validate version

  • Read current version from pyproject.toml line 3
  • Determine new version from $ARGUMENTS or prompt user
  • Validate semver format using regex: ^\d+\.\d+\.\d+$
  • Confirm with user: "Bumping version from {current} to {new}. Continue?"

2. Create feature branch

git checkout -b bump-version-$ARGUMENTS

Branch naming: bump-version-{version} (e.g., bump-version-1.0.14)

3. Update pyproject.toml

Update line 3 in pyproject.toml:

version = "{new_version}"

Use the Edit tool to make this single-line change.

4. Build Python SDK

bash scripts/fern_build_python_sdk.sh
  • Wait for completion
  • Check output for errors
  • Fern reads version from pyproject.toml

5. Build TypeScript SDK

bash scripts/fern_build_ts_sdk.sh
  • Wait for completion
  • Check output for errors
  • Verify skyvern-ts/client/package.json version matches new version

6. Review changes

git status
git diff --stat

Show user:

  • Number of files changed
  • Which files were modified
  • Summary of changes

7. Commit changes

git add .
git commit -m "Bump version to {version}

- Update version in pyproject.toml
- Regenerate Python SDK with Fern
- Regenerate TypeScript SDK with Fern

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>"

8. Verify SDKs (optional)

Ask user: "Would you like to run SDK tests to verify nothing broke?"

If yes:

  • Python SDK tests: pytest tests/sdk/python_sdk/
  • Note that TypeScript tests require manual Chrome setup (see tests/sdk/README.md)
  • Display test results
  • If tests fail, STOP and report errors - do not proceed to push

If no:

  • Skip to push step

9. Push and create PR

Ask user: "Ready to push and create PR?"

If yes:

git push -u origin bump-version-{version}

gh pr create --title "Bump version to {version}" --body "## Summary
Bump Skyvern OSS version to {version}

## Changes
- Updated version in \`pyproject.toml\`
- Regenerated Python SDK with Fern
- Regenerated TypeScript SDK with Fern

## Deployment
After merge, GitHub will automatically:
- Deploy Python package to PyPI (version change in \`pyproject.toml\`)
- Deploy TypeScript package to NPM (version change in \`package.json\`)

## Testing
- [ ] Python SDK tests passed locally
- [ ] TypeScript SDK tests passed locally (if applicable)

🤖 Generated with [Claude Code](https://claude.com/claude-code)"

Display the PR URL to the user.

Important notes

  • Single PR: All changes (version bump, SDK generation, commit) happen in one PR
  • Fern sync: Fern reads version from pyproject.toml and syncs to package.json
  • Testing: SDK tests require .env with SKYVERN_API_KEY
  • Deployment: Automatic on PR merge via GitHub Actions
  • No force push: Never use --force when pushing

Error handling

If any step fails:

  1. Display the error message clearly
  2. Explain what went wrong
  3. Ask user how to proceed (fix, skip, or abort)
  4. Do not continue to next steps if critical operations fail

Version History

  • 55315eb Current 2026-07-24 22:18

Same Skill Collection

skyvern/cli/skills/qa/SKILL.md
skyvern/cli/skills/smoke-test/SKILL.md
skyvern/cli/skills/testing/SKILL.md
skills/skyvern/SKILL.md
skyvern/cli/skills/skyvern/SKILL.md

Metadata

Files
0
Version
b50f025
Hash
7f0a2858
Indexed
2026-07-24 22:18

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 06:51
浙ICP备14020137号-1 $mapa de visitantes$