Skip to content

Extract release workflow into a standalone repository - #36

Merged
ether-moon merged 1 commit into
mainfrom
ether_karrot/extract-release-workflow
Aug 4, 2026
Merged

Extract release workflow into a standalone repository#36
ether-moon merged 1 commit into
mainfrom
ether_karrot/extract-release-workflow

Conversation

@ether-moon

@ether-moon ether-moon commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • remove bumping-version, its release runner, deterministic tests, and behavioral evals from the core skill-set plugin
  • list ether-moon/release-workflow as an external marketplace plugin with an independent version cycle
  • update the marketplace README, changelog, generated inventory, eval catalog, safety contract, and core tests for the 10-skill package

Why

Semantic-version release automation has a narrower audience and a higher-risk publication boundary than the general development workflow skills. Moving it to a standalone repository lets users opt in explicitly and allows its runner, policy, tests, and releases to evolve independently.

Users who relied on the former bundled skill should install release-workflow separately after this change.

Standalone repository

Validation

  • plugins/skill-set/scripts/generate-inventory --check
  • plugins/skill-set/scripts/generate-trigger-evals --check
  • plugins/skill-set/scripts/validate-evals --require-trigger-matrix
  • plugins/skill-set/scripts/validate-references
  • plugins/skill-set/tests/run.sh
  • claude plugin validate --strict plugins/skill-set
  • claude plugin validate --strict .
  • git diff --check

Summary by CodeRabbit

  • New Features

    • Added an optional release workflow plugin for semantic-version preparation, isolated release commits, publication approval, and push-safety checks.
    • Repositioned the project as a marketplace with a separately installable core plugin.
  • Documentation

    • Updated marketplace, installation, versioning, inventory, requirements, and release documentation.
  • Refactor

    • Removed built-in version-bumping and release automation from the core plugin.
    • Core inventory is now reduced to 10 skills.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The marketplace now includes an external release-workflow plugin. The core plugin removes bumping-version, its release runner, evaluation cases, and related safety contracts. Documentation, inventory generation, and tests now reflect 10 core skills.

Changes

Release workflow externalization

Layer / File(s) Summary
Marketplace and documentation updates
.claude-plugin/marketplace.json, AGENTS.md, CHANGELOG.md, README.md
The marketplace adds release-workflow. Documentation identifies the 10-skill core plugin and provides external release-workflow installation and migration guidance.
Core release automation removal
plugins/skill-set/skills/bumping-version/*, plugins/skill-set/bin/skill-set-release, plugins/skill-set/evals/bumping-version/*, plugins/skill-set/evals/safety-contract.json, plugins/skill-set/evals/trigger-cases.json, plugins/skill-set/tests/test-release-runner.sh
The bumping-version skill, release runners, release evaluation cases, safety policies, trigger cases, and integration test are deleted.
Inventory and validation alignment
plugins/skill-set/scripts/*, plugins/skill-set/tests/expected-inventory.json, plugins/skill-set/tests/test-portable-runner-layout.sh, plugins/skill-set/tests/test-testing-skill.sh
Inventory and evaluation validation now expect three mutation skills and 10 integrated skills. Portable-runner tests cover the remaining Git and PR runners.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes extracting the release workflow into a standalone repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ether_karrot/extract-release-workflow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ether-moon
ether-moon marked this pull request as ready for review August 4, 2026 07:44
@ether-moon
ether-moon merged commit 0c63702 into main Aug 4, 2026
1 of 2 checks passed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 81-85: Update the README installation flow for release-workflow to
first register the skill-set marketplace, then install the plugin using its
marketplace-qualified name rather than the direct name. Verify the documented
commands work on the supported Claude Code version.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 957d51c6-454d-45da-b8c3-86adadc756f1

📥 Commits

Reviewing files that changed from the base of the PR and between 18b8a30 and 96bdadb.

📒 Files selected for processing (48)
  • .claude-plugin/marketplace.json
  • AGENTS.md
  • CHANGELOG.md
  • README.md
  • plugins/skill-set/bin/skill-set-release
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/case.yaml
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/.claude-plugin/plugin.json
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/.eval-hooks/post-commit
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/CHANGELOG.md
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/recent-commits.txt
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/scaffold.sh
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/graders/functional-contract.md
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/prompt.md
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/case.yaml
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/.eval-hooks/post-commit
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/CHANGELOG.md
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/package.json
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/recent-commits.txt
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/scaffold.sh
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/graders/functional-contract.md
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/prompt.md
  • plugins/skill-set/evals/bumping-version/trigger-negative-01/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-02/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-03/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-04/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-05/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-06/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-07/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-08/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-01/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-02/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-03/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-04/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-05/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-06/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-07/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-08/case.yaml
  • plugins/skill-set/evals/safety-contract.json
  • plugins/skill-set/evals/trigger-cases.json
  • plugins/skill-set/scripts/generate-inventory
  • plugins/skill-set/scripts/validate-evals
  • plugins/skill-set/skills/bumping-version/SKILL.md
  • plugins/skill-set/skills/bumping-version/scripts/skill-set-release
  • plugins/skill-set/tests/expected-inventory.json
  • plugins/skill-set/tests/test-eval-layout.sh
  • plugins/skill-set/tests/test-portable-runner-layout.sh
  • plugins/skill-set/tests/test-release-runner.sh
  • plugins/skill-set/tests/test-testing-skill.sh
💤 Files with no reviewable changes (39)
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/.claude-plugin/plugin.json
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/recent-commits.txt
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/CHANGELOG.md
  • plugins/skill-set/evals/bumping-version/trigger-negative-02/case.yaml
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/graders/functional-contract.md
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/graders/functional-contract.md
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/package.json
  • plugins/skill-set/evals/bumping-version/trigger-negative-04/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-08/case.yaml
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/CHANGELOG.md
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/recent-commits.txt
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/.eval-hooks/post-commit
  • plugins/skill-set/evals/bumping-version/trigger-positive-08/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-01/case.yaml
  • plugins/skill-set/bin/skill-set-release
  • plugins/skill-set/evals/bumping-version/trigger-positive-05/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-03/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-02/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-03/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-05/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-06/case.yaml
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/prompt.md
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/.eval-hooks/post-commit
  • plugins/skill-set/evals/bumping-version/trigger-negative-06/case.yaml
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/fixtures/scaffold.sh
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/prompt.md
  • plugins/skill-set/evals/bumping-version/trigger-positive-07/case.yaml
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/fixtures/scaffold.sh
  • plugins/skill-set/evals/trigger-cases.json
  • plugins/skill-set/evals/bumping-version/patch-bump-package-json/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-positive-04/case.yaml
  • plugins/skill-set/evals/safety-contract.json
  • plugins/skill-set/tests/test-eval-layout.sh
  • plugins/skill-set/skills/bumping-version/SKILL.md
  • plugins/skill-set/evals/bumping-version/minor-bump-plugin-json/case.yaml
  • plugins/skill-set/evals/bumping-version/trigger-negative-07/case.yaml
  • plugins/skill-set/tests/test-release-runner.sh
  • plugins/skill-set/skills/bumping-version/scripts/skill-set-release
  • plugins/skill-set/evals/bumping-version/trigger-negative-01/case.yaml

Comment thread README.md
Comment on lines +81 to +85
Install it separately with:

```bash
/plugin install release-workflow
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repo files =="
git ls-files | sed -n '1,120p'

echo "== README context =="
if [ -f README.md ]; then
  nl -ba README.md | sed -n '1,140p'
fi

echo "== search release-workflow and marketplace references =="
rg -n "release-workflow|skill-set|mcp|plugin install|plugin marketplace" .

Repository: ether-moon/skill-set

Length of output: 8020


🌐 Web query:

Claude Code plugins marketplace install marketplace add qualify plugin name release-workflow skill-set

💡 Result:

To work with plugins, marketplaces, and release workflows in Claude Code, follow these guidelines. Claude Code uses an extensible plugin system where plugins bundle skills, tools, and MCP servers into a single, installable unit [1][2][3]. How to Manage Marketplaces and Plugins Marketplaces are catalogs of plugins [2]. The official Anthropic marketplace (claude-plugins-official) is typically registered automatically [2][4]. 1. To add a marketplace: Run /plugin marketplace add <owner/repo> [2][5]. A marketplace is simply a Git repository containing a.claude-plugin/marketplace.json file [3][4]. 2. To install a plugin: Use /plugin install @ [6][5]. You can also browse and install interactively by running the /plugin command [4][5]. 3. To update: If a plugin is not found, ensure your marketplace is up to date by running /plugin marketplace update [2][4]. Release Workflow Plugins There are various community plugins designed to automate release workflows, such as semantic versioning, changelog generation, and tag creation [7][8][9]. Examples include: - Release Toolkit (formerly Changelog Plugin): Often uses the release: namespace for commands like /release:release to increment versions, commit, and tag [7]. - Custom Release Skills: Some plugins provide commands such as /release, /release-prepare, or /release-status [8][9]. Note that when installed via a marketplace, these commands are often prefixed (e.g., /git-workflow:release) to avoid collisions [9]. Always check the specific documentation (usually the README.md) of the plugin you are installing, as command namespaces and required configuration vary by author [7][8][9]. You can manage installed plugins and view their enabled skills using the interactive /plugin menu [4][5].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
export LC_ALL=C

echo "== README lines 60-95 =="
awk '{printf "%6d\t%s\n", NR, $0}' README.md | sed -n '60,95p'

echo "== marketplace/plugin metadata =="
for f in .claude-plugin/marketplace.json plugins/skill-set/.claude-plugin/plugin.json; do
  if [ -f "$f" ]; then
    echo "-- $f --"
    awk '{printf "%6d\t%s\n", NR, $0}' "$f"
  fi
done

echo "== all release-workflow references =="
rg -n "release-workflow|skill-set|marketplace|/plugin" README.md .claude-plugin plugins/skill-set .claude 2>/dev/null || true

Repository: ether-moon/skill-set

Length of output: 49505


Make the external-plugin installation flow complete.

release-workflow is listed in the skill-set marketplace, but README.md instructs users to install it directly. Add the marketplace registration and use the marketplace-qualified plugin name:

Proposed documentation update
- /plugin install release-workflow
+ /plugin marketplace add ether-moon/skill-set
+ /plugin install release-workflow@skill-set

Verify this flow on the supported Claude Code version before merge.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Install it separately with:
```bash
/plugin install release-workflow
```
Install it separately with:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 81 - 85, Update the README installation flow for
release-workflow to first register the skill-set marketplace, then install the
plugin using its marketplace-qualified name rather than the direct name. Verify
the documented commands work on the supported Claude Code version.

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.

1 participant