ClickUp CLI Release Process
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.
Operate Squad's automated insider, preview, and stable release channels safely
$ npx skills add bradygaster/squad --skill release-process -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bradygaster/squad release-process --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/bradygaster/squad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.copilot/skills/release-process .claude/skills/release-process && 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 "release-process" agent skill from https://github.com/bradygaster/squad/tree/dev/.copilot/skills/release-process into .claude/skills/release-process/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-process", 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/bradygaster/squad/tree/dev/.copilot/skills/release-processType 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 bradygaster/squad --skill release-process -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bradygaster/squad release-process --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bradygaster/squad.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.copilot/skills/release-process .agents/skills/release-process && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-process" agent skill from https://github.com/bradygaster/squad/tree/dev/.copilot/skills/release-process into .agents/skills/release-process/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-process", 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 bradygaster/squad --skill release-process -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bradygaster/squad release-process --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bradygaster/squad.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.copilot/skills/release-process .cursor/skills/release-process && 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 "release-process" agent skill from https://github.com/bradygaster/squad/tree/dev/.copilot/skills/release-process into .cursor/skills/release-process/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-process", 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/bradygaster/squad.git --path .copilot/skills/release-process--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 bradygaster/squad --skill release-process -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bradygaster/squad release-process --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bradygaster/squad.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.copilot/skills/release-process .gemini/skills/release-process && 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 "release-process" agent skill from https://github.com/bradygaster/squad/tree/dev/.copilot/skills/release-process into .gemini/skills/release-process/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-process", 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 bradygaster/squad release-processInstalls 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 bradygaster/squad --skill release-process -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bradygaster/squad.git skills-src && mkdir -p .github/skills && cp -r skills-src/.copilot/skills/release-process .github/skills/release-process && 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 "release-process" agent skill from https://github.com/bradygaster/squad/tree/dev/.copilot/skills/release-process into .github/skills/release-process/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-process", 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 bradygaster/squad --skill release-process -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bradygaster/squad release-process --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bradygaster/squad.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.copilot/skills/release-process .opencode/skills/release-process && 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 "release-process" agent skill from https://github.com/bradygaster/squad/tree/dev/.copilot/skills/release-process into .opencode/skills/release-process/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-process", 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.
release-processOperate Squad's automated insider, preview, and stable release channels safely
Release Process is an agent skill from bradygaster/squad. Operate Squad's automated insider, preview, and stable release channels safely
Its SKILL.md is about 1.5k 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. It works with npm, GitHub and Homebrew. The repository describes itself as: Squad: AI agent teams for any project. The licence is MIT.
Read from SKILL.md and the folder at commit d2364df. 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:
ghnpmgitnodenpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, npm, git and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NPM_TOKENHOMEBREW_TAP_TOKENWINGET_CREATE_GITHUB_TOKENGITHUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Release Process loads about 1.5k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 616 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 bradygaster/squad at commit d2364df, republished under its MIT licence (© bradygaster). 616 words, ~1,495 tokens.
.claude/skills/release-process/SKILL.md (or your agent's skills folder).Read .squad/skills/release-process/SKILL.md for the canonical runbook and
recovery commands. The operational model is:
| Release | Trigger | Required version | Result |
|---|---|---|---|
| Insider | Manual squad-insider-publish.yml dispatch from dev | Generated X.Y.Z-insider.N | GitHub prerelease, npm insider, standalone archives, Homebrew, WinGet |
| Preview | Manual squad-release.yml dispatch from dev | X.Y.Z-preview.N | GitHub prerelease, npm preview, standalone archives, Homebrew, WinGet |
| Stable | Manual squad-promote.yml dispatch from dev | X.Y.Z | Sanitized main push, GitHub stable release, npm latest, standalone archives, Homebrew, WinGet |
There is no staging preview branch. Do not create tags or GitHub Releases
manually.
Human release-trigger boundary: use the canonical runbook for exact commands. Agents may prepare, validate, and present commands, but agents must never execute or dispatch any live publication, promotion, or recovery workflow: squad-release.yml, squad-agents-ai-release.yml, squad-insider-publish.yml, squad-promote.yml with dry_run=false, squad-version-promote.yml, squad-npm-publish.yml, or squad-standalone-release.yml. Treat squad-promote.yml --ref dev -f dry_run=true as human-only too: it has actions: write and contents: write, checks out dev with the workflow token, installs dependencies, and runs build and test steps. Do not describe any GitHub Actions release workflow as agent-safe once it has write-capable credentials or a dispatch path. Only a human executes those triggers; human approval alone does not authorize an agent to fire them.
Before either channel:
git fetch origin dev main
git merge-base origin/dev origin/main
grep '"version"' package.json packages/squad-sdk/package.json packages/squad-cli/package.json
node -p "require('./packages/squad-cli/package.json').dependencies['@bradygaster/squad-sdk']"
grep -F "## [$VERSION]" CHANGELOG.md
SKIP_BUILD_BUMP=1 npm run build
npx vitest runThe validation build must not mutate package versions or the lockfile; check
git diff -- package.json packages/squad-sdk/package.json packages/squad-cli/package.json package-lock.json afterward and stop if any version-only change appears.
The ancestry command must return a commit, all three versions must match, the
CLI SDK dependency floor must be >=VERSION, and the changelog must contain
the exact release version.
Required Actions secrets:
NPM_TOKEN: automation-capable npm publish token.HOMEBREW_TAP_TOKEN: classic PAT with public_repo from a collaborator with
write access to bradygaster/homebrew-squad.WINGET_CREATE_GITHUB_TOKEN: classic PAT with public_repo for
tamirdresher/winget-pkgs.After a PR sets an immutable prerelease version on dev and CI passes:
Human-only reference command: this live publish workflow must be run by a human. Agents must stop, hand off, and not execute it directly.
VERSION=0.14.0-preview.1
gh workflow run squad-release.yml --ref dev -f confirm_tag="v$VERSION"
gh run watchThe release workflow rejects stable versions on manual dispatch, creates a
GitHub prerelease, publishes npm preview, and uploads standalone bundles.
It also updates the squad-preview Homebrew cask and
bradygaster.Squad.Preview WinGet package. The activation pin and insider-tag
promotion remain stable-only.
Human-only reference command: this live publish workflow must be run by a human. Agents must stop, hand off, and not execute it directly.
gh workflow run squad-insider-publish.yml --ref dev -f dry_run=false
gh run watchThe workflow computes the next X.Y.Z-insider.N version, publishes npm
insider, creates the GitHub prerelease and standalone archives, updates
squad-insider in Homebrew, and opens or reuses the
bradygaster.Squad.Insider WinGet PR.
After a PR replaces the preview version with X.Y.Z on dev and CI passes:
Human-only validation dispatch: this workflow still checks out dev with repo/workflow credentials and runs build and test logic. Agents must stop and hand off; only a human should fire it.
gh workflow run squad-promote.yml --ref dev -f dry_run=true
gh run watchHuman-only reference command: this live publish workflow must be run by a human. Agents must stop, hand off, and not execute it directly.
gh workflow run squad-promote.yml --ref dev -f dry_run=false
gh run watchPromotion merges dev directly into main, strips internal team state,
validates the release tree, builds it, runs tests, and pushes main. It then
explicitly dispatches squad-release.yml because GITHUB_TOKEN pushes do not
start another workflow. The release creates the tag and stable GitHub Release
and directly invokes npm and standalone publication.
npm view @bradygaster/squad-sdk dist-tags.preview
npm view @bradygaster/squad-cli dist-tags.preview
npm view @bradygaster/squad-sdk dist-tags.latest
npm view @bradygaster/squad-cli dist-tags.latest
gh release view "v$VERSION"Use the tag for the channel being released. Verify the GitHub Release contains
all six OS/architecture archives and SHA256SUMS.txt. Every release must update
its channel-specific Homebrew cask and create or reuse a WinGet PR.
Do not recreate or overwrite the tag. Rerun a failed child job, or dispatch the
reusable npm/standalone workflow with source_ref=v$VERSION. Use --ref dev
for previews and --ref main for stable releases. The canonical runbook
contains the exact commands.
After a stable release, prepare the next X.Y.Z-preview.1 version in a normal
PR to dev.
© bradygaster, 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 .copilot/skills/release-process of bradygaster/squad.
Open the folder on GitHubat commit d2364df
Release Process 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 |
|---|---|---|---|---|---|---|
| Release Process this skillbradygaster/squad | 3.3k | — | ~1.5k | Automated safety check: Pass | MIT | |
| ClickUp CLI Release Processkrodak/clickup-cli | 120 | — | ~906 | Automated safety check: Warn | MIT | |
| Reflexo ReleaseMyriad-Dreamin/typst.ts | 1.2k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Release Flowromankurnovskii/BrewMate | 301 | — | ~976 | Automated safety check: Pass | MIT | |
| Release Allpaperboytm/spool | 592 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Mecatl Release Cuttingstacklok/mecatl | 218 | — | ~4k | Automated safety check: Pass | Apache-2.0 |
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.
Myriad-Dreamin/typst.ts
Guide Reflexo/typst.ts release preparation and operator handoffs.
romankurnovskii/BrewMate
Automate the full application release flow for BrewMate, including committing local changes, bumping version, waiting for GitHub Actions release build, and pushing the in-repo cask update…
paperboytm/spool
Publish the complete Spool CLI release train: synchronized versions, npm packages, the GitHub release, and the matching production web deployment.
stacklok/mecatl
Cuts a tagged mecatl release by dispatching the release-PR workflow, merging the bot's pull request and verifying the tag, images, Helm chart, signed archives and Homebrew formula.
paperclipai/paperclip
Coordinate a full Paperclip release across engineering verification, npm, GitHub, smoke testing, and announcement follow-up.
bradygaster/squad
Review and validate claims using counter-hypothesis testing.
bradygaster/squad
How to review PRs for architectural quality — module boundaries, dependency direction, export surface, pattern consistency
bradygaster/squad
Preserve content when moving entries between tracked Squad state files
bradygaster/squad
Defensive CI/CD patterns: semver validation, token checks, retry logic, and draft detection
bradygaster/squad
Checklist and patterns for wiring new CLI commands into cli-entry.ts
bradygaster/squad
Enables squad agents on different machines to share work via git-based task queuing
Categories
Operate Squad's automated insider, preview, and stable release channels safely. Release Process is an agent skill from bradygaster/squad.
Release Process fits situations like: tasks that involve Deployment.
Run `npx skills add bradygaster/squad --skill release-process -a claude-code`. Or copy the skill folder (.copilot/skills/release-process in bradygaster/squad) into .claude/skills/release-process in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bradygaster/squad --skill release-process -a codex`. Or copy the skill folder (.copilot/skills/release-process in bradygaster/squad) into .agents/skills/release-process 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 bradygaster/squad --skill release-process -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-process, .gemini/skills/release-process, .github/skills/release-process and .opencode/skills/release-process in your project.
Going by SKILL.md and its folder, Release Process needs the command-line tools its instructions call (gh, npm, git, node and npx) and credentials named NPM_TOKEN, HOMEBREW_TAP_TOKEN, WINGET_CREATE_GITHUB_TOKEN and GITHUB_TOKEN. Our summary lists: Node.js; A credential in NPM_TOKEN; A credential in HOMEBREW_TAP_TOKEN.
SKILL.md contains no URLs. Its commands use gh, npm, git and npx, which can reach the network depending on how they are called. 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.
Release Process 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.5k tokens (SKILL.md is roughly 6k 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 Release Process: ClickUp CLI Release Process (krodak/clickup-cli, 120 stars), Reflexo Release (Myriad-Dreamin/typst.ts, 1.2k stars), Release Flow (romankurnovskii/BrewMate, 301 stars) and Release All (paperboytm/spool, 592 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bradygaster (a GitHub user) maintains it in bradygaster/squad, which has 3,256 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 6, 2026.
Source: bradygaster/squad on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.