koboi-release
This skill should be used when the user asks to "release koboi-agent", "bump version and publish", "create a new release", "push to PyPI", "tag and release"…
Skill by hedypamungkas
Chalk Labs
Need help deploying koboi-release?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hedypamungkas-koboi-release
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/koboi-release
What's inside
- Skill name
koboi-release- Description
- This skill should be used when the user asks to "release koboi-agent", "bump version and publish", "create a new release", "push to PyPI", "tag and release", "ship version vX.Y.Z", or mentions PyPI publishing, GitHub releases, or GHCR container image publishing for the koboi-agent project. Encodes the full release sequence (merge → pre-check → bump → tag → PyPI + GHCR auto-publish → verify → GitHub release) plus the gotchas learned from releases v0.3.0–v0.4.3.
- License
- MIT
- Instructions
- 114 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- SKILL.md
- gotchas.md · references/
- workflows.md · references/
- bump-and-tag.sh · scripts/
- pre-release-check.sh · scripts/
- verify-release.sh · scripts/
SKILL.md (first lines)
# koboi-release — Publish a new koboi-agent release
## Overview
Execute the full release sequence for koboi-agent: ensure code is merged → pre-check → bump
version → tag → tag-push triggers auto-publish to PyPI (Trusted Publishing) + GHCR (Docker
image) → verify → GitHub release. Both publish workflows are tag-triggered: `release.yml`
(PyPI) and `docker.yml` (GHCR).
Three scripts (all under `.claude/skills/koboi-release/scripts/`, invoked from the repo root):
- **`pre-release-check.sh`** — the 6 CI gates locally (Gate 0 refreshes the `.venv` editable
install + dev toolchain; Gates 1-5 = ruff/format/mypy/bandit/pytest).
- **`bump-and-tag.sh [--dry-run] X.Y.Z "msg"`** — mechanical bump + commit + push main + tag +
push tag (validates `X.Y.Z`, resumable, `--dry-run` rehearses without pushing).
- **`verify-release.sh X.Y.Z`** — waits for *this tag's* PyPI+GHCR runs, watches them, verifies
PyPI version + GHCR `:X.Y.Z`/`:latest` + a `/healthz` smoke.
## When to use
Triggered by: "release koboi-agent", "bump version and publish", "create release vX.Y.Z",
"push to PyPI", "tag and release". Determine the version bump (patch/minor/major) from the
changes since the last release. Check `git tag --sort=-creatordate | head` for the latest tag.
## Pre-conditions (one-time, already done at v0.3.0/v0.4.1)
- **PyPI Trusted Publishing** configured for `koboi-agent` (repo `hedypamungkas/koboi-agent`,
workflow `release.yml`, environment `pypi`).
- **GHCR package** created + public (`ghcr.io/hedypamungkas/koboi-agent`).
- **Branch protection** on `main`: "PR required" rule. Release version-bump commits bypass it
(owner override — works, prints a warning).
- A CI-faithful `.venv` (Python 3.10+) with the dev toolchain. If missing, the scripts will
tell you: `python3 -m venv .venv && .venv/bin/pip install -e ".[dev,tui,api]"`.
## Step 0 — Pre-release validation (BEFORE tagging)
```bash
.claude/skills/koboi-release/scripts/pre-release-check.sh
```
Gate 0 refreshes the editable install + dev toolchain (mirrors ci.yml), so mypy/bandit are
present AND `test_version_matches_pyproject` sees the current version (no stale-install
false-red). Gates 1-5: ruff check, ruff format, mypy (~=1.19.1), bandit (>=1.9), pytest
(cov ≥ 80; e2e self-skips). If any gate fails, FIX before releasing.
## Step 1 — Merge PRs + sync main
Ensure all intended code is on `main` (merge any open PRs first via `gh pr merge <n> --merge`):
```bash
git checkout main && git pull origin main
```
## Step 2 — Bump version
Rehearse first (no commit/tag/push — validates the version + bump mechanism):
```bash
.claude/skills/koboi-release/scripts/bump-and-tag.sh --dry-run X.Y.Z "vX.Y.Z — <summary>"
```
Then release (bumps `pyproject.toml`, commits `chore(release): bump version to X.Y.Z`, pushes
main — owner-override bypass warning is expected — tags `vX.Y.Z`, pushes the tag):
```bash
.claude/skills/koboi-release/scripts/bump-and-tag.sh X.Y.Z "vX.Y.Z — <summary>"
```
The tag push is **irreversible** (triggers PyPI, which is immutable) — that's why `--dry-run`
exists. The script refuses if the tag already exists, and resumes (skip-bump) if `main` was
pushed but the tag wasn't.
## Step 3 — Verify the publish (PyPI + GHCR + smoke)
```bash
.claude/skills/koboi-release/scripts/verify-release.sh X.Y.Z
```
This waits for *this tag's* `release.yml` and `docker.yml` runs (filtered by `--branch vX.Y.Z`,
which kills the "latest-run" race that returned the previous release's run), watches both to
green, retries PyPI propagation (~90s), pulls `:X.Y.Z` + `:latest`, and smoke-tests
`/healthz` with retries + cleanup. **Verification comes before the GitHub release on purpose**
— don't advertise a version that hasn't reached PyPI.
## Step 4 — GitHub release
```bash
gh release create vX.Y.Z --title "vX.Y.Z — <title>" --notes "$(cat <<'EOF'
<compact notes: reference PR number(s), bullet the key changes, keep to ~10 lines>
EOF
)"
```
## Critical gotchas (inline — see references/gotchas.md for detail)
- **Interpreters**: scripts use `.venv/bin/python` or `python3` — never bare `python` (macOS
non-interactive bash has no `python`, only a zsh alias → `set -e` abort).
- **Bandit**: now in the `dev` extra (>=1.9). Always `.venv/bin/bandit` — system bandit
(1.8.6) gives a false green.
- **release.yml test job**: installs `.[dev,tui,api]` — if `[api]` missing, server test
modules error on `import fastapi`.
- **Docker default config**: `server_simple.yaml` (concrete model). NOT `e2e_full.yaml`.
- **e2e self-skip**: `tests/e2e/conftest.py` skips when no live server.
- **Tag naming**: git tag = `vX.Y.Z` (with v); PyPI version = `X.Y.Z` (no v); **GHCR image tag = `X.Y.Z` (no `v`) + `:latest`** — since #13 rewrote docker.yml (`type=semver,{{version}}`). Releases ≤ v0.7.0 used the old `:vX.Y.Z` convention.
- **PyPI is immutable**: a published version CANNOT be re-published. To ship a fix, bump to
the next version.
## Error handling
- **A workflow job fails** (release.yml test, docker build, etc.): fix the root cause, then
`gh run rerun <run-id> --failed` (re-runs only the failed job). Do NOT re-tag — the tag
already exists and PyPI may already have the version.
- **PyPI publish fails** ("invalid-publisher"): Trusted Publishing mismatch. Check PyPI →
koboi-agent → Publishing (repo=`hedypamungkas/koboi-agent`, workflow=`release.yml`,
environment=`pypi`). Then `gh run rerun`.
- **PyPI version already exists**: cannot re-publish. Bump to the next version instead.
- **Tag pushed but version was wrong** (rare, requires re-tag): only then delete + recreate
the tag — `git tag -d vX.Y.Z && git push origin :refs/tags/vX.Y.Z`, fix, re-bump to a NEW
version (PyPI immutability means you can't reuse vX.Y.Z on PyPI even if GHCR can be rebuilt).
## Additional resources
### Reference files
- **`references/gotchas.md`** — Full gotcha catalog from v0.3.0–v0.4.3 (each release's lesson).
- **`references/workflows.md`** — `release.yml` + `docker.yml` structure, triggers, debugging.
### Scripts (under `.claude/skills/koboi-release/scripts/`)
- **`pre-release-check.sh`** — 6 CI gates locally (Gate 0 refreshes `.venv` + toolchain).
- **`bump-and-tag.sh`** — bump + commit + push main + tag + push tag (`--dry-run` to rehearse).
- **`verify-release.sh`** — wait/watch this tag's PyPI+GHCR runs + verify artifacts + smoke.From hedypamungkas/koboi-agent, MIT.
More from hedypamungkas/koboi-agent
- 0.579score
code-review
hedypamungkas
Review code for best practices, bugs, and performance.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
incident-response
hedypamungkas
Guide for handling security incidents and system outages.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
bug-hunter
hedypamungkas
Systematic bug hunting and vulnerability detection workflow.
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
code-review
hedypamungkas
Systematic code review focusing on security, quality, and performance
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
hotel-receptionist
hedypamungkas
Hotel front desk receptionist skill for bookings, room inquiries, rates, policies, and guest services
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
search-and-summarize
hedypamungkas
Research a topic by searching multiple sources and summarizing findings
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
customer-service
hedypamungkas
E-commerce customer service skill for returns, refunds, shipping, warranty, and order issues at ShopWave
SkillBFreshness: B★ 5Claude Code +9 - 0.559score
issue-triage-batch-fix
hedypamungkas
This skill should be used when the user asks to "check the GitHub issues", "triage the open issues", "assess and rank the issues", "what issues should we…
SkillBFreshness: B★ 5Claude Code +9 - 0.559score
docs-align
hedypamungkas
This skill should be used when the user asks to "align docs", "sync documentation", "update README", "update CLAUDE.md", "fix stale docs", "audit…
SkillBFreshness: B★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 6
- Last commit (this folder)
- Jul 13, 2026 (3 months ago)
- Last release
- Jul 27, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/hedypamungkas/koboi-agent
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hedypamungkas
- 0.579score
code-review
hedypamungkas
Review code for best practices, bugs, and performance.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
incident-response
hedypamungkas
Guide for handling security incidents and system outages.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
bug-hunter
hedypamungkas
Systematic bug hunting and vulnerability detection workflow.
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
code-review
hedypamungkas
Systematic code review focusing on security, quality, and performance
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
hotel-receptionist
hedypamungkas
Hotel front desk receptionist skill for bookings, room inquiries, rates, policies, and guest services
SkillBFreshness: B★ 5Claude Code +9 - 0.569score
search-and-summarize
hedypamungkas
Research a topic by searching multiple sources and summarizing findings
SkillBFreshness: B★ 5Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get koboi-release running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
koboi-release skill. Agent Mart. https://agentmart.dev/skills/hedypamungkas-koboi-release (last updated 2026-10-24)