Prepare and publish versioned GitHub Releases for the Knowledge Refinery repository. Use when asked to bump the Plugin/CLI version, prepare a release pull request, create and push a version tag, publish GitHub Release notes, or verify the release CI and documentation deployment.
Resources
2Install
npx skillscat add skanehira1126/knowledge-refinery/release-knowledge-refinery Install via the SkillsCat registry.
Release Knowledge Refinery
Release this repository through a validated pull request, an immutable tag on the merged commit,
and a published GitHub Release. Do not publish to PyPI.
Interpret the request
- For “prepare a release”, stop after the release PR is green and report what remains.
- For “release” or “publish”, treat the request as authorization to ready and merge the release PR,
push the tag, and publish the GitHub Release after all checks pass. - Use an explicitly requested version. Otherwise infer SemVer from the release contents: use a patch
for compatible fixes/features and the next minor version for a breaking change while pre-1.0. - Never change a knowledge or vault
schema_versionmerely because the package version changes.
Inspect before changing
- Confirm this is the Knowledge Refinery repository from
.codex-plugin/plugin.jsonandpyproject.toml. - Check
git status -sb, the current branch,git remote -v,gh --version, andgh auth status. - Fetch
originand confirm the local default branch is not ahead of or behindorigin/main. - Preserve unrelated files. In particular, never stage
.refinery.local.yamloruv.lock. - Confirm that the intended tag and GitHub Release do not already exist.
Prepare the version
Create
codex/release-v<version>from the currentorigin/main.Keep these package-version representations synchronized:
src/knowledge_refinery/__init__.py.codex-plugin/plugin.json- version assertions in
tests/ - the
cli_versionexample indocs/schema.md
Keep
uv.lockuntracked and ignored. The MCP configuration and GitHub workflows must not use
frozen lockfile resolution.Run the deterministic preflight:
python3 .agents/skills/release-knowledge-refinery/scripts/preflight.py --version <version>Run the repository-required validation:
bash scripts/validate.sh
Publish the release PR
- Review the complete diff and stage only the intended files explicitly.
- Commit with
Release v<version>, push the branch, and create a draft PR. - Write the PR description in Japanese with changes, motivation, user impact, and validation.
- Wait for every Python version in
.github/workflows/ci.ymlto pass. Inspect failures with GitHub Actions logs. - Fix failures caused by the release diff. If a failure exposes unrelated pre-existing work,
report the root cause in Japanese and obtain approval before expanding the PR. - For a publish request, mark the green PR ready and squash-merge it. For a prepare request, stop.
Tag and publish
- Fetch
origin, fast-forward localmain, and capture the exact merged commit SHA. - Create annotated tag
v<version>on that merge commit and push only that tag. - Never delete, recreate, or move a tag after it has been pushed or published.
- Create the GitHub Release with
gh release create --verify-tag. Write Japanese notes covering
changes, verification, and Plugin/CLI update instructions.
Verify the outcome
- Verify that the tag resolves to the intended merged commit and the Release is published,
non-draft, and non-prerelease unless explicitly requested otherwise. - Confirm main CI, documentation deployment, and Pages deployment all succeed.
- If release-infrastructure fails after publication, fix it through a separate PR. Do not move the
published tag. Cut another version only when distributed code or artifacts must change. - Report the Release URL, merged PRs, tag commit, checks, and untouched unrelated worktree files.