Agent skill

Goal Release

by dyoshikawa in dyoshikawa/rulesync

Cut a release end to end: use the draft-release skill to open the release PR and draft GitHub release, wait for CI to turn green, run the merge-pr skill to merge the release PR, then update the…

MITAuto-check passedDevelopment

Install Goal Release

skills CLI
$ npx skills add dyoshikawa/rulesync --skill goal-release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dyoshikawa/rulesync goal-release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dyoshikawa/rulesync.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.rulesync/skills/goal-release .claude/skills/goal-release && rm -rf skills-src

Use ~/.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/

Facts

Skill name
goal-release
GitHub stars
1.5k
Token cost
~2k tokens
SKILL.md length
1,015 words
Files
1
Skills in repo
40
Repo updated
First seen
Licence
MIT

At a glance

Cut a release end to end: use the draft-release skill to open the release PR and draft GitHub release, wait for CI to turn green, run the merge-pr skill to merge the release PR, then update the…

  • Works in 6 steps: Draft the Release → Resolve the Release PR → Wait for CI → …
  • The user wants to draft and merge a release in one go
  • SKILL.md covers 1. Draft the Release, 2. Resolve the Release PR, 3. Wait for CI and 4. Merge the Release PR, plus 2 more sections
  • Calls gh, git and pnpm

What it does

Goal Release is an agent skill from dyoshikawa/rulesync. Cut a release end to end: use the draft-release skill to open the release PR and draft GitHub release, wait for CI to turn green, run the merge-pr skill to merge the release PR, then update the Homebrew formula from the published release assets. Use when the user wants to draft and merge a release in one go, or triggers on "the goal-release skill".

Its SKILL.md is about 2k 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 Development. It works with Homebrew and GitHub. The repository describes itself as: A Utility CLI for AI Coding Agents. The licence is MIT.

When your agent uses it

  • The user wants to draft and merge a release in one go
  • Triggers on the goal-release skill

Example prompts

  • “the goal-release skill”
  • “/goal-release”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Draft the Release
  2. Resolve the Release PR
  3. Wait for CI
  4. Merge the Release PR
  5. Update the Homebrew Formula
  6. Final Report

What it can do on your machine

Read from SKILL.md and the folder at commit 625bf98. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git
    • pnpm
    • brew

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, git and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Goal Release loads about 2k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 1,015 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
When it runs · the whole SKILL.md, loaded when a task matches
~2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from dyoshikawa/rulesync at commit 625bf98, republished under its MIT licence (© dyoshikawa). 1,015 words, ~1,979 tokens.

Download SKILL.mdSave it as .claude/skills/goal-release/SKILL.md (or your agent's skills folder).
name
goal-release
description
Cut a release end to end: use the `draft-release` skill to open the release PR and draft GitHub release, wait for CI to turn green, run the `merge-pr` skill to merge the release PR, then update the Homebrew formula from the published release assets. Use when the user wants to draft and merge a release in one go, or triggers on "the `goal-release` skill".
targets
*

Goal Release

new_version = the user's request

This skill drives a release all the way to merge. It uses the draft-release skill to open the release pull request (and create the draft GitHub release), waits for the PR's CI checks to pass, runs the merge-pr skill to merge it, and finally updates the Homebrew tap formula once the release assets are built.

1. Draft the Release

Use the draft-release skill with new_version.

  • If new_version is provided (e.g. v1.2.3 or 1.2.3), it must match the semver shape ^v?\d+\.\d+\.\d+$ — if it does not, stop and report instead of passing it on. Pass a valid value through unchanged; the draft-release skill normalizes the v prefix itself.
  • If new_version is empty, pass no argument; the draft-release skill determines the next version automatically via the release-dry-run skill.

When the draft-release skill finishes, it has:

  • created a release/v<version> branch with the version-bump commits,
  • opened a pull request against main, and
  • created a draft GitHub release v<version> with the release notes.

If the draft-release skill failed partway (e.g. the PR exists but the draft release was not created, or it stopped before opening the PR), stop here and report the partial state to the user instead of continuing.

2. Resolve the Release PR

Use the PR number or URL that the draft-release skill's gh pr create printed in Step 1 when available. Otherwise, identify the pull request from the current release/v<version> branch:

bash
gh pr view --json number,title,state,headRefName

Confirm that headRefName matches the release/v<version> branch created in Step 1. This skill must only ever merge that release PR — if the resolved PR is a different one, stop and report to the user instead of merging.

3. Wait for CI

Wait for the release PR's GitHub Actions checks to finish:

bash
gh pr checks <pr_number> --watch

If the watch reports that no checks are registered yet, wait a moment and retry — checks can take a few seconds to appear right after the PR is opened.

  • If every check passes, proceed to Step 4.
  • If a check fails, investigate and fix the failure on the release branch (run pnpm cicheck locally, commit, and push), then wait for the re-run. Never proceed to the merge while any check is fail or pending.
  • Fixes must legitimately resolve the failure. Never make a check green by skipping or deleting tests, weakening lint or type-check configuration, or editing GitHub Actions workflows.
  • Set a safety cap of 3 fix attempts. If CI is still red after the cap, stop and report the failing checks to the user instead of merging.

If any fix commit beyond the draft-release skill's own version-bump commits was pushed, review the extra commits yourself instead of stopping: merge when each one is a legitimate CI fix (it does not skip or delete tests, weaken lint or type-check configuration, touch .github/**, or add a runtime dependency) and CI is green, and list the extra commits in the final report. If any extra commit fails that check, stop and report it instead of merging.

4. Merge the Release PR

Use the merge-pr skill with the release PR number. It re-verifies the PR state and CI status, merges with gh pr merge --admin --merge, posts a thank-you comment, and cleans up the local branch.

Note: the goal-pr skill tells agents not to auto-merge PRs that touch package.json or release configuration. That restriction does not apply here — merging the version-bump release PR is this skill's explicit purpose, and the user opted into it by invoking the goal-release skill.

Show full SKILL.md (543 more words)Show less

5. Update the Homebrew Formula

After the release PR merges, the Publish Assets workflow builds the platform binaries, tags the release, and uploads the assets (including SHA256SUMS) to the draft GitHub release. The Homebrew formula embeds those checksums, so it can only be regenerated once that workflow finishes — this step replaces the old homebrew job that .github/workflows/publish.yml used to run.

  1. Wait for the Publish Assets run triggered by the merge to complete:

    bash
    gh run list --workflow "Publish Assets" --branch "release/v<version>" \
      --limit 1 --json databaseId,status,conclusion,headBranch
    gh run watch <run_id>

    The workflow triggers on every closed PR to main (non-release runs are job-level skipped but still listed), so filter by the release branch as shown. The run can take a few seconds to appear right after the merge — if the list is empty, wait and retry. Confirm the watched run belongs to this release (its headBranch is the release/v<version> branch of the PR merged in Step 4) and concluded with success. If it failed, stop and report — the formula must not be regenerated from stale assets.

  2. Wait until the GitHub release is published (no longer a draft). The Publish workflow (.github/workflows/publish.yml) runs after Publish Assets, publishes the npm package, and then flips the release public. Draft-release asset URLs return 404 for unauthenticated users, and the Homebrew tap serves the formula straight from main, so merging the formula before the release is public would break brew install for everyone:

    bash
    gh release view v<version> --json isDraft --jq .isDraft

    Poll until this prints false. If the Publish workflow failed (e.g. npm publish error) and the release stays a draft, stop and report instead of updating the formula.

  3. Regenerate the formula from the released checksums:

    bash
    git checkout main && git pull
    gh release download v<version> --pattern SHA256SUMS --dir ./tmp --clobber
    pnpm exec tsx scripts/generate-homebrew-formula.ts <version> ./tmp/SHA256SUMS Formula/rulesync.rb
    rm -f ./tmp/SHA256SUMS
  4. If git diff --quiet -- Formula/rulesync.rb reports no change, the formula is already up to date — skip ahead to the final report.

  5. Otherwise commit the regenerated formula on a branch and merge it right away (main is branch-protected, so the change must land via a PR; merging it immediately with admin rights is this skill's explicit purpose, same as the release PR itself):

    bash
    git switch -c homebrew-formula/v<version>
    git add Formula/rulesync.rb
    git commit -m "chore: update Homebrew formula to v<version>"
    git push -u origin homebrew-formula/v<version>
    gh pr create --base main --title "chore: update Homebrew formula to v<version>" \
      --body "Automated formula update for the v<version> release."
    gh pr merge --admin --merge --delete-branch

    If a previous attempt already pushed the homebrew-formula/v<version> branch or opened its PR, reuse them instead of failing: force-push the branch with git push --force-with-lease and skip gh pr create when gh pr list --head homebrew-formula/v<version> shows an open PR.

    Only Formula/rulesync.rb may be committed here. If anything else shows up in git status, stop and report instead of committing it.

6. Final Report

Report to the user:

  • The merged release PR number and title.
  • The new version and a link to the GitHub release (published automatically by the Publish workflow, which Step 5 waits for).
  • Whether the Homebrew formula was updated (and the formula PR number) or was already up to date.
  • Any CI fixes that were needed along the way.

© dyoshikawa, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .rulesync/skills/goal-release of dyoshikawa/rulesync.

Open the folder on GitHubat commit 625bf98

Compare with similar skills

Goal 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.

Goal Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Goal Release this skilldyoshikawa/rulesync1.5k—~2kAutomated safety check: PassMIT
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0
Releaseeugene1g/agent-safehouse2.1k—~3.5kAutomated safety check: PassApache-2.0
Releasetrasta298/keifu810—~1.2kAutomated safety check: PassMIT
Release VersionGOODBOY008/r-shell153—~4kAutomated safety check: PassMIT
Kanvibe Release Deployrookedsysc/kanvibe144—~12kAutomated safety check: NotesAGPL-3.0

Similar skills

  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    eugene1g/agent-safehouse

    Run the local Agent Safehouse release flow: inspect commits since the last published release, propose the next SemVer version and changelog, present a dry-run for confirmation, then update…

    2.1k GitHub stars~3.5k tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • Release

    trasta298/keifu

    Create a new release with tag, GitHub release, and homebrew-tap update

    810 GitHub stars~1.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Version

    GOODBOY008/r-shell

    Release a new r-shell version and create a published GitHub release with contributor credits.

    153 GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Kanvibe Release Deploy

    rookedsysc/kanvibe

    A skill your agent uses whenever releasing or deploying KanVibe desktop from a clean, up-to-date dev checkout: ask only for the target version and release-note approval, then let the AI update…

    144 GitHub stars~12k tokensUpdated today
    DevelopmentAuto-check: notes
  • AnyDrag Release Routine

    XueshiQiao/AnyDrag

    Runs the full AnyDrag release process end to end, from cumulative bilingual release notes through version bumping to watching CI and the Homebrew cask update.

    226 GitHub stars~2.6k tokensUpdated 6 days ago
    DevelopmentAuto-check passed

More from dyoshikawa/rulesync

All 40 skills in this repo
  • Rulesync Feature Research

    dyoshikawa/rulesync

    Maps rulesync feature implementations to upstream coding-agent documentation.

    1.5k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Babysit Dependabot PR

    dyoshikawa/rulesync

    Babysit a Dependabot dependency-bump PR all the way to merge: verify the author is the genuine Dependabot bot, diagnose and resolve any CI failure (excluding or fixing a breaking bump when needed)…

    1.5k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Commit Push PR

    dyoshikawa/rulesync

    Commit current changes, push to remote, and create or update a pull request.

    1.5k GitHub stars~458 tokensUpdated yesterday
    Auto-check passed
  • Git Worktree Runner

    dyoshikawa/rulesync

    Manages git worktrees using git-worktree-runner (gtr). An agent skill from dyoshikawa/rulesync.

    1.5k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check: notes
  • Goal PR

    dyoshikawa/rulesync

    Drive a pull request to a clean state and merge it: run the review-pr skill, fix every mid-or-above finding, and repeat until no mid-or-above findings remain, then merge.

    1.5k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • PRs Awaiting Author

    dyoshikawa/rulesync

    List open pull requests where the ball is in the author's court: CI is failing, review comments are unaddressed, or a maintainer question is awaiting the author's reply.

    1.5k GitHub stars~887 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Goal Release

What does Goal Release do?

Cut a release end to end: use the draft-release skill to open the release PR and draft GitHub release, wait for CI to turn green, run the merge-pr skill to merge the release PR, then update the…. Goal Release is an agent skill from dyoshikawa/rulesync. Cut a release end to end: use the draft-release skill to open the release PR and draft GitHub release, wait for CI to turn green, run the merge-pr skill to merge the release PR, then update the Homebrew formula from the published release assets.

When should I use Goal Release?

Goal Release fits situations like: the user wants to draft and merge a release in one go; triggers on the goal-release skill.

How do I install Goal Release in Claude Code?

Run `npx skills add dyoshikawa/rulesync --skill goal-release -a claude-code`. Or copy the skill folder (.rulesync/skills/goal-release in dyoshikawa/rulesync) into .claude/skills/goal-release in your project. Claude Code loads it when a task matches its description.

How do I install Goal Release in Codex?

Run `npx skills add dyoshikawa/rulesync --skill goal-release -a codex`. Or copy the skill folder (.rulesync/skills/goal-release in dyoshikawa/rulesync) into .agents/skills/goal-release in your project. Codex loads it when a task matches its description.

Can I use Goal Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dyoshikawa/rulesync --skill goal-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/goal-release, .gemini/skills/goal-release, .github/skills/goal-release and .opencode/skills/goal-release in your project.

What does Goal Release need to run?

Going by SKILL.md and its folder, Goal Release needs the command-line tools its instructions call (gh, git, pnpm and brew).

Does Goal Release access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Goal Release safe to install?

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.

What licence does Goal Release use?

Goal Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Goal Release use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Goal Release?

Skills that share tags, products or a category with Goal Release: Mole CLI Release Flow (tw93/Mole, 70k stars), Release (eugene1g/agent-safehouse, 2.1k stars), Release (trasta298/keifu, 810 stars) and Release Version (GOODBOY008/r-shell, 153 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Goal Release?

dyoshikawa (a GitHub user) maintains it in dyoshikawa/rulesync, which has 1,509 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on October 9, 2026.

Source: dyoshikawa/rulesync on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.