ワンクリックで
release
Coordinate a full TeamClaw release across engineering verification, npm, GitHub, website publishing, and announcement follow-up. Use when leadership asks to ship a release, not merely to discuss version bumps.
メニュー
Coordinate a full TeamClaw release across engineering verification, npm, GitHub, website publishing, and announcement follow-up. Use when leadership asks to ship a release, not merely to discuss version bumps.
Technical guide for creating a new TeamClaw agent adapter. Use when building a new adapter package, adding support for a new AI coding tool (e.g. a new local coding 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.
Use a file-only git working branch for agent changes. Start from the current main branch contents without carrying prior branch history, create a fresh branch named from the agent or a uuid, then make the code update there.
Hire an Engineer in TeamClaw. Use this when an Architect or Manager needs to add implementation capacity, choose the right engineer role fit, check headcount, and then execute the hire through the standard TeamClaw agent creation flow.
Use the local deterministic infra layer in `tools/infra/` when setting up or extending harness, testbed, or local server environment workflows. Read the infra README first, then wire the setup into `Makefile` where appropriate.
Use the local agent workspace memory model. Store durable hot memory in the agent `memory/` folder, use `notes/` for daily records and task-local notes, and keep both folders updated as work progresses.
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.
| name | release |
| description | Coordinate a full TeamClaw release across engineering verification, npm, GitHub, website publishing, and announcement follow-up. Use when leadership asks to ship a release, not merely to discuss version bumps. |
Run the full TeamClaw release as a maintainer workflow, not just an npm publish.
This skill coordinates:
release-changelogscripts/release-start.shscripts/release.sh --canaryscripts/release.shscripts/create-github-release.shUse this skill when leadership asks for:
Before proceeding, verify all of the following:
skills/release-changelog/SKILL.md exists and is usable.pnpm-lock.yaml refresh is already merged on master before the release branch is cut.If any precondition fails, stop and report the blocker.
Collect these inputs up front:
patch, minor, or majorTeamClaw now uses this release model:
release/X.Y.Zreleases/vX.Y.Z.mdX.Y.Z-canary.0X.Y.Zrelease/X.Y.Z back to master without squash or rebaseCritical consequence:
releases/vX.Y.Z-canary.N.md.Start the release train first:
./scripts/release-start.sh {patch|minor|major}
Then run release preflight:
./scripts/release-preflight.sh canary {patch|minor|major}
# or
./scripts/release-preflight.sh stable {patch|minor|major}
Then use the last stable tag as the base:
LAST_TAG=$(git tag --list 'v*' --sort=-version:refname | head -1)
git log "${LAST_TAG}..HEAD" --oneline --no-merges
git diff --name-only "${LAST_TAG}..HEAD" -- packages/db/src/migrations/
git diff "${LAST_TAG}..HEAD" -- packages/db/src/schema/
git log "${LAST_TAG}..HEAD" --format="%s" | rg -n 'BREAKING CHANGE|BREAKING:|^[a-z]+!:' || true
Bump policy:
majorminorpatchIf the requested bump is too low, escalate it and explain why.
Invoke release-changelog and generate:
releases/vX.Y.Z.mdRules:
v1.2.3Run the standard gate:
pnpm -r typecheck
pnpm test:run
pnpm build
If the release will be run through GitHub Actions, the workflow can rerun this gate. Still report whether the local tree currently passes.
The GitHub Actions release workflow installs with pnpm install --frozen-lockfile. Treat that as a release invariant, not a nuisance: if manifests changed and the lockfile refresh PR has not landed yet, stop and wait for master to contain the committed lockfile before shipping.
Run from the release/X.Y.Z branch:
./scripts/release.sh {patch|minor|major} --canary --dry-run
./scripts/release.sh {patch|minor|major} --canary
What this means:
X.Y.Z-canary.N under dist-tag canarylatest remains unchangedGuard:
0.2.7, the next patch canary is 0.2.8-canary.00.2.7-canary.N after 0.2.7 is already stableAfter publish, verify the published canary version:
npm view teamclawai@canary version
Run:
make bootstrap
make run
Confirm:
If smoke testing fails:
Each retry should create a higher canary ordinal, while the stable target version can stay the same.
Once the SHA is vetted, run:
./scripts/release.sh {patch|minor|major} --dry-run
./scripts/release.sh {patch|minor|major}
Stable publish does this:
X.Y.Z to npm under latestvX.Y.ZStable publish does not push the release for you.
After stable publish succeeds:
git push public-gh HEAD --follow-tags
./scripts/create-github-release.sh X.Y.Z
Use the stable changelog file as the GitHub Release notes source.
Then open the PR from release/X.Y.Z back to master and merge without squash or rebase.
Create or verify follow-up work for:
These should reference the stable release, not the canary.
If the canary is bad:
If stable npm publish succeeds but push or GitHub release creation fails:
If latest is bad after stable publish:
./scripts/rollback-latest.sh <last-good-version>
Then fix forward with a new patch release.
When the skill completes, provide: