agentleFS
iamvicliuiamvicliu/AgentHub/.agents/skills/release-all/SKILL.md

release-all

Skill80 starsChanged 4 months agoMITView on GitHub

Publish the complete Spool release train: synchronized versions, desktop artifacts, npm packages, and the production web deployment.

We split this skill into the rules it gives an agent

9 rules. 0 are common, 3 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Treat a Spool release as a release train: one version must reach every target defined by the repository.

    line 10
  2. Distinctive:

    Run the preflight checks before changing files:

    line 28
  3. Very specific:

    every non-automatic secret referenced by the release workflow appears in gh secret list

    line 48
  4. Very specific:

    If the repository instead shows evidence of an interrupted release—such as a release: v… commit or matching local tag—read RECOVERY.md and …

    line 51
  5. Distinctive:

    Use a timeout long enough for GitHub Actions to build, sign, notarize, publish, and return.

    line 65
  6. Very specific:

    If any command fails after launch begins, continue the same version through RECOVERY.md.

    line 67
  7. Distinctive:

    Verify against the target map from step 1:

    line 85
  8. Very specific:

    Every manifest changed by release.sh contains the new version.

    line 87
  9. Very specific:

    Every npm publish target resolves at the new version with npm view <name>@<version> version.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Release All

Treat a Spool release as a release train: one version must reach every target defined by the repository. scripts/release.sh, .github/workflows/release.yml, and .github/workflows/deploy-web.yml are the sources of truth.

Invoking this skill authorizes the version commit, tag, push, package publication, GitHub release, and production deployment. Proceed without another confirmation after the gates pass.

1. Map the train

From the repository root, read the three source-of-truth files above. Interpret $ARGS as follows:

  • empty or patch → patch release
  • minor → minor release
  • any other value → stop and state the supported values

Derive the current version, next version, tag, manifests changed by the release script, npm publish targets, expected release assets, and required repository secrets. Do not maintain a second hard-coded target list in this skill.

This step is complete when every derived target has a concrete verification check for the next version.

2. Gate the departure

Run the preflight checks before changing files:

git fetch origin main --tags
git branch --show-current
git status --porcelain
git rev-parse HEAD
git rev-parse origin/main
command -v gh
command -v jq
gh auth status
gh secret list --json name --jq '.[].name'

Require all of these conditions:

  • the branch is main
  • the worktree is clean
  • local HEAD equals origin/main
  • gh is authenticated and jq is available
  • every non-automatic secret referenced by the release workflow appears in gh secret list
  • the predicted tag is absent locally and on origin

If the repository instead shows evidence of an interrupted release—such as a release: v… commit or matching local tag—read RECOVERY.md and resume that version. For any other failed gate, stop with the exact condition and one remediation.

This step is complete only when every gate passes or a verified interrupted release has entered recovery.

3. Launch once

Record the predicted version and tag, then run exactly one command:

./scripts/release.sh --patch
# or
./scripts/release.sh --minor

Use a timeout long enough for GitHub Actions to build, sign, notarize, publish, and return. After it exits, record the release commit from git rev-parse HEAD.

If any command fails after launch begins, continue the same version through RECOVERY.md. release.sh runs once per release attempt because another invocation would bump a second version.

This step is complete when the exact-tag Release workflow concludes successfully.

4. Wait for production web

The release commit's push to main starts Deploy Web independently. Poll for the run whose headSha equals the recorded release commit, then watch it:

gh run list --workflow=deploy-web.yml --commit "$RELEASE_COMMIT" \
  --limit 1 --json databaseId,headSha,status,conclusion,url
gh run watch "$WEB_RUN_ID" --exit-status

Poll for up to 60 seconds before treating a missing run as a recovery case. This step is complete when that exact-commit deployment succeeds.

5. Verify every carriage

Verify against the target map from step 1:

  1. Every manifest changed by release.sh contains the new version.
  2. origin/main contains the release commit and the remote tag resolves to it.
  3. The exact-tag Release workflow succeeded.
  4. The GitHub release exists and contains every artifact class uploaded by the workflow.
  5. Every npm publish target resolves at the new version with npm view <name>@<version> version. Retry registry reads for up to two minutes.
  6. Deploy Web succeeded for the release commit.

The release is complete only when all six checks pass. Report a compact table with the version/tag, GitHub release URL, Release workflow URL, npm packages, and Deploy Web URL. If a check remains red, report which carriages are already published and the exact resume action; never describe a partial release as complete.

Download now (ZIP)

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 2

    1. spool-lab/spool★ 59285% same
    2. paperboytm/spool★ 59085% same

    Wrote their own version · 2

    1. duobaseio/forui★ 2.4ksame name
    2. forus-labs/forui★ 2.4ksame name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository6 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.