agentleFS
jarosser06jarosser06/drift/.claude/skills/release/skill.md

release

Skill1 starsChanged 11 months agoMITView on GitHub

Expert in PyPI package releases for ai-drift including SemVer version bumping, CHANGELOG.md maintenance, git tagging, and automated GitHub Actions publishing. Use when releasing a new version to PyPI or managing package distribution.

  • 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

14 rules. 0 are common, 9 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 186 edited versions we read keep these.

  • 9

    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. Distinctive:

    Determine bump type: Ask the user which type of version bump to perform:

    line 12
  2. Very specific:

    Update version in pyproject.toml

    line 18
  3. Very specific:

    IMPORTANT: Only include changes to the actual package code (src/, tests/, scripts/, pyproject.toml, etc.).

    line 26
  4. Very specific:

    MANDATORY - Update changelog: Run ./scripts/update-changelog.sh {version} "{description}" to add the entry to CHANGELOG.md

    line 41
  5. Distinctive:

    Commit changes: Create a commit with the version bump:

    line 46
  6. Distinctive:

    Create git tag: Create an annotated tag for the release:

    line 52
  7. Distinctive:

    Confirm push: Ask the user if they want to push the commit and tag now.

    line 57
  8. Distinctive:

    Push if confirmed: If the user confirms, push both the commit and tags:

    line 59
  9. Distinctive:

    Verify CI tests passed on the tagged commit

    line 65
  10. Distinctive:

    Create a GitHub Release with:

    line 68
  11. Distinctive:

    Wait for the tag push to complete

    line 75
  12. Very specific:

    Run ./distro.sh push --test for TestPyPI (optional)

    line 78
  13. Very specific:

    Run ./distro.sh push for production PyPI

    line 79
  14. Distinctive:

    Always verify the git diff before committing

    line 86

“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

Release Skill

Guide the user through the process of releasing a new version of the ai-drift package to PyPI.

Process

  1. Determine bump type: Ask the user which type of version bump to perform:
    • major - Breaking changes (e.g., 1.0.0 → 2.0.0)
    • minor - New features, backward compatible (e.g., 0.1.0 → 0.2.0)
    • patch - Bug fixes, backward compatible (e.g., 0.1.1 → 0.1.2)
  2. MANDATORY - Run bump-version script: Execute ./scripts/bump-version.sh {bump_type} --no-changelog to:
    • Update version in pyproject.toml
    • Capture the new version number from stdout
    • YOU MUST USE THIS SCRIPT - DO NOT MANUALLY EDIT pyproject.toml
  3. Show version change: Display the version change to the user (old → new)
  4. Ask for changelog description: Prompt the user to describe the changes in this release.

    IMPORTANT: Only include changes to the actual package code (src/, tests/, scripts/, pyproject.toml, etc.). DO NOT include:

    • Changes to .drift.yaml or .drift_rules.yaml (local config)
    • Changes to .claude/ directory (local config)
    • Changes to documentation files (docs/, README.md, CLAUDE.md)
    • Other local/project configuration changes

    Only include:

    • New features added to the package
    • Bugs fixed in the package code
    • Breaking changes (if major bump)
    • Changes to CLI options or behavior

    Format: Single line or bullet points

  5. MANDATORY - Update changelog: Run ./scripts/update-changelog.sh {version} "{description}" to add the entry to CHANGELOG.md
    • YOU MUST USE THIS SCRIPT - DO NOT MANUALLY EDIT CHANGELOG.md
  6. Show git diff: Display the changes made by running git diff so the user can review
  7. Commit changes: Create a commit with the version bump:
    git add .
    git commit -m "chore: release v{version}"
  8. Create git tag: Create an annotated tag for the release:
    git tag -a v{version} -m "Release v{version}"
  9. Confirm push: Ask the user if they want to push the commit and tag now.
  10. Push if confirmed: If the user confirms, push both the commit and tags:
    git push && git push --tags
  11. Inform about automation: Let the user know that pushing the tag will automatically trigger GitHub Actions to:
    • Verify CI tests passed on the tagged commit
    • Build distribution packages (wheel and source)
    • Publish to PyPI using trusted publishing
    • Create a GitHub Release with:
      • Changelog from CHANGELOG.md
      • Installation instructions
      • Distribution files attached
    • They can monitor progress in the Actions tab: https://github.com/jarosser06/drift/actions
  12. Manual alternative: Inform that if they prefer to publish manually instead:
    • Wait for the tag push to complete
    • Cancel the GitHub Actions workflow if it starts
    • Run ./distro.sh build --clean
    • Run ./distro.sh push --test for TestPyPI (optional)
    • Run ./distro.sh push for production PyPI

Important Notes

  • The version format is MAJOR.MINOR.PATCH (SemVer)
  • Tags use the format v{version} (e.g., v0.2.0)
  • The bump-version script updates pyproject.toml automatically
  • Always verify the git diff before committing
  • PyPI does not allow replacing versions - must bump to publish updates
  • The PyPI package page will automatically update with new README content
  • GitHub Actions uses trusted publishing to PyPI (no tokens needed)
  • The release workflow will fail if CI tests didn't pass on the tagged commit

Example Flow

User: /release
Assistant: Which type of version bump do you want to perform?
- major (breaking changes)
- minor (new features)
- patch (bug fixes)

User: minor
Assistant: [Runs ./scripts/bump-version.sh minor --no-changelog]
Bumping version: 0.1.1 → 0.2.0

Please describe the changes in this release:

User: Added support for X, fixed bug in Y
Assistant: [Runs ./scripts/update-changelog.sh 0.2.0 "Added support for X, fixed bug in Y"]
[Shows git diff]

Ready to commit and tag? (yes/no)

User: yes
Assistant: [Creates commit and tag]
Do you want to push now? (yes/no)

User: yes
Assistant: [Pushes commit and tags]

Do you want to build and publish to PyPI now? (yes/no)

User: yes
Assistant: [Runs ./distro.sh build --clean]
Do you want to test on TestPyPI first? (yes/no)

User: no
Assistant: [Runs ./distro.sh push]
Release v0.2.0 has been published to PyPI!

You can create a GitHub Release at:
https://github.com/jarosser06/drift/releases/new

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.