Skip to content

docs: cut the /release skill down to cocode's specifics - #85

Merged
lchoquel merged 1 commit into
devfrom
docs/Release-skill
Sep 7, 2026
Merged

lchoquel merged 1 commit into
devfrom
docs/Release-skill

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 7, 2026 •

Copy link
Copy Markdown
Member

The repo's /release skill now carries only what is specific to n8n-nodes-pipelex. Its opening paragraph names the workspace release play, docs/releasing.md, as the procedure to read first, and declares the three things the play needs from the repo: the repo key n8n-nodes-pipelex, the base dev, and the pull request target main — which guard-branches.yml's gate-main job makes the only way in, since it refuses any head into main that is not release/vX.Y.Z. Everything the play already does once for every repo is gone: the git status pre-flight that offered to fold uncommitted or unpushed work into the release, the branch created in place from the current HEAD, the numbered restatement of the commit, push and pull request steps, and the closing comparison table against the pipelex Python skill. The file is 45 lines added against 164 removed.

What it declares under each of the play's six headings:

  • What ships — the npm package, published by publish.yml on the push to main through npm Trusted Publishing (which is what the job's id-token: write permission is for), with npm pinned to the 11 line because npm 12 refuses the job's Node 20 runner; the GitHub Release, the vX.Y.Z tag and the dist zip from the same workflow's github-release job, which slices its notes out of CHANGELOG.md and warns rather than fails when it finds no heading; and the documentation site, deployed by deploy-docs.yml with mkdocs gh-deploy. It gives the three landing verifications (the run keyed to the merge SHA, npm view n8n-nodes-pipelex version, the tag) and warns that a green publish run is not evidence the n8n scanner passed, because make check-published ends in an || echo that swallows the failure.
  • Version files and the lock — package.json's version field is the one and only place the number is written, read back with the same node -p command CI uses; there is no lock step at all, because pnpm-lock.yaml is gitignored and untracked; nothing else in the tree is stamped.
  • Gates — make check before the commit, which is pnpm run lint, build, scan:simulate, typecheck:test and test, together with a note on the one hole where the combined ESLint config ignores vitest.config.ts and CI's does not; make docs-check (mkdocs build --strict) conditionally, when the entry carries links or docs/ changed, since doc-check.yml is path-keyed and the deploy on main is not strict; and why make check-dist is deliberately excluded.
  • The release commit — package.json and CHANGELOG.md, staged by name, with nothing else to carry because no gate rewrites a tracked file.
  • CI on the release pull request — guard-branches.yml, version-check.yml (asserting both the bump over main and the match with the branch name), changelog-check.yml, the five unfiltered checks lint.yml, n8n-check.yml, build.yml, n8n-scan.yml and test.yml, and the path-keyed doc-check.yml — noting that publish.yml and deploy-docs.yml are not pull-request checks.
  • Particulars — the changelog heading carries the v and the entries use ### section subheads; no pre-release form is possible, since both gate-main's regex and changelog-check.yml refuse one; the tags are lightweight, so reading them needs --tags; the repo declares neither .worktree.toml nor .worktreeinclude, so wt provisions through the Makefile's install target; and the release arms no follow-ups.

The ledger item's survey, taken on 2026-09-07, disagreed with the tree in four places, and the rewrite followed the tree in each. The survey described pnpm-lock.yaml as being "for CI/dev install", where it is in fact named in .gitignore and tracked by nothing, so the repo has no lock step rather than a light one. It gave make check as pnpm run lint plus pnpm run build, where the recipe also runs scan:simulate, typecheck:test and test. It said the changelog uses plain bullets with no ### subheads, where CHANGELOG.md is written with ### Added / ### Fixed sections and headings that carry the v. And it listed publish.yml among the checks on the release pull request, where that workflow fires on the push to main; the survey also omitted guard-branches.yml, n8n-check.yml, n8n-scan.yml and doc-check.yml, all of which do gate it.

Closes L-260907-b1ecf7

🤖 Generated with Claude Code

https://claude.ai/code/session_016F72qvy4QBZHe7XX24QmcT


Summary by cubic

Rewrites the /release skill to carry only cocode-specific details; the general procedure now lives in the workspace release play docs/releasing.md, which the skill points at first. It then declares this repo's particulars under six headings: what a push to main publishes (PyPI, the GitHub Release with its lightweight vX.Y.Z tag, the MkDocs site) and how to verify it; pyproject.toml as the single version source with the derived uv.lock; the make gates; the named release commit; the CI checks on a release pull request; and quirks like the Release/vX.Y.Z PR title, the v-prefixed changelog heading, and the absence of pre-release forms. The diff is 50 lines added against 152 removed.

Removed

  • The git status pre-flight that offered to fold uncommitted or unpushed work into the release.
  • The release branch created from the current HEAD.
  • The numbered commit, push, and pull request steps.

Written for commit f88ad2e. Summary will update on new commits.

Review in cubic

The skill now points at the workspace release play for the procedure and declares only what is particular to this repo, under the six headings the play reads by name: what the push to main publishes (PyPI, the GitHub Release with its lightweight tag, the MkDocs site) and how the landing verifies it, the pyproject version with the uv.lock that follows it, the gates and the CI checks on a release pull request, the named file list of the release commit, and the particulars — no pre-release form, the Release/vX.Y.Z pull request title, the changelog heading the Release notes are sliced from, and the merge commit the back-merge leaves.

Dropped everything the play does once for every repo: the pre-flight that read git status and offered to fold uncommitted or unpushed work into the release, the release branch created from the current HEAD instead of cut in _cocode--release by wt add, and the numbered restatement of the commit, push and pull request steps.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016F72qvy4QBZHe7XX24QmcT
@lchoquel
lchoquel merged commit 768644b into dev Sep 7, 2026
19 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 7, 2026
@lchoquel
lchoquel deleted the docs/Release-skill branch September 7, 2026 22:16
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant