Skip to content

chore: per-skill releases#97

Merged
Rodriguespn merged 18 commits into
mainfrom
feat/per-skill-releases
Jun 2, 2026
Merged

chore: per-skill releases#97
Rodriguespn merged 18 commits into
mainfrom
feat/per-skill-releases

Conversation

@Rodriguespn

@Rodriguespn Rodriguespn commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

Switches the release model from a single monorepo release to a multi-package setup where each skill is versioned independently, while keeping a single root release.

Each skill package gets its own release-please entry. When a skill's files change, Release Please opens a release PR that bumps only that skill's metadata.version in SKILL.md and generates a per-skill CHANGELOG.md. We setup skip-github-release: true so no GitHub release is created for skill packages.

The unchanged skills are never bumped.

A single GitHub release is created at the root level.

Closes AI-780

Rodriguespn and others added 2 commits May 27, 2026 23:27
…elease

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Rodriguespn Rodriguespn force-pushed the feat/per-skill-releases branch from f1dbc31 to 8dd7899 Compare May 27, 2026 22:28
Rodriguespn and others added 13 commits May 27, 2026 23:34
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
… step

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…r index.json URLs

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…racking

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Rodriguespn Rodriguespn changed the title feat: per-skill releases — each skill gets its own versioned GitHub release feat: per-skill releases May 28, 2026
@Rodriguespn Rodriguespn marked this pull request as ready for review May 28, 2026 10:36
@Rodriguespn Rodriguespn self-assigned this May 28, 2026
@Rodriguespn Rodriguespn requested a review from gregnr May 28, 2026 15:16
@Rodriguespn Rodriguespn changed the title feat: per-skill releases chore: per-skill releases May 28, 2026

@gregnr gregnr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Rodriguespn dug into this a bit and I have a proposal - skip the per-skill releases, and keep just the single bundled root-level release. This eliminates the draft + force tag song and dance, since ultimately we don't really need GitHub releases per-skill anyway. What we care about is separate versions per skill.

I did a bit of research and it looks like this setup should be possible with release-please:

  1. Keep the manifest mode with per-skill versions + root version
  2. In release-please-config.json
    a. Set skip-github-release: true for each of the skills (but not root)
    b. Set per-skill changelog.md paths, e.g. skills/{name}/CHANGELOG.md
    c. Turn off changelog.md for root, skip-changelog: true

In the end we get nice per-changelog files committed with each skill, but only a single central release for the bundle.

Rodriguespn and others added 3 commits June 1, 2026 12:02
… suggestion

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Rodriguespn

Rodriguespn commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator Author

@Rodriguespn dug into this a bit and I have a proposal - skip the per-skill releases, and keep just the single bundled root-level release. This eliminates the draft + force tag song and dance, since ultimately we don't really need GitHub releases per-skill anyway. What we care about is separate versions per skill.

I did a bit of research and it looks like this setup should be possible with release-please:

  1. Keep the manifest mode with per-skill versions + root version
  2. In release-please-config.json
    a. Set skip-github-release: true for each of the skills (but not root)
    b. Set per-skill changelog.md paths, e.g. skills/{name}/CHANGELOG.md
    c. Turn off changelog.md for root, skip-changelog: true

In the end we get nice per-changelog files committed with each skill, but only a single central release for the bundle.

That works even better, thanks for the suggestion @gregnr 💯
Any reason to skip the root level changelog? I understand that the info is already in the per skill changelog but since we have one single release, I find it useful to have a main changelog where we can check the changes between releases without having to navigate the each skill changelog. What are your thoughts on this?

@Rodriguespn Rodriguespn requested a review from gregnr June 1, 2026 15:11
@gregnr

gregnr commented Jun 1, 2026

Copy link
Copy Markdown
Member

Latest changes LGTM

Any reason to skip the root level changelog?

Since CHANGELOG.md is committed to the repo, to me it's cleaner to keep these isolated to each skill vs. duplicate the combined content again at the root. There will still be the root-level bundled changes on the GitHub release itself.

@Rodriguespn Rodriguespn merged commit 950091d into main Jun 2, 2026
4 checks passed
@Rodriguespn Rodriguespn deleted the feat/per-skill-releases branch June 2, 2026 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants