Skip to content
Agentmart
Submit a tool

aot-release-lifecycle

Enforce the trunk-based release lifecycle across environments.

Skill by Art-of-Technology

IndexedMIT
Write a review

Chalk Labs

Need help deploying aot-release-lifecycle?

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.

Book a call

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/art-of-technology-aot-release-lifecycle

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.

We use your email only for this newsletter. Privacy

About

Enforce the trunk-based release lifecycle across environments. main merges deploy to staging, vX.Y.Z-rc.N tags promote to UAT, vX.Y.Z tags release to production. Use this skill whenever the user asks to "cut a release", "promote to UAT", "tag an RC", "release to production", "prepare a release", "hotfix production", "roll back a release", "run aot-release-lifecycle", or mentions release candidates, semver tags, staging/UAT/production promotion, release branches, changelogs, or the release process. Also trigger when setting up CI/CD pipelines, GitHub Actions release workflows, environment promotion gates, or reviewing whether a branch or tag follows the release convention. Even if the user does not name the skill, use it for any question about how code moves from a branch to an environment.

Use cases: devops

No 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

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/aot-release-lifecycle

What's inside

Skill name
aot-release-lifecycle
Description
Enforce the trunk-based release lifecycle across environments. main merges deploy to staging, vX.Y.Z-rc.N tags promote to UAT, vX.Y.Z tags release to production. Use this skill whenever the user asks to "cut a release", "promote to UAT", "tag an RC", "release to production", "prepare a release", "hotfix production", "roll back a release", "run aot-release-lifecycle", or mentions release candidates, semver tags, staging/UAT/production promotion, release branches, changelogs, or the release process. Also trigger when setting up CI/CD pipelines, GitHub Actions release workflows, environment promotion gates, or reviewing whether a branch or tag follows the release convention. Even if the user does not name the skill, use it for any question about how code moves from a branch to an environment.
License
MIT
Instructions
115 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • github-actions.md · references/

SKILL.md (first lines)

# Release Lifecycle: main → staging → UAT → production

This skill defines how code moves through environments. Follow it exactly. Never deploy to an environment through any other path.

## The model in one table

| Environment | Trigger | Artifact | Purpose |
|---|---|---|---|
| staging | Merge to `main` | Build from `main` HEAD | Continuous integration testing, latest work |
| UAT | Tag `vX.Y.Z-rc.N` | Build from the tagged commit | Business acceptance, stakeholder sign-off |
| production | Tag `vX.Y.Z` | Same artifact as the approved RC | Live traffic |

Core rule: the production tag must point to the same commit as the last approved RC tag. Promote artifacts, not branches. Never rebuild between UAT and production.

## Branch rules

- `main` is the only long-lived branch. Protect it. Require PR review and green CI.
- Feature branches: `feature/<short-name>` or `fix/<short-name>`, branched from `main`, merged back via PR. Squash merge. Delete after merge.
- No `develop` branch. No long-lived `release/*` branches unless a release needs stabilization while `main` moves on (see Stabilization below).
- Every merge to `main` auto-deploys to staging. If a change is not ready to be visible on staging, gate it behind a feature flag, not a branch.

## Tag rules

Use semver. Tags are immutable. Never delete or move a published tag.

- RC tags: `v1.4.0-rc.1`, `v1.4.0-rc.2`, ... Each RC increments the `-rc.N` suffix.
- Release tags: `v1.4.0`. Created only after an RC with the same base version passes UAT.
- Tag annotated, not lightweight:

```bash
git tag -a v1.4.0-rc.1 -m "RC1 for 1.4.0: <one-line summary>"
git push origin v1.4.0-rc.1
```

- Version bump rules: MAJOR for breaking API or schema changes, MINOR for features, PATCH for fixes only.

## Standard release flow

Work backwards from the production goal. Confirm each gate before the next step.

1. Confirm `main` is green on staging. Check CI status and smoke tests.
2. Update version metadata (package.json, .csproj, CHANGELOG) on `main` via PR.
3. Tag the RC from `main`:
   ```bash
   git checkout main && git pull
   git tag -a v1.4.0-rc.1 -m "RC1 for 1.4.0"
   git push origin v1.4.0-rc.1
   ```
4. CI builds once from the tag, publishes the artifact (Docker image tagged with the git tag), deploys to UAT.
5. UAT sign-off. Record who approved and when, in the release PR or ticket.
6. If UAT finds defects: fix on `main` via PR, tag `v1.4.0-rc.2`, repeat. Never patch UAT directly.
7. On sign-off, tag the release on the exact RC commit:
   ```bash
   git tag -a v1.4.0 v1.4.0-rc.2^{} -m "Release 1.4.0"
   git push origin v1.4.0
   ```
8. CI retags the existing RC artifact as `v1.4.0` and deploys to production. No rebuild.
9. Verify production health checks. Create a GitHub Release with the changelog.

## Hotfix flow

For a production defect when `main` has moved ahead with unreleased work:

1. Branch from the production tag: `git checkout -b hotfix/1.4.1 v1.4.0`
2. Fix, PR into the hotfix branch, tag `v1.4.1-rc.1` from it.
3. Deploy RC to UAT (or staging if UAT is occupied), verify the fix.
4. Tag `v1.4.1` on the same commit, deploy to production.
5. Cherry-pick or merge the fix back to `main` immediately. This step is mandatory. A hotfix not merged back regresses in the next release.

## Stabilization branch (exception case)

Only when a release needs hardening while `main` must keep taking new features:

1. Cut `release/1.4` from `main` at feature freeze.
2. RC and release tags come from `release/1.4`.
3. Only fixes land on it, each cherry-picked from `main` (fix on `main` first).
4. Delete the branch after the release ships and merges are confirmed.

## Rollback

- Preferred: redeploy the previous release tag's artifact. Fast, no git changes.
- Then decide: roll forward with a hotfix, or hold on the old version.
- Never revert by force-pushing or deleting tags. If a release is bad, the fix is a new tag.
- Database migrations: only roll back a version if its migrations are backward compatible. Enforce expand/contract migrations so N-1 app versions run against N schema.

## Gates checklist per promotion

Staging → UAT (before tagging RC):
- CI green on `main`, staging smoke tests pass
- CHANGELOG updated, version bumped
- No pending migrations that break N-1 compatibility

UAT → production (before tagging release):
- Written UAT sign-off recorded
- RC has run in UAT for the agreed soak period
- Rollback plan confirmed (previous tag identified, migration compatibility checked)
- Production tag targets the exact approved RC commit. Verify: `git rev-parse v1.4.0-rc.2^{} v1.4.0^{}` must print the same hash twice.

## CI/CD wiring

Read `references/github-actions.md` for complete GitHub Actions workflow examples covering the three triggers (push to main, `v*-rc.*` tags, `v*` release tags), artifact promotion without rebuild, and environment protection rules. Use it whenever setting up or reviewing pipelines for this lifecycle. For cutting wasted runs on the repo's CI workflows and migrating onto the org's reusable workflows, use `aot-ci-workflows`.

## Anti-patterns to reject

When you see these, stop and correct course:

- Deploying a branch to UAT or production. Only tags deploy there.
- Rebuilding the artifact for production. Promote the RC image.
- Tagging a release on a commit with no matching approved RC.
- Fixing bugs directly on a UAT or production environment.
- Reusing or moving a tag.
- Merging to `main` without a PR.
- A hotfix that never lands back on `main`.

From Art-of-Technology/skills, MIT.

More from Art-of-Technology/skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 3, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Art-of-Technology

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 aot-release-lifecycle 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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying aot-release-lifecycle?

CallGet help
Cite this page

aot-release-lifecycle skill. Agent Mart. https://agentmart.dev/skills/art-of-technology-aot-release-lifecycle (last updated 2026-10-24)