Agent skill

Release Kaos

by axsaucedo in axsaucedo/kaos

Execute a full KAOS release. An agent skill from axsaucedo/kaos.

Apache-2.0Auto-check passedDevelopment

Install Release Kaos

skills CLI
$ npx skills add axsaucedo/kaos --skill release-kaos -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install axsaucedo/kaos release-kaos --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/axsaucedo/kaos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/release-kaos .claude/skills/release-kaos && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release-kaos
GitHub stars
280
Token cost
~1.9k tokens
SKILL.md length
536 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Execute a full KAOS release. An agent skill from axsaucedo/kaos.

  • Works in 11 steps: Extract Version → Pre-Flight Checks → Generate and Review Release Notes → …
  • Asked to release a new version of KAOS
  • SKILL.md covers Step 1: Extract Version, Step 2: Pre-Flight Checks, Step 3: Generate and Review… and Step 4: Create the Release, plus 8 more sections
  • Calls gh, git and curl; reaches axsaucedo.github.io; needs DOCKERHUB_TOKEN and CROSS_REPO_TOKEN

What it does

Release Kaos is an agent skill from axsaucedo/kaos. Execute a full KAOS release. Use this skill when asked to release a new version of KAOS. The user provides the target version (e.g., v0.5.0) in their prompt. This skill handles pre-flight checks, release creation, CI monitoring, artifact validation, smoke testing, and post-release cleanup.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. The repository describes itself as: 🚀 K8s Agent Orchestration System: Managing the KAOS in your large-scale distributed multi-agent systems. The licence is Apache-2.0.

When your agent uses it

  • Asked to release a new version of KAOS
  • Tasks that involve Changelog and release notes

Example prompts

  • “/release-kaos”

Requirements

  • Python 3
  • Docker
  • A credential in DOCKERHUB_TOKEN
  • A credential in CROSS_REPO_TOKEN
  • Pre-approved tools (allowed-tools): shell

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. Extract Version
  2. Pre-Flight Checks
  3. Generate and Review Release Notes
  4. Create the Release
  5. Monitor CI Pipeline
  6. Validate All Artifacts
  7. Docs Race Condition Check
  8. Smoke Test on KIND Cluster (if available)
  9. Merge Version Bump PR
  10. Maintain Historical Release Notes
  11. Final Report

What it can do on your machine

Read from SKILL.md and the folder at commit 7b5d212. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • shell

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git
    • curl
    • helm
    • docker
    • pip
    • kubectl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • axsaucedo.github.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DOCKERHUB_TOKEN
    • CROSS_REPO_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Kaos loads about 1.9k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 536 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from axsaucedo/kaos at commit 7b5d212, republished under its Apache-2.0 licence (© axsaucedo). 536 words, ~1,889 tokens.

Download SKILL.mdSave it as .claude/skills/release-kaos/SKILL.md (or your agent's skills folder).
name
release-kaos
description
Execute a full KAOS release. Use this skill when asked to release a new version of KAOS. The user provides the target version (e.g., v0.5.0) in their prompt. This skill handles pre-flight checks, release creation, CI monitoring, artifact validation, smoke testing, and post-release cleanup.
allowed-tools
shell

Release KAOS

Execute a full release of KAOS. The user provides the target version (e.g., v0.5.0) in their prompt.

Step 1: Extract Version

Extract the version from the user's prompt. It should match vX.Y.Z format. Store as VERSION (with v prefix) and VERSION_NUM (without prefix).

bash
# Example: VERSION=v0.5.0, VERSION_NUM=0.5.0

Step 2: Pre-Flight Checks

Run ALL of these checks before proceeding. Stop and report if any fail.

bash
# Must be on main with clean working tree
git checkout main && git pull
git status --porcelain  # must be empty

# Verify latest CI on main is green
gh run list --branch main --limit 3 --json conclusion,name

# Verify tag doesn't already exist
git tag -l "$VERSION"  # must be empty

Step 3: Generate and Review Release Notes

Generate GitHub's release notes before creating the release, then review them and write a semantic overview. The final release notes must keep the generated PR changelog, but they must start with a human-readable summary of what changed and why it matters.

bash
GENERATED_NOTES="$(mktemp)"
RELEASE_NOTES="$(mktemp)"

gh api "repos/axsaucedo/kaos/releases/generate-notes" \
  -f tag_name="$VERSION" \
  -f target_commitish=main \
  --jq .body > "$GENERATED_NOTES"

# Review the generated PR list and supporting commits before writing the overview.
cat "$GENERATED_NOTES"
git log --oneline "$(git describe --tags --abbrev=0 origin/main 2>/dev/null || echo HEAD~50)"..origin/main

Write a concise semantic overview in $RELEASE_NOTES:

markdown
## Overview
Summarize the release as a coherent product/update narrative, not as a PR list.

## Highlights
- Group related work by user-visible outcome or operational impact.
- Mention compatibility, migration, or validation notes when relevant.

## Generated changelog
<paste the generated notes here unchanged, except for obvious duplicate headings>

If the generated notes are sparse, use merged PR titles, commit messages, docs, and changed files to infer the overview. Do not invent claims that cannot be supported by the release contents.

Step 4: Create the Release

Create the release using the reviewed release notes:

bash
gh release create "$VERSION" --target main --title "$VERSION" --notes-file "$RELEASE_NOTES"

This triggers .github/workflows/release.yaml which runs ~28 jobs.

Step 5: Monitor CI Pipeline

Poll the release workflow until ALL jobs complete. Do NOT stop until every job succeeds or fails.

bash
# Find the release workflow run
gh run list --workflow=release.yaml --limit 3 --json databaseId,status,conclusion

# Watch it (or poll with)
gh run view <RUN_ID> --json jobs --jq '.jobs[] | "\(.name): \(.status) \(.conclusion)"'

Expected jobs: validate, tests (3 E2E shards + unit), build-images, build-helm, publish-python, publish-pydantic-ai-server, publish-docs, deploy-ui, create-release, release-standalone-repos, bump-version.

If any job fails: investigate logs with gh run view <RUN_ID> --log-failed, diagnose, fix, and re-trigger if needed.

Step 6: Validate All Artifacts

Check EVERY artifact. Report status for each.

bash
# Docker images (3 images)
docker pull axsauze/kaos-operator:$VERSION_NUM
docker pull axsauze/kaos-agent:$VERSION_NUM
docker pull axsauze/kaos-mcp-python-string:$VERSION_NUM

# PyPI packages
pip install kaos-cli==$VERSION_NUM
pip install pydantic-ai-server==$VERSION_NUM

# Documentation
curl -sI https://axsaucedo.github.io/kaos/v$VERSION_NUM/ | head -5
curl -sI https://axsaucedo.github.io/kaos/latest/ | head -5
curl -sI https://axsaucedo.github.io/kaos/dev/ | head -5

# UI
curl -sI https://axsaucedo.github.io/kaos-ui/v$VERSION_NUM/ | head -5
curl -sI https://axsaucedo.github.io/kaos-ui/latest/ | head -5

# Helm chart
helm repo add kaos https://axsaucedo.github.io/kaos/charts/ 2>/dev/null || helm repo update kaos
helm search repo kaos/kaos-operator --versions | head -5

# GitHub Release
gh release view $VERSION --json assets,body | head -20

# Standalone repos
gh release view $VERSION --repo axsaucedo/pydantic-ai-server 2>&1 | head -5
gh release view $VERSION --repo axsaucedo/kaos-ui 2>&1 | head -5

Step 7: Docs Race Condition Check

If docs pages return 404, a race condition may have occurred between release.yaml and docs.yaml deployments:

bash
# Rebuild the specific version docs
gh workflow run rebuild-docs.yaml -f version=$VERSION_NUM
# Wait ~2 minutes, then re-check

Step 8: Smoke Test on KIND Cluster (if available)

If a KIND cluster is available, upgrade and test:

bash
# Upgrade operator (always set image tags explicitly — --reuse-values keeps old tags!)
helm upgrade kaos kaos/kaos-operator --version $VERSION_NUM -n kaos-system \
  --set controllerManager.manager.image.tag=$VERSION_NUM \
  --set defaultImages.agentRuntime=axsauze/kaos-agent:$VERSION_NUM \
  --set defaultImages.mcpPythonString=axsauze/kaos-mcp-python-string:$VERSION_NUM \
  --reuse-values

# Verify operator image updated
kubectl get deployment kaos-kaos-operator-controller-manager -n kaos-system \
  -o jsonpath='{.spec.template.spec.containers[0].image}'

Step 9: Merge Version Bump PR

The release pipeline creates an automated PR to bump VERSION to the next dev version. Find and merge it:

bash
gh pr list --search "bump" --json number,title
gh pr merge <PR_NUMBER> --merge
Show full SKILL.md (233 more words)Show less

Step 10: Maintain Historical Release Notes

When asked to update historical release notes, apply the same format to existing releases:

  1. List releases in tag order with gh release list --limit 100.
  2. For each release, inspect the current body with gh release view <tag> --json body.
  3. Compare the tag with the previous release tag using git log <previous>..<tag> --oneline and, where possible, merged PRs from the generated changelog.
  4. Edit the release body so it starts with ## Overview, has grouped semantic highlights, and preserves the original/generated PR changelog under ## Generated changelog.
  5. If there is not enough evidence for a meaningful summary, say so briefly in the overview instead of inventing details.

Use gh release edit <tag> --notes-file <file> for each update. Retain existing assets and release metadata.

Step 11: Final Report

Print a summary table of all artifacts and their status:

ArtifactStatus
Docker images (3)✅/❌
PyPI: kaos-cli✅/❌
PyPI: pydantic-ai-server✅/❌
Docs: version page✅/❌
Docs: /latest/✅/❌
Docs: /dev/✅/❌
UI: version page✅/❌
Helm chart✅/❌
GitHub Release✅/❌
Standalone repos✅/❌
Bump PR merged✅/❌

Troubleshooting Reference

  • PyPI OIDC error: Verify workflow filename in PyPI trusted publisher config matches release.yaml exactly; verify pypi environment exists
  • Docker push fails: Check DOCKERHUB_USERNAME / DOCKERHUB_TOKEN secrets
  • Standalone repo fails: Check CROSS_REPO_TOKEN has repo scope
  • Helm chart missing from release: build-helm must complete before create-release
  • Helm upgrade uses old images: defaultImages uses flat strings; --reuse-values keeps old tags — always set explicitly

© axsaucedo, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/release-kaos of axsaucedo/kaos.

Open the folder on GitHubat commit 7b5d212

Compare with similar skills

Release Kaos next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release Kaos compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Kaos this skillaxsaucedo/kaos280—~1.9kAutomated safety check: PassApache-2.0
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release

    PrefectHQ/fastmcp

    Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed

More from axsaucedo/kaos

  • Dependabot Fix

    axsaucedo/kaos

    Comprehensively diagnose and fix a failing Dependabot PR. An agent skill from axsaucedo/kaos.

    280 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Dependabot Fix All

    axsaucedo/kaos

    Fix every open Dependabot PR end-to-end on autopilot. An agent skill from axsaucedo/kaos.

    280 GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Plan and execute complex KAOS implementation work with staged context gathering, backend/UI synthesis, validation, PR/CI checks, and REPORT.md PR-comment output.

    280 GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Release Kaos

What does Release Kaos do?

Execute a full KAOS release. An agent skill from axsaucedo/kaos. Release Kaos is an agent skill from axsaucedo/kaos. Execute a full KAOS release.

When should I use Release Kaos?

Release Kaos fits situations like: asked to release a new version of KAOS; tasks that involve Changelog and release notes.

How do I install Release Kaos in Claude Code?

Run `npx skills add axsaucedo/kaos --skill release-kaos -a claude-code`. Or copy the skill folder (.claude/skills/release-kaos in axsaucedo/kaos) into .claude/skills/release-kaos in your project. Claude Code loads it when a task matches its description.

How do I install Release Kaos in Codex?

Run `npx skills add axsaucedo/kaos --skill release-kaos -a codex`. Or copy the skill folder (.claude/skills/release-kaos in axsaucedo/kaos) into .agents/skills/release-kaos in your project. Codex loads it when a task matches its description.

Can I use Release Kaos in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add axsaucedo/kaos --skill release-kaos -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-kaos, .gemini/skills/release-kaos, .github/skills/release-kaos and .opencode/skills/release-kaos in your project.

What does Release Kaos need to run?

Going by SKILL.md and its folder, Release Kaos needs the command-line tools its instructions call (gh, git, curl, helm, docker and pip) and credentials named DOCKERHUB_TOKEN and CROSS_REPO_TOKEN. Our summary lists: Python 3; Docker; A credential in DOCKERHUB_TOKEN; A credential in CROSS_REPO_TOKEN. Its frontmatter pre-approves these tools: shell.

Does Release Kaos access the network?

SKILL.md names 1 domain. In commands or code: axsaucedo.github.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Release Kaos safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release Kaos use?

Release Kaos is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Kaos use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release Kaos?

Skills that share tags, products or a category with Release Kaos: Simple English (moeru-ai/airi, 50k stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Cutting A Release (TriliumNext/Trilium, 38k stars) and Mole CLI Release Flow (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Kaos?

axsaucedo (a GitHub user) maintains it in axsaucedo/kaos, which has 280 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 10, 2026.

Source: axsaucedo/kaos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.