Best for
- Use when the user wants to draft and merge a release in one go, or triggers on "the `goal-release` skill".
dyoshikawa/rulesync/.rulesync/skills/goal-release/SKILL.md
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".
Decision brief
newversion = the user's request
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/dyoshikawa/rulesync --skill ".rulesync/skills/goal-release"Inspect the Agent Skill "goal-release" from https://github.com/dyoshikawa/rulesync/blob/310b711fbe8cffc14debb276ade8a384c2b89083/.rulesync/skills/goal-release/SKILL.md at commit 310b711fbe8cffc14debb276ade8a384c2b89083. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Use the draft-release skill with newversion.
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 branch:
Wait for the release PR's GitHub Actions checks to finish:
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.
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 finis…
Permission review
The documentation asks the agent to run terminal commands or scripts.
git checkout main && git pullThe documentation asks the agent to run terminal commands or scripts.
pnpm exec tsx scripts/generate-homebrew-formula.ts <version> ./tmp/SHA256SUMS Formula/rulesync.rbEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 1,263 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
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.
Use the draft-release skill with new_version.
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.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:
release/v<version> branch with the version-bump commits,main, andv<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.
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:
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.
Wait for the release PR's GitHub Actions checks to finish:
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.
pnpm cicheck locally, commit, and push), then wait for the re-run.
Never proceed to the merge while any check is fail or pending.If any fix commit beyond the draft-release skill's own version-bump commits was
pushed, stop before merging and report the extra commits to the user for
confirmation. The release PR must reach the merge step containing only
reviewed, expected content.
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.
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.
Wait for the Publish Assets run triggered by the merge to complete:
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.
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:
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.
Regenerate the formula from the released checksums:
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
If git diff --quiet -- Formula/rulesync.rb reports no change, the formula
is already up to date — skip ahead to the final report.
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):
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.
Report to the user:
Publish workflow, which Step 5 waits for).Alternatives
github/awesome-copilot
Use this skill whenever the user mentions IP geolocation feeds, RFC 8805, geofeeds, or wants help creating, tuning, validating, or publishing a self-published IP geolocation feed in CSV format. Intended user audience is a network operator, ISP, mobile carrier, cloud provider, hosting company, IXP, or satellite provider asking about IP geolocation accuracy, or geofeed authoring best practices. Helps create, refine, and improve CSV-format IP geolocation feeds with opinionated recommendations beyon
K-Dense-AI/scientific-agent-skills
Build, inspect, test, and analyze bounded process-based discrete-event simulations with SimPy, including events, resources, interrupts, monitoring, replications, warm-up, and reproducible output analysis.
github/awesome-copilot
Review the implementation source code of MCP (Model Context Protocol) servers, clients, and tool handlers against a security baseline — authentication, sessions, rate limiting, input-schema validation, official-SDK usage, RCE vectors, and the OWASP MCP Top 10 — producing a report with file/line evidence. Use this skill when: - Reviewing an MCP server implementation for security before release - Checking a server against the baseline controls (MCP-01 to MCP-05) and the OWASP MCP Top 10 - Auditing
github/awesome-copilot
Guides IA through releasing a new version of a GitHub library end-to-end. Handles SemVer versioning and Keep a Changelog formatting automatically.