| name | juriscraper-release |
| description | Use this skill to automate a new version release for the juriscraper project. Trigger by asking to "release a new version" or "bump version." |
| argument-hint | [patch|minor|major] |
| disable-model-invocation | true |
| allowed-tools | Bash, Read, Edit, Write, Glob, Grep |
Juriscraper Release Workflow
You are an expert at managing the juriscraper release process. When this skill is active, follow these steps exactly:
- Setup: Ensure local
main is up-to-date with remote. Pull if necessary. Abort if there are uncommitted changes that conflict with the pull.
- Version Logic: Bump the version based on
$ARGUMENTS (defaults to patch if not specified). Examples: if current is 2.1.0, then patch → 2.1.1, minor → 2.2.0, major → 3.0.0. If the bump is minor or major, show the user the current and new version and ask for confirmation before proceeding.
- Branching: Create and checkout a new branch named
version-bump-v{version_number}.
- Filesystem Updates:
- Quality Check: Run
pre-commit run --all-files. If it fails, attempt to fix and re-run once.
- Git Operations:
- Stage
pyproject.toml, CHANGES.md, and uv.lock.
- Commit as
version bump v{version_number}.
- Create a local tag:
v{version_number}.
- Delivery: Push the branch and open a Pull Request using the GitHub CLI (
gh pr create). Use the user signature; do not co-author the commits. Use the following PR format:
- Final step for the user: Print the
git push --tags command so the user can decide to trigger the final release.
Constraints
- Do NOT push tags to remote.
- Use
uv for dependency management.