docs: cut the /release skill down to pipelex-starter-python's specifics - #69
Merged
Conversation
The skill now names the workspace release play and declares only what is this repo's own: the GitHub Release that github-release.yml creates on the push to main and how the landing verifies it, the pyproject.toml version with its first-version-line hazard and the uv.lock that make li regenerates, the agent-check and agent-test gates plus the conditional codegen-check, the named files the release commit carries, the workflows that gate a release pull request, and the particulars (the Release/vX.Y.Z title, the refused pre-release form, the v in the changelog headings, the lightweight tags). The procedure it used to restate is gone: the git-status pre-flight that offered to fold uncommitted changes into the release, the branch created in place from the current HEAD, the numbered interactive steps, and the push and pull-request instructions the play now owns. The branch is cut in _pipelex-starter-python--release by wt add, and the merge is landed by /ledger-land. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016F72qvy4QBZHe7XX24QmcT
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
The repo's
/releaseskill no longer restates the release procedure. It now opens by naming the workspace release play,docs/releasing.mdat the workspace root, and declares only what is specific topipelex-starter-python: the repo key, the basedev, the pull request tomain, and the release worktree_pipelex-starter-python--releasecut withwt add pipelex-starter-python release --branch release/vX.Y.Z. The eight interactive steps go with it — the pre-flight that readgit statusand offered to fold a dirty tree or unpushed commits into the release, the branch created from the current HEAD in place (which the main-checkout guard refuses outright), and the post-merge sequence the play and/ledger-landnow own.What it declares under each of the six headings:
name = "piper"inpyproject.tomlis the placeholder thebootstrapskill rewrites in a clone, not a registry package.github-release.ymlfires on the push tomain, reads the version out ofpyproject.toml, slices the notes between that version's## [vX.Y.Z] -heading and the next, and creates the Release, which is also what creates the tag. Two traps are written down: the job is unguarded, so a push carrying no bump — or a re-run of a run that already created its Release — fails atgh release create; and a missing changelog entry does not fail it, it ships a Release carrying the bare line. The landing verification is the run,gh release view, and the tag.pyproject.toml's[project].version, bare and without thev, and it must stay the file's firstversion =line becausegithub-release.ymlreads it withgrep -m 1and[tool.uv]'srequired-versionfurther down contains the same substring.uv.lockis regenerated bymake liafter the bump;package-check.ymlfails the pull request over a stale one. Nothing else is stamped: no__version__, no badge.make agent-check, thenmake agent-test, thenmake codegen-checkwhen a.mthdsmethod changed since the last release, with thegit logthat answers whether one did and thePIPELEX=variable the target needs.pyproject.toml,uv.lock,CHANGELOG.md, whatevermake agent-checkrewrote, and, after amake codegen, both the typed clients underpiper/generated/and theinputs.template.jsonbeside each method, all staged by name. Leaving the templates behind loses them silently, sincecodegen-checkhashes onlypiper/generated/and the worktree is reaped at landing.guard-branches.yml(itsgate-mainjob is the only way intomain),version-check.yml,changelog-check.yml,lint-check.yml,tests-check.yml,package-check.yml,cla.yml, each with what it actually asserts and what it does not.Release/vX.Y.Zwith the slash, which is where this repo departs from the play's default; the commit subject carries a one-line summary; there is no pre-release form, sincerelease/vX.Y.Z-rc.1failschangelog-check.ymlrather than skipping it; the changelog headings carry thev; and the tags are lightweight, so reading them always needs--tags.The rewrite found the item's survey disagreeing with the tree in a few places, and followed the tree. The survey said the gates "mirror the CI jobs by name", and they do not:
make agent-checkis wider thanlint-check.yml, which runs the ruff, pyright and mypy merge checks but none of theplxtones, so a MTHDS or TOML formatting finding surfaces locally or nowhere; andmake agent-testruns a different marker set from themake gha-testsCI runs. The survey listed two gates, but the tree has a third that matters —make codegen-check, which no workflow runs at all and whosepipelexCLI is not a dependency of this starter. The survey's CI list omittedcla.yml. And its changelog line described the old skill's own behaviour rather than a repo constraint:changelog-check.ymlasserts nothing about[Unreleased], so leaving none behind is the play's rule, not this repo's CI.Closes L-260907-be2316
🤖 Generated with Claude Code
https://claude.ai/code/session_016F72qvy4QBZHe7XX24QmcT