[DOCS] Add a skill for bumping the client pins and their specs - #6
Merged
chandrasekharan-zipstack merged 2 commits intoSep 8, 2026
Merged
Conversation
A client bump here is three coupled edits -- the exact pin, the vendored spec re-copied from the commit that client was generated from, and the provenance sha -- and the coupling is only discoverable by tripping test_specs.py or test_contract.py and working backwards. Records the order as a repo-local skill, including the part that is easy to get wrong: derived_flags.json is refreshed deliberately after reading what moved, a flag missing from it being a flag the CLI has stopped offering. Also pins the release shape: publish before tag, `none` for the version already committed, and pre_release for the rc flow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CSm32dsxD56PkKENgav3Mn
|
| Filename | Overview |
|---|---|
| .claude/skills/bump-client-pins/SKILL.md | Documents the coupled dependency, specification, provenance, validation, and release workflow; the latest changes fully address both previous review findings. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Choose released client versions] --> B[Update exact pins]
B --> C[Run uv lock and uv sync]
C --> D[Trace client tag to gen_sdk SPEC_SOURCE]
D --> E[Copy vendored specs byte-for-byte]
E --> F[Update all provenance fields and sha256]
F --> G[Run tests]
G --> H{Derived flags changed?}
H -- Yes --> I[Review changes and deliberately refresh snapshot]
H -- No --> J[Run lint]
I --> J
J --> K[Choose version bump]
K --> L[Dispatch release workflow]
L --> M{Pre-release?}
M -- Yes --> N[Publish RC]
N --> O[Promote using the same version_bump]
M -- No --> P[Publish stable release]
Reviews (2): Last reviewed commit: "docs: check all four provenance fields, ..." | Re-trigger Greptile
…an rc promotion Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CSm32dsxD56PkKENgav3Mn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
.claude/skills/bump-client-pins/SKILL.md— the ordered sequence for bumpingunstract-client/llmwhisperer-clientand cutting a CLI release.A client bump here is three coupled edits, not one:
pyproject.toml, thenuv lock+uv sync(CI installs from the lockfile)tools/gen_sdk.shSPEC_SOURCEsrc/unstract_cli/specs/provenance.jsontests/test_specs.pyandtests/test_contract.pyenforce the coupling, so today it is discoverable only by tripping them and working backwards. The skill also covers the part that is easy to get wrong:tests/derived_flags.jsonis refreshed deliberately after reading what moved — a flag missing from it is a flag the CLI has stopped offering — and the release shape (publish before tag,nonefor the version already committed,pre_releasefor the rc flow).Why
Nothing notifies this repo when either client releases, and the pipeline is undocumented in-repo. It points at the existing tests and
src/unstract_cli/specs/README.mdrather than restating them, and carries no version numbers, dates or codenames.Notes
feat/cli-scaffoldrather thanmain, sincemainis still the empty initial commit and this skill describes machinery that lives on the scaffold branch.🤖 Generated with Claude Code
https://claude.ai/code/session_01CSm32dsxD56PkKENgav3Mn