Aspire
microsoft/aspire.dev
Orchestrates Aspire distributed applications using the Aspire CLI for running, debugging, and managing distributed apps.
A skill your agent uses when the user wants to tag a release, cut a release candidate, or ship a new version.
$ npx skills add fullsend-ai/fullsend --skill cutting-releases -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install fullsend-ai/fullsend cutting-releases --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/fullsend-ai/fullsend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cutting-releases .claude/skills/cutting-releases && 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 "cutting-releases" agent skill from https://github.com/fullsend-ai/fullsend/tree/main/skills/cutting-releases into .claude/skills/cutting-releases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cutting-releases", 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/fullsend-ai/fullsend/tree/main/skills/cutting-releasesType 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 fullsend-ai/fullsend --skill cutting-releases -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install fullsend-ai/fullsend cutting-releases --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cutting-releases .agents/skills/cutting-releases && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cutting-releases" agent skill from https://github.com/fullsend-ai/fullsend/tree/main/skills/cutting-releases into .agents/skills/cutting-releases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cutting-releases", 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 fullsend-ai/fullsend --skill cutting-releases -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install fullsend-ai/fullsend cutting-releases --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cutting-releases .cursor/skills/cutting-releases && 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 "cutting-releases" agent skill from https://github.com/fullsend-ai/fullsend/tree/main/skills/cutting-releases into .cursor/skills/cutting-releases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cutting-releases", 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/fullsend-ai/fullsend.git --path skills/cutting-releases--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 fullsend-ai/fullsend --skill cutting-releases -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install fullsend-ai/fullsend cutting-releases --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cutting-releases .gemini/skills/cutting-releases && 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 "cutting-releases" agent skill from https://github.com/fullsend-ai/fullsend/tree/main/skills/cutting-releases into .gemini/skills/cutting-releases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cutting-releases", 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 fullsend-ai/fullsend cutting-releasesInstalls 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 fullsend-ai/fullsend --skill cutting-releases -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cutting-releases .github/skills/cutting-releases && 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 "cutting-releases" agent skill from https://github.com/fullsend-ai/fullsend/tree/main/skills/cutting-releases into .github/skills/cutting-releases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cutting-releases", 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 fullsend-ai/fullsend --skill cutting-releases -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install fullsend-ai/fullsend cutting-releases --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cutting-releases .opencode/skills/cutting-releases && 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 "cutting-releases" agent skill from https://github.com/fullsend-ai/fullsend/tree/main/skills/cutting-releases into .opencode/skills/cutting-releases/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cutting-releases", 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.
cutting-releasesA skill your agent uses when the user wants to tag a release, cut a release candidate, or ship a new version.
Cutting Releases is an agent skill from fullsend-ai/fullsend. Use when the user wants to tag a release, cut a release candidate, or ship a new version. Also use when asking about release process, versioning, or how GoReleaser is configured.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `post-flight.md`, `pre-flight.md` and `scripts/install-binary.sh`).
It sits in DevOps & Cloud, covering Deployment. The repository describes itself as: On the path to fully autonomous agentic engineering. The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e05aed3. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepGlobAskUserQuestionAgentBash(git tag:*)Bash(git log:*)Bash(git diff:*)Bash(git pull:*)Bash(git push:*)…and 10 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitghbashFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
RELEASE_APP_PRIVATE_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cutting Releases loads about 3.5k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 1,815 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); the scripts in this folder are not scanned.
The full file from fullsend-ai/fullsend at commit e05aed3, republished under its Apache-2.0 licence (© fullsend-ai). 1,815 words, ~3,500 tokens.
.claude/skills/cutting-releases/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Releases are driven by annotated git tags. When a tag matching v* is pushed,
.github/workflows/release.yml runs GoReleaser to build binaries, generate a
changelog, and create the GitHub release.
Before starting step 1, read pre-flight.md in this skill's directory and complete the pre-flight audit. Do not proceed until the user confirms GO.
Follow these steps in order.
Releases should be cut from main. Verify you are on main and up to date:
git checkout main && git pull --tags --forceCheck the latest final tags (the first lines of the output) —
RC/alpha/beta tags sort above their final, so exclude anything with a
- suffix:
git tag --sort=-v:refname | grep -v -- -Decide the next target final version following semver. Every release is cut as a release candidate first (step 6) and promoted to this final version only after the RC gate passes and the fleet images are repinned (step 8) — so what you pick here is the version the release will end up as, not the first tag you push:
| Change type | Example target version |
|---|---|
| Breaking / major milestone | v1.0.0 |
| New functionality (MVP, feature set) | v0.X.0 |
| Bug fixes only | v0.0.X |
Use AskUserQuestion to present your proposed version tag and the rationale
for your choice. For example:
I'd suggest
v0.2.0(cut first asv0.2.0-rc.1) — there are 5 newfeat:commits sincev0.1.0and no breaking changes. Does that look right, or would you prefer a different version?
Do not proceed until the user confirms.
Use AskUserQuestion to ask:
Any special title for this release? (e.g. "MVP Release Candidate 1") Leave blank to use just the version tag.
The answer becomes the tag subject line. If blank, use the tag name itself as
the subject so that GoReleaser's name_template guard (ne .TagSubject .Tag)
suppresses it, producing a clean release title without duplication.
git log --oneline <previous-final>..HEADSummarize changes into categories (features, fixes, refactors). Exclude
docs:, test:, chore:, ci:, build: commits — GoReleaser filters these anyway.
Every release starts as a release candidate. Record the commit you are
tagging as <rc-sha> (git rev-parse HEAD).
Build the tag message:
v0.9.0-rc.1) —
git's %(contents:subject) skips leading blank lines, so a blank first
line still picks up the first category header as .TagSubject. Using the
tag name as subject ensures .TagSubject == .Tag, which the goreleaser
guard suppresses, producing a clean release title with no suffix.git tag -a vX.Y.Z-rc.N <rc-sha> -m "<message>"
git rev-parse vX.Y.Z-rc.N^{commit}The second command must print <rc-sha>.
The first line of the annotation becomes the release title suffix via
GoReleaser's name_template (see .goreleaser.yml).
git push origin vX.Y.Z-rc.N
gh run list --workflow=release.yml --branch vX.Y.Z-rc.N --limit=1Expect about 15 minutes before anything is published: the gate runs
agents' release tier, one functional-test case per agent (the full
suite takes about 45; see Notes).
When it passes, GoReleaser publishes the vX.Y.Z-rc.N binaries as a
prerelease. v0 does not move, but tag-agents tags
fullsend-ai/agents at vX.Y.Z-rc.N. The images come from the
separate Sandbox Images run for the same tag push.
Hold window: from this push until the final tag is pushed, do not
merge PRs touching images/sandbox, images/code or
.github/workflows/sandbox-images.yml — any such merge forces
rc.N+1 at step 9.
If the run fails, see "When a release run fails" in Notes.
Once the RC run is green, repin the agents harness images to this RC's digests. The final tag waits until this repin PR is merged.
Check the image build. The Sandbox Images run for the tag must
be green; if it failed, re-run it (gh run rerun <run-id> --failed)
and wait before resolving digests:
gh run list --workflow=sandbox-images.yml --branch vX.Y.Z-rc.N --limit=1Resolve the digests. Needs skopeo; on macOS pass
--override-os linux. Image tags have no v prefix:
skopeo inspect --override-os linux --no-tags docker://ghcr.io/fullsend-ai/fullsend-sandbox:X.Y.Z-rc.N
skopeo inspect --override-os linux --no-tags docker://ghcr.io/fullsend-ai/fullsend-code:X.Y.Z-rc.NRecord each result's Digest (the multi-arch index digest) as the
sandbox and code RC digests; B3 in post-flight checks against them.
Its org.opencontainers.image.revision label must equal <rc-sha>;
if not, the tag was rebuilt from another commit — stop and
investigate.
Hand off the repin PR against fullsend-ai/agents. List the
harness files that pin these images on agents main:
for f in $(gh api "repos/fullsend-ai/agents/contents/harness?ref=main" --jq '.[].name'); do gh api "repos/fullsend-ai/agents/contents/harness/$f?ref=main" --jq ".content|@base64d|split(\"\n\")[]|select(test(\"image:.*fullsend-(sandbox|code)\"))|\"$f: \"+."; doneExpect one line per harness that pins an image; empty output or an
error means discovery failed — stop. This skill can't clone or open
PRs in agents, so use AskUserQuestion to give the user the
discovered lines and both RC digests, and ask them to open the repin
PR with
fullsend-ai/agents#1570
as the template: each image: gets the matching index digest
(@sha256:...), never a tag or a per-platform digest.
Wait for the repin PR to merge, and record its merge commit as
<repin-merge-sha> (gh pr view <n> --repo fullsend-ai/agents --json mergeCommit --jq .mergeCommit.oid); post-flight B2 needs it.
Tag the final at <final-sha>, normally <rc-sha> itself: the
release workflow pins GoReleaser's current tag to the pushed ref, so a
final can share the RC's commit. If you move the final to a later
commit instead, first check that the images have not changed since the
RC:
git log --oneline <rc-sha>..<final-sha> -- images/sandbox images/code .github/workflows/sandbox-images.ymlIf it prints anything, do not tag the final: cut rc.N+1 at
<final-sha> (step 6) and repin again. Tag with the step 6 message
minus -rc.N:
git tag -a vX.Y.Z <final-sha> -m "<message>"
git rev-parse vX.Y.Z^{commit}
git push origin vX.Y.ZThe second command must print <final-sha>. This run is the first
gate against the repinned images. On success it publishes the binaries
and GitHub Release, moves v0, and tags agents vX.Y.Z. If it fails,
see "When a release run fails" in Notes.
Read post-flight.md in this skill's directory and follow the post-flight verification procedure.
After post-flight confirms the release is published, write a short user-facing summary highlighting the changes that matter most to end users.
Gather the raw changelog. Run gh release view <tag> --json body -q .body
to get the auto-generated release body. For a final it is expected to
span the previous final to this one, not just the RC.
Research the actual changes. Do not rely on PR titles or one-line
summaries — they often undersell or misrepresent user impact. Launch an
Agent sub-agent to read the full body, diff, and comments of every merged
PR in the release (gh pr view <number>, gh pr diff <number>). The agent
should identify which changes affect user-visible behavior, CLI flags,
configuration, error messages, performance, or compatibility — and flag
anything that looks like a breaking change or notable upgrade, even if the
PR title doesn't say so.
Draft highlights. Write one or more paragraphs of prose (not
bullet lists — use only one paragraph if only one is necessary)
focusing on what changed for the user, not internal refactors.
Bold the names of features or areas being discussed (e.g. token mint,
fullsend init). Use code fences where showing a command or config
snippet helps illustrate a change. Skip items that have no user-visible
effect. Full coverage of every change is a non-goal — clarity and impact
are the goals.
Present the draft to the user. Use AskUserQuestion to show the
proposed highlights text and ask:
Here are the draft release highlights I'd prepend to the release body. Edit freely or say "looks good" to proceed.
Prepend to the release. Once confirmed (with any edits applied), fetch
the current release body, prepend the highlights separated by a horizontal
rule (---), and update the release:
gh release edit <tag> --notes "$(cat <<'EOF'
<highlights>
---
<existing body>
EOF
)"Use AskUserQuestion to ask where to install (default: ~/.local/bin/),
then run the install script using its repo-root-relative path:
bash skills/cutting-releases/scripts/install-binary.sh <tag> [install-dir]The script downloads the archive, verifies its SHA-256 checksum, and
installs the binary as fullsend-<tag> so multiple versions can coexist.
Pre-releases: Tags with -rc.N, -alpha.N, or -beta.N suffixes are
automatically marked as pre-releases by GoReleaser.
Never delete a tag that published binaries or a GitHub Release. If a shipped release is bad, cut a new patch or RC. Only a blocked final may be deleted (see "When a release run fails").
The changelog is auto-generated from PR titles (which must follow conventional commit format). GoReleaser uses changelog.use: github in .goreleaser.yml, so merged PR titles — not individual commit subjects — are the source of release-note entries.
The v0 tag is a moving tag consumed by downstream orgs for reusable
workflows. It is automatically moved by the release workflow after
GoReleaser completes (skipped for pre-release tags).
Agents validation runs before anything is published. On a v* tag
push the workflow first runs resolve-agents (verifies the tag still
points at the commit that triggered the run, checks the gate secrets
are configured, and records agents' main SHA), then validate-agents,
which runs agents' functional tests (via a cross-repo reusable workflow
call) against the release tag. A cross-repo call runs agents' release
tier: one case per agent, blocking on case exits and deterministic
checks only. Only if those pass does recheck-tag re-verify that the
tag still points at the triggering commit, and release run
GoReleaser. A failure at any of these steps means no binaries or
GitHub Release are published and v0 does not move; a Slack
notification reports the release as blocked.
Images are built per tag push, not per release. Sandbox Images
runs for every v* tag regardless of the gate, and the build is not
reproducible: two builds of one commit give different digests. That is
why the fleet pins the RC's digests (step 8), never a final's.
When a release run fails (step 7 or 9):
gh run rerun <run-id> --failed.
The tag stays.fullsend-ai/agents only: gh run rerun <run-id>
(the whole run), so resolve-agents and validate-agents resolve
agents main again; --failed keeps the agents SHA from the first
attempt. (This follows from release.yml; v0.44.0 was re-tagged
instead.)rc.N+1 (step 6).
For a final, confirm gh release view vX.Y.Z reports no release,
delete the tag (git tag -d vX.Y.Z && git push origin :refs/tags/vX.Y.Z), then cut rc.N+1.Re-pushing a final tag rebuilds its :X.Y.Z images; that is harmless,
since the fleet pins RC digests.
Same-commit finals: before fullsend#7955 (v0.44.0), a final on the
same commit as its RC failed in release with 422 already_exists,
because GoReleaser picked the RC tag. The workflow now pins the
current tag to the pushed ref and, for a final, the previous tag to
the last final; no release has exercised this yet.
The fullsend-ai/agents repo is tagged with the same version last,
by the tag-agents job, using an org-owned GitHub App token
(RELEASE_APP_ID / RELEASE_APP_PRIVATE_KEY). It tags the agents
main commit the gate validated, for RC tags as well as finals. This
is the only step that can fail after the binary has shipped; when it
does, a Slack notification is sent and only the agents tag is missing.
That tag push triggers agents' own release.yml, which creates a
GitHub Release and, for non-prerelease tags, moves its v0 floating
tag.
© fullsend-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in skills/cutting-releases of fullsend-ai/fullsend.
Open the folder on GitHubat commit e05aed3
Cutting Releases 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 |
|---|---|---|---|---|---|---|
| Cutting Releases this skillfullsend-ai/fullsend | 149 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Aspiremicrosoft/aspire.dev | 195 | 4 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Releasebmeares/Meerschaum | 154 | — | ~1.1k | Automated safety check: Notes | Apache-2.0 | |
| Deploy Processtrkbt10/indexion | 153 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Agr Releasecomputerlovetech/agr | 451 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Google Agents CLI Scaffoldpifferologo/cloud-agents-cli | 129 | 1 repos | ~2.9k | Automated safety check: Notes | Apache-2.0 |
microsoft/aspire.dev
Orchestrates Aspire distributed applications using the Aspire CLI for running, debugging, and managing distributed apps.
bmeares/Meerschaum
Meerschaum release process — bump version, update changelog, stage dev→main PR, run CI, publish to PyPI, tag, GitHub release, build/push Docker images, rebuild docs on prod VPS.
trkbt10/indexion
Release process for indexion. An agent skill from trkbt10/indexion.
computerlovetech/agr
Release process for the agr package. An agent skill from computerlovetech/agr.
pifferologo/cloud-agents-cli
This skill should be used when the user wants to "create an agent project", "start a new ADK project", "build me a new agent", "add CI/CD to my project", "add deployment", "enhance my project", or…
Opentrons/opentrons
Conventions for the opentrons-ai-server FastAPI service — project structure, uv dependency management, settings, testing, Docker, and deployment.
fullsend-ai/fullsend
Build a merged RICE priority table: top unassigned backlog issues plus issues assigned to the current user.
fullsend-ai/fullsend
A skill your agent uses when preparing the Fullsend user forum "What's New" agenda, a Tuesday-to-Tuesday recap, forum-host talk-track notes, or copy-paste HTML of shipped changes for users.
fullsend-ai/fullsend
Find open GitHub pull requests that add or change Architecture Decision Records and report attribution, summaries, discussion points, and dates.
fullsend-ai/fullsend
Build a readiness-oriented queue of open issues/PRs — assigned work plus their open GitHub blockers — and recommend the next action for each.
fullsend-ai/fullsend
Analyze fullsend agent run transcripts from GitHub Actions artifacts.
fullsend-ai/fullsend
A skill your agent uses when checking e2e test health or reviewing recent e2e failures on main.
Categories
A skill your agent uses when the user wants to tag a release, cut a release candidate, or ship a new version. Cutting Releases is an agent skill from fullsend-ai/fullsend. Use when the user wants to tag a release, cut a release candidate, or ship a new version.
Cutting Releases fits situations like: the user wants to tag a release; cut a release candidate; ship a new version; asking about release process.
Run `npx skills add fullsend-ai/fullsend --skill cutting-releases -a claude-code`. Or copy the skill folder (skills/cutting-releases in fullsend-ai/fullsend) into .claude/skills/cutting-releases in your project. Claude Code loads it when a task matches its description.
Run `npx skills add fullsend-ai/fullsend --skill cutting-releases -a codex`. Or copy the skill folder (skills/cutting-releases in fullsend-ai/fullsend) into .agents/skills/cutting-releases 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 fullsend-ai/fullsend --skill cutting-releases -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cutting-releases, .gemini/skills/cutting-releases, .github/skills/cutting-releases and .opencode/skills/cutting-releases in your project.
Going by SKILL.md and its folder, Cutting Releases needs a shell for the scripts in its folder, the command-line tools its instructions call (git, gh and bash) and credentials named RELEASE_APP_PRIVATE_KEY. Our summary lists: A Bash shell; Docker. Its frontmatter pre-approves these tools: Read, Grep, Glob, AskUserQuestion, Agent, Bash(git tag:*), Bash(git log:*), Bash(git diff:*), Bash(git pull:*), Bash(git push:*), Bash(git rev-parse:*), Bash(gh release:*), Bash(gh run:*), Bash(gh api:*), Bash(gh pr:*), Bash(git checkout:*), Bash(git fetch:*), Bash(skopeo inspect:*), Bash(grep:*), Bash(bash skills/cutting-releases/scripts/install-binary.sh:*).
SKILL.md names 1 domain. As links in the text: github.com. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cutting Releases is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 Cutting Releases: Aspire (microsoft/aspire.dev, 195 stars), Release (bmeares/Meerschaum, 154 stars), Deploy Process (trkbt10/indexion, 153 stars) and Agr Release (computerlovetech/agr, 451 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
fullsend-ai (a GitHub organization) maintains it in fullsend-ai/fullsend, which has 149 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 10, 2026.
Source: fullsend-ai/fullsend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.