agentleFS
OpenSource03OpenSource03/harnss/.agents/skills/release/SKILL.md

release

Skill363 starsChanged 7 months agoMITView on GitHub

Run the Harnss release workflow — review staged diff, bump version, commit, tag, push, and create a GitHub release. Use when releasing, bumping version, tagging, or creating a release. Argument: major, minor, or patch.

  • Reads credentials
  • Installs packages
  • Commits and pushes

196 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use create-agent-adapter, changelog-style and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • MicrosoftSkill

    create-agent-adapter

    Technical guide for creating a new Paperclip agent adapter. Use when building a new adapter package, adding support for a new AI coding tool (e.g. a new CLI agent, API-based agent, or custom process), or when modifying the adapter system. Covers the required interfaces, module structure, registration points, and conventions derived from the existing claude-local and codex-local adapters.

    Also in 5 projects that use this

  • GrinvSkill

    changelog-style

    Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR or cutting a release, to write/fix the [Unreleased] section's entries — moving [Unreleased] under a new dated version heading is a separate, automated step (see the release skill / scripts/sync-version.ts), not this skill's job.

    Also in 4 projects that use this

  • GrinvSkill

    docs-consistency-check

    Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.

    Also in 4 projects that use this

  • Microsoft AzureSkill

    component-release

    Prepares a verifiable Agent Landing Zone UI release. Use for release branches, VERSION, changelog entries, tags, release notes, and compatibility evidence; never publish without explicit human approval.

    Also in 4 projects that use this

  • Microsoft AzureSkill

    documentation-consistency

    Keeps AI Landing Zone contributor, user, and operator documentation aligned with shipped Bicep behavior. Use for parameters, defaults, outputs, topology, deployment flow, operations, or releases.

    Also in 8 projects that use this

  • rivet-devSkill

    launch-graphics

    Generate agentOS marketing/launch graphics (launch & social heroes, code-snippet cards) from the committed generators in docs-internal/graphics. Use when asked to make, update, or render an agentOS launch image, social image, "agentOS Apps" graphic, or technical code-snippet image.

    Also in 3 projects that use this

  • +3 more from Grinv

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 10 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 186 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

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

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

    Run the full release pipeline.

    line 8
  2. Distinctive:

    Run these commands and read every line of output:

    line 12
  3. Distinctive:

    If the diff is too large to read in one shot, read it in chunks (e.g., per-directory or line ranges).

    line 20
  4. Very specific:

    Test files, scratch files, temp files, debug artifacts (e.g., test-*.ts, scratch.*, *.tmp, random-*.md)

    line 23
  5. Distinctive:

    If you find any:

    line 26
  6. Distinctive:

    If there are no staged changes but unstaged changes exist, ask the user if they want to stage anything first.

    line 30
  7. Distinctive:

    If the working tree is completely clean (nothing to release), tell the user and stop.

    line 31
  8. Very specific:

    Read the current version from package.json (the "version" field)

    line 37
  9. Very specific:

    If $ARGUMENTS is empty or invalid, ask the user which bump type they want

    line 44
  10. Distinctive:

    If the SDK was updated, also run:

    line 58
  11. Very specific:

    Use fix: instead of feat: if all changes are bug fixes.

    line 80
  12. Distinctive:

    If the SDK was also updated:

    line 90
  13. Distinctive:

    If push fails, report the error and stop.

    line 116
  14. Distinctive:

    Read the full diff and commit log since the previous release:

    line 128
  15. Distinctive:

    Read ALL of this output. For the full diff, read it in chunks if needed — every line matters for writing accurate release notes.

    line 136

“Common” is measured: kept by at least 6 in 10 of the 186 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

Harnss Release Workflow

Run the full release pipeline. Bump type is passed as $ARGUMENTS (major, minor, or patch).

Step 1: Pre-flight Checks

Run these commands and read every line of output:

git status
git diff --cached --stat
git diff --cached

If the diff is too large to read in one shot, read it in chunks (e.g., per-directory or line ranges). You must read the entire diff before proceeding.

Review for:

  • Test files, scratch files, temp files, debug artifacts (e.g., test-*.ts, scratch.*, *.tmp, random-*.md)
  • Files that shouldn't be committed (.env, credentials, large binaries)

If you find any:

  • Unstage or remove them
  • Tell the user what you removed

If there are no staged changes but unstaged changes exist, ask the user if they want to stage anything first. If the working tree is completely clean (nothing to release), tell the user and stop.

Step 2: Version Bump

Determine new version

  1. Read the current version from package.json (the "version" field)
  2. Get the latest tag: git tag --sort=-v:refname | head -1
  3. Parse the current version as MAJOR.MINOR.PATCH
  4. Apply the bump type from $ARGUMENTS:
    • major → (MAJOR+1).0.0
    • minor → MAJOR.(MINOR+1).0
    • patch → MAJOR.MINOR.(PATCH+1)
  5. If $ARGUMENTS is empty or invalid, ask the user which bump type they want

Check for SDK updates

npm view @anthropic-ai/Codex-agent-sdk version

Compare with the version in package.json under dependencies["@anthropic-ai/Codex-agent-sdk"] (strip the ^ prefix for comparison). If a newer version exists, update the dependency version (keep the ^ prefix) and tell the user.

Apply changes

  1. Edit package.json to set the new version number
  2. Stage it: git add package.json
  3. If the SDK was updated, also run:
    pnpm install
    git add package.json pnpm-lock.yaml

Step 3: Commit

Choose the commit message based on what's staged:

Feature/fix changes staged (not just version bump)

feat: short summary (2-4 key themes)

- Change description 1
- Change description 2
- ...

Co-Authored-By: Codex Opus 4.6 (1M context) <noreply@anthropic.com>

Use fix: instead of feat: if all changes are bug fixes.

Only version bump staged

chore: bump version to X.Y.Z

Co-Authored-By: Codex Opus 4.6 (1M context) <noreply@anthropic.com>

If the SDK was also updated:

chore: bump version to X.Y.Z and update Codex-agent-sdk to A.B.C

Co-Authored-By: Codex Opus 4.6 (1M context) <noreply@anthropic.com>

Always use a HEREDOC

git commit -m "$(cat <<'EOF'
<message here>

Co-Authored-By: Codex Opus 4.6 (1M context) <noreply@anthropic.com>
EOF
)"

Step 4: Tag & Push

git tag vX.Y.Z HEAD
git push origin master && git push origin vX.Y.Z

If push fails, report the error and stop.

Step 5: GitHub Release

Gather context

Get the previous release tag:

git tag --sort=-v:refname | head -2 | tail -1

Read the full diff and commit log since the previous release:

git log v{prev}...HEAD --oneline
git diff v{prev}...HEAD --stat
git diff v{prev}...HEAD

Read ALL of this output. For the full diff, read it in chunks if needed — every line matters for writing accurate release notes.

Write release notes

Load the template from references/release-notes-template.md and follow its format exactly.

Create the release

gh release create vX.Y.Z --title "vX.Y.Z — Short Descriptive Phrase" --notes "$(cat <<'EOF'
<release notes>
EOF
)"

The title uses an em dash (—), not a hyphen.

Output the release URL when done so the user can verify.

Important Notes

  • Never skip reading the full diff in Step 1. Every line matters.
  • The Co-Authored-By trailer is mandatory on every commit.
  • Repo: https://github.com/OpenSource03/harnss
  • Main branch: master
  • Changelog URL format: https://github.com/OpenSource03/harnss/compare/v{prev}...v{current}
  • Package manager: pnpm (never use npm or yarn for installs)

Download now (ZIP)

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.