OpenWork Release Process
different-ai/openwork
Cuts an OpenWork desktop release through a tag-driven GitHub Actions workflow that makes no commits, with pre-tag checks on open fix PRs and verification afterward.
Release process for the agr package. An agent skill from computerlovetech/agr.
$ npx skills add computerlovetech/agr --skill agr-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install computerlovetech/agr agr-release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/computerlovetech/agr.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agr-release .claude/skills/agr-release && rm -rf skills-srcUse ~/.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/
Install the "agr-release" agent skill from https://github.com/computerlovetech/agr/tree/main/skills/agr-release into .claude/skills/agr-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agr-release", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/computerlovetech/agr/tree/main/skills/agr-releaseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add computerlovetech/agr --skill agr-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install computerlovetech/agr agr-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/computerlovetech/agr.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/agr-release .agents/skills/agr-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agr-release" agent skill from https://github.com/computerlovetech/agr/tree/main/skills/agr-release into .agents/skills/agr-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agr-release", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add computerlovetech/agr --skill agr-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install computerlovetech/agr agr-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/computerlovetech/agr.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/agr-release .cursor/skills/agr-release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "agr-release" agent skill from https://github.com/computerlovetech/agr/tree/main/skills/agr-release into .cursor/skills/agr-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agr-release", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/computerlovetech/agr.git --path skills/agr-release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add computerlovetech/agr --skill agr-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install computerlovetech/agr agr-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/computerlovetech/agr.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/agr-release .gemini/skills/agr-release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "agr-release" agent skill from https://github.com/computerlovetech/agr/tree/main/skills/agr-release into .gemini/skills/agr-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agr-release", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install computerlovetech/agr agr-releaseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add computerlovetech/agr --skill agr-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/computerlovetech/agr.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/agr-release .github/skills/agr-release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "agr-release" agent skill from https://github.com/computerlovetech/agr/tree/main/skills/agr-release into .github/skills/agr-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agr-release", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add computerlovetech/agr --skill agr-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install computerlovetech/agr agr-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/computerlovetech/agr.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/agr-release .opencode/skills/agr-release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "agr-release" agent skill from https://github.com/computerlovetech/agr/tree/main/skills/agr-release into .opencode/skills/agr-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agr-release", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
agr-releaseRelease process for the agr package. An agent skill from computerlovetech/agr.
Agr Release is an agent skill from computerlovetech/agr. Release process for the agr package. Handles version bumping (major/minor/patch/beta), changelog updates, pre-release quality checks, git tagging, and monitoring the GitHub Actions publish pipeline. Use this skill whenever the user wants to cut a release, bump the version, publish to PyPI, or asks about the release process — even if they just say "let's ship it" or "time for a new version".
Its SKILL.md is about 1.6k 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 DevOps & Cloud, covering Deployment, Changelog and release notes and CI/CD. It works with Git and GitHub Actions. The repository describes itself as: Educational package-manager project for AI agent skills. Not actively maintained. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f260b65. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghuvpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
pypi.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agr Release loads about 1.6k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 767 words of instructions outside code blocks.
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.
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.
The full file from computerlovetech/agr at commit f260b65, republished under its MIT licence (© computerlovetech). 767 words, ~1,614 tokens.
.claude/skills/agr-release/SKILL.md (or your agent's skills folder).This skill walks through the full release process for the agr package. The release is
tag-driven: pushing a vX.Y.Z tag triggers the GitHub Actions pipeline that runs quality
checks, builds the package, publishes to PyPI, and creates a GitHub Release.
Your job is to prepare everything so that when the tag is pushed, the pipeline succeeds on the first try.
Verify the preconditions. If any fail, stop and tell the user.
git status should show no uncommitted changesmain branch — releases should only come from maingit pull to make sure you're not behindAsk the user what kind of release this is:
If the user already said what type they want, don't ask again.
Before touching any files, understand what's being released.
# See all commits since the last release tag
git log $(git describe --tags --abbrev=0)..HEAD --onelineAlso check the [Unreleased] section in CHANGELOG.md — it may already have entries. Cross-reference with the git log to make sure nothing is missing. If there are commits that aren't reflected in the changelog, add them.
Group changes into the standard Keep a Changelog categories:
Run all three locally before proceeding. These are the same checks the CI pipeline runs, so catching failures here saves a round-trip.
uv run ruff check .
uv run ruff format --check .
uv run pytest -m "not e2e and not network and not slow"
uv run ty checkIf anything fails, fix it before continuing. The release commit should pass CI cleanly.
Not every release needs doc changes — use judgement. Docs updates are warranted when:
The docs to consider:
README.md — the primary entry point, should reflect current capabilitiesdocs/docs/reference.md — CLI command referencedocs/docs/index.md — landing page / getting starteddocs/docs/ as relevant (sdk.md, configuration.md, etc.)skills/ — if any exist and are affected by the changesIf nothing user-facing changed (internal refactors, test improvements, dependency bumps), skip this step and move on.
The version lives in pyproject.toml (the single source of truth — importlib.metadata picks it up at runtime via agr/__init__.py):
pyproject.toml line 7: version = "X.Y.Z"Calculate the new version based on the current version and the release type the user chose.
For beta releases, append b1 (or increment the beta number if one already exists):
0.7.10 → 0.7.11b1 (first beta of next patch)0.7.11b1 → 0.7.11b2 (next beta)0.7.11b2 → 0.7.11 (promote beta to stable)In CHANGELOG.md:
## [Unreleased] with ## [X.Y.Z] - YYYY-MM-DD (today's date)## [Unreleased] section at the topThe changelog format matters because the GitHub Actions pipeline extracts the version's section to use as release notes. Malformed entries = bad release notes.
# Stage the changed files
git add pyproject.toml agr/__init__.py CHANGELOG.md
# Plus any docs files you updated
# Commit
git commit -m "release: vX.Y.Z"
# Tag
git tag vX.Y.Z
# Push commit and tag
git push origin main
git push origin vX.Y.ZWait for the user to confirm before pushing. Show them a summary of what will be pushed:
After pushing the tag, monitor the GitHub Actions pipeline:
# Watch the workflow run
gh run list --workflow=publish.yml --limit=1
gh run watch $(gh run list --workflow=publish.yml --limit=1 --json databaseId -q '.[0].databaseId')The pipeline has four stages:
uv build + verifyIf any stage fails, read the logs and help the user fix it:
gh run view <run-id> --log-failedCommon failure modes:
Once the pipeline succeeds, confirm:
# Check PyPI (may take a minute to propagate)
pip index versions agr
# Check the GitHub release exists
gh release view vX.Y.ZTell the user the release is live and share the links:
gh release viewIf the pipeline fails and you need to retry:
git tag -d vX.Y.Z && git push origin :refs/tags/vX.Y.ZThis is destructive — confirm with the user before deleting tags.
© computerlovetech, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/agr-release of computerlovetech/agr.
Open the folder on GitHubat commit f260b65
Agr Release 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agr Release this skillcomputerlovetech/agr | 451 | — | ~1.6k | Automated safety check: Pass | MIT | |
| OpenWork Release Processdifferent-ai/openwork | 24k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Sake CI Releasekattouf/Sake | 116 | — | ~731 | Automated safety check: Pass | MIT | |
| ClickUp CLI Release Processkrodak/clickup-cli | 121 | — | ~906 | Automated safety check: Warn | MIT | |
| Vercel CI Integrationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Adf MasterKilo-Org/kilo-marketplace | 190 | — | ~3.2k | Automated safety check: Pass | MIT |
different-ai/openwork
Cuts an OpenWork desktop release through a tag-driven GitHub Actions workflow that makes no commits, with pre-tag checks on open fix PRs and verification afterward.
kattouf/Sake
A skill your agent uses when working on CI workflows, GitHub Actions, release process, changelog generation (git-cliff), or dependabot configuration.
krodak/clickup-cli
Walks through releasing a new version of clickup-cli: pre-release checks, version bump, tagging, CI watch, release notes and the Homebrew update.
jeremylongshore/tons-of-skills-marketplace
Configure Vercel CI/CD with GitHub Actions, preview deployments, and automated testing.
Kilo-Org/kilo-marketplace
Azure Data Factory (ADF) CI/CD, deployment, and pipeline development.
nWave-ai/nWave
CI/CD pipeline design methodology, deployment strategies, GitHub Actions patterns, and branch/release strategies.
computerlovetech/agr
Debrief an AI agent skill (SKILL.md) after using it — capture session feedback or a retrospective and fold it back into the skill.
computerlovetech/agr
Install, share, sync, and create AI agent skills across coding tools (Claude Code, Cursor, Codex, OpenCode, Copilot, Pi) using the agr CLI.
Works with
Categories
Release process for the agr package. An agent skill from computerlovetech/agr. Agr Release is an agent skill from computerlovetech/agr. Release process for the agr package.
Agr Release fits situations like: the user wants to cut a release; bump the version; publish to PyPI; asks about the release process — even if they just say lets ship it.
Run `npx skills add computerlovetech/agr --skill agr-release -a claude-code`. Or copy the skill folder (skills/agr-release in computerlovetech/agr) into .claude/skills/agr-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add computerlovetech/agr --skill agr-release -a codex`. Or copy the skill folder (skills/agr-release in computerlovetech/agr) into .agents/skills/agr-release in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add computerlovetech/agr --skill agr-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agr-release, .gemini/skills/agr-release, .github/skills/agr-release and .opencode/skills/agr-release in your project.
Going by SKILL.md and its folder, Agr Release needs the command-line tools its instructions call (git, gh, uv and pip).
SKILL.md names 1 domain. As links in the text: pypi.org. This is read from the text; nothing was executed.
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.
Agr Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agr Release: OpenWork Release Process (different-ai/openwork, 24k stars), Sake CI Release (kattouf/Sake, 116 stars), ClickUp CLI Release Process (krodak/clickup-cli, 121 stars) and Vercel CI Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
computerlovetech (a GitHub organization) maintains it in computerlovetech/agr, which has 451 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 12, 2026.
Source: computerlovetech/agr on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.