agentleFS
MoonshotAIMoonshotAI/kimi-cli/.agents/skills/release/SKILL.md

release

Skill11k starsChanged 41 days agoApache-2.0Archived repositoryView on GitHub

Execute the release workflow for Kimi Code CLI packages.

  • Commits and pushes

We split this skill into the rules it gives an agent

7 rules. 0 are common, 1 is distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 184 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Understand the automation: Read AGENTS.md and .github/workflows/release*.yml so you know what each release workflow expects before changing …

    line 19
  2. Very specific:

    Update CHANGELOG.md, keeping the ## Unreleased header empty in place (do not rename it — add a new dated ## <version> (YYYY-MM-DD) section …

    line 32
  3. Very specific:

    Update breaking-changes.md in both languages if there are breaking changes.

    line 33
  4. Very specific:

    If bumping packages/kosong or packages/kaos, also update the root pyproject.toml pinned dependency (kosong[contrib]==<version> or …

    line 34
  5. Very specific:

    Update docs: Follow the gen-docs skill to make sure docs reflect the release.

    line 40
  6. Distinctive:

    Wait for explicit user approval before proceeding.

    line 47
  7. Very specific:

    Open the PR: Commit all changes, push, and open a PR with gh.

    line 49

“Common” is measured: kept by at least 6 in 10 of the 184 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Release process for Kimi Code CLI packages. Tags are pushed without a v prefix and follow one of these patterns (matched by .github/workflows/release-*.yml):

Tag patternReleases
1.42.0 (numeric)kimi-cli (root) + kimi-code wrapper, released together — versions must stay aligned
kosong-0.53.0packages/kosong
pykaos-0.9.0packages/kaos (PyPI name pykaos)
kimi-sdk-0.3.0sdks/kimi-sdk

The Rust implementation (kagent) lives in a separate repository and is not released from here.

Steps

  1. Understand the automation. Read AGENTS.md and .github/workflows/release*.yml so you know what each release workflow expects before changing any versions.
  2. Detect changed packages. Check each release unit under packages/, sdks/, and the repo root for changes since its last release tag. Use path-scoped diffs for subpackages so unrelated repo changes do not trigger a package release, e.g. git diff kosong-0.53.0..HEAD -- packages/kosong, git diff pykaos-0.9.0..HEAD -- packages/kaos, and git diff kimi-sdk-0.2.1..HEAD -- sdks/kimi-sdk. If nothing changed anywhere, stop and report that there is nothing to release. Note: packages/kimi-code is a thin wrapper and must stay version-synced with kimi-cli, so treat it as changed whenever the root package changes.
  3. Confirm new versions with the user. For each changed package, propose a new version and confirm before editing. Versioning policy:
    • Patch is always 0.
    • Bump the minor version for any change.
    • Major only changes by explicit manual decision from the user.
  4. Create the release branch. Name it bump-<package>-<new-version>. If multiple packages are being bumped together, use a single branch with a descriptive name.
  5. Update version metadata and changelogs. For each changed package:
    • Update its pyproject.toml.
    • Update CHANGELOG.md, keeping the ## Unreleased header empty in place (do not rename it — add a new dated ## <version> (YYYY-MM-DD) section below it).
    • Update breaking-changes.md in both languages if there are breaking changes.
    • If bumping packages/kosong or packages/kaos, also update the root pyproject.toml pinned dependency (kosong[contrib]==<version> or pykaos==<version>) so root validation keeps passing.
  6. Sync the kimi-code wrapper when the root version changes. Bump packages/kimi-code/pyproject.toml version to match the new root version. It is a legacy stub with no dependencies — do not add a kimi-cli pin back.
  7. Run uv sync to refresh the lockfile.
  8. Update docs. Follow the gen-docs skill to make sure docs reflect the release.
  9. Confirm with the user before opening the PR. Summarize the staged changes and ask the user to explicitly confirm:

    • Version numbers — every updated pyproject.toml (changed package + packages/kimi-code if the root moved) reflects the version agreed in step 3.
    • Dependency pins — the root pyproject.toml pins (kosong[contrib]==<version>, pykaos==<version>) match the bumped versions.
    • Documentation — CHANGELOG entries are added below ## Unreleased (Unreleased still present and empty), breaking-changes.md is updated in both languages if applicable, and gen-docs left no inconsistencies.

    Wait for explicit user approval before proceeding. If the user flags anything, fix it and re-confirm — do not push.

  10. Open the PR. Commit all changes, push, and open a PR with gh. The PR description must follow this structure (see https://github.com/MoonshotAI/kimi-cli/pull/2225 for reference):

    ## Summary
    - Bump <package> to <version>
    - Move the current release notes under <version>
    - (If applicable) Move breaking-change entries under <version>
    - (If applicable) Any additional noteworthy changes (dependency pin updates, etc.)
    
    ## Validation
    - uv run python scripts/check_version_tag.py --pyproject <pyproject> --expected-version <version>
    - (For root releases) uv run python scripts/check_version_tag.py --pyproject packages/kimi-code/pyproject.toml --expected-version <version>
    - uv run python scripts/check_kimi_dependency_versions.py --root-pyproject pyproject.toml --kosong-pyproject packages/kosong/pyproject.toml --pykaos-pyproject packages/kaos/pyproject.toml
    - make check
    
    ## Post-merge
    After this PR lands, create and push the release tag:
    
    ```sh
    git tag <tag>
    git push origin <tag>
  11. Hand off the tag step. After merge, switch to main, pull latest, and tell the user the exact git tag command for the final release tag (pick the right tag pattern from the table above — e.g. git tag 1.43.0 for a root release, git tag kosong-0.54.0 for a kosong release). The user will run the tag and push tags themselves.

Stop conditions

Fail fast — never paper over an error to keep the release moving. Stop and report back to the user when any of these happen:

  • Nothing changed since the last tag → there is nothing to release.
  • uv sync fails or produces unexpected uv.lock churn beyond the version bump.
  • gen-docs reports a doc inconsistency you cannot resolve.
  • PR checks go red after push — investigate, do not --no-verify or force-merge.
  • The release workflow fails after tag push — read the workflow logs and surface the failure, do not retag silently.

Download now (ZIP)

  • Other versions194 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 194

    1. paperclipai/paperclip★ 110ksame name
    2. modelcontextprotocol/servers★ 92ksame name
    3. remotion-dev/remotion★ 70ksame name
    4. traefik/traefik★ 65ksame name
    5. usememos/memos★ 64ksame name
    6. tw93/Pake★ 63ksame name
    7. Yeachan-Heo/oh-my-claude-sisyphus★ 40ksame name
    8. Yeachan-Heo/oh-my-claudecode★ 40ksame name
    9. tobi/qmd★ 30ksame name
    10. jlowin/fastmcp★ 28ksame name

    184 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use create-agent-adapter, changelog-style and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • MicrosoftSkill

      create-agent-adapter

      Technical guide for creating a new Paperclip agent adapter. Use when building a new adapter package, adding support for a new AI coding tool (e.g. a new CLI agent, API-based agent, or custom process), or when modifying the adapter system. Covers the required interfaces, module structure, registration points, and conventions derived from the existing claude-local and codex-local adapters.

      Also in 5 projects that use this

    • GrinvSkill

      changelog-style

      Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR (adding to the [Unreleased] section) or cutting a release (moving [Unreleased] under a new version heading).

      Also in 4 projects that use this

    • GrinvSkill

      docs-consistency-check

      Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.

      Also in 4 projects that use this

    • MicrosoftSkill

      pr-report

      Review a pull request or contribution deeply, explain it tutorial-style for a maintainer, and produce a polished report artifact such as HTML or Markdown. Use when asked to analyze a PR, explain a contributor's design decisions, compare it with similar systems, or prepare a merge recommendation.

      Also in 5 projects that use this

    • Microsoft AzureSkill

      documentation-consistency

      Keeps GPT-RAG MCP service and umbrella documentation aligned with shipped behavior. Use for capabilities, configuration keys, deployment steps, endpoints, defaults, operations, or breaking changes.

      Also in 6 projects that use this

    • parcadeiSkill

      agent-context-isolation

      Agent Context Isolation

      Also in 3 projects that use this

    • +3 more from Grinv
  • In this repository11 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.