Herdr Pre-Release Audit
herdrdev/herdr
Audit herdr release readiness by comparing commits since the base release against next-release changelog and docs. Use when asked to run or apply the repo's…
A skill your agent uses when releasing a bundle-plugin, bumping versions, fixing version drift across manifests, setting up version sync infrastructure, updating CHANGELOG, publishing to…
$ npx skills add OdradekAI/bundles-forge --skill releasing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OdradekAI/bundles-forge releasing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/OdradekAI/bundles-forge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/releasing .claude/skills/releasing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "releasing" agent skill from https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasing into .claude/skills/releasing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "releasing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add OdradekAI/bundles-forge --skill releasing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OdradekAI/bundles-forge releasing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OdradekAI/bundles-forge.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/releasing .agents/skills/releasing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "releasing" agent skill from https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasing into .agents/skills/releasing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "releasing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add OdradekAI/bundles-forge --skill releasing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OdradekAI/bundles-forge releasing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OdradekAI/bundles-forge.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/releasing .cursor/skills/releasing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "releasing" agent skill from https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasing into .cursor/skills/releasing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "releasing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/OdradekAI/bundles-forge.git --path skills/releasing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add OdradekAI/bundles-forge --skill releasing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OdradekAI/bundles-forge releasing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OdradekAI/bundles-forge.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/releasing .gemini/skills/releasing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "releasing" agent skill from https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasing into .gemini/skills/releasing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "releasing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install OdradekAI/bundles-forge releasingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add OdradekAI/bundles-forge --skill releasing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OdradekAI/bundles-forge.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/releasing .github/skills/releasing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "releasing" agent skill from https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasing into .github/skills/releasing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "releasing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add OdradekAI/bundles-forge --skill releasing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OdradekAI/bundles-forge releasing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OdradekAI/bundles-forge.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/releasing .opencode/skills/releasing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "releasing" agent skill from https://github.com/OdradekAI/bundles-forge/tree/main/skills/releasing into .opencode/skills/releasing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "releasing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
releasingA skill your agent uses when releasing a bundle-plugin, bumping versions, fixing version drift across manifests, setting up version sync infrastructure, updating CHANGELOG, publishing to…
Releasing is an agent skill from OdradekAI/bundles-forge. Use when releasing a bundle-plugin, bumping versions, fixing version drift across manifests, setting up version sync infrastructure, updating CHANGELOG, publishing to marketplaces, or checking release readiness
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/distribution-strategy.md`, `references/version-infrastructure.md` and `scripts/bump_version.py`).
It sits in Development, covering Changelog and release notes and Feature launches and release readiness. The repository describes itself as: An agentic skills framework & bundle-plugin engineering toolkit that works. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c1b0e10. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(bundles-forge bump-version *)Bash(bundles-forge audit-plugin *)Bash(bundles-forge audit-docs *)From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
gitghclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comAlso links to:
keepachangelog.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Releasing loads about 3.3k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 55 tokens; SKILL.md has 1,473 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from OdradekAI/bundles-forge at commit c1b0e10, republished under its Apache-2.0 licence (© OdradekAI). 1,473 words, ~3,260 tokens.
.claude/skills/releasing/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Orchestrate the complete release workflow for a bundle-plugin: verify quality, scan for security risks, check documentation consistency, review change coherence, test locally, bump versions, update documentation, and publish to target platforms.
Core principle: Release is a checkpoint, not a formality. Every release deserves the full pipeline — even "minor" version bumps can introduce drift or break platform installs. Users should complete all agent, skill, and workflow development before invoking this skill.
Skill type: Rigid — follow every step exactly. Releases have no room for improvisation.
For version management infrastructure details (.version-bump.json schema, script usage, version setup for new projects), read references/version-infrastructure.md. For distribution strategy options, read references/distribution-strategy.md.
Announce at start: "I'm using the releasing skill to prepare this project for release."
| Context | Path |
|---|---|
| User wants to release a version, provides a project directory | Path 1: Standard release — run the full pipeline below |
| Urgent fix with small changes | Path 2: Hotfix release — run the abbreviated pipeline (see Hotfix Releases) |
| Project needs version infrastructure for the first time | Path 3: Version setup — read references/version-infrastructure.md § Version Setup |
0. Prerequisites → 1. Pre-flight Checks → 2. Address Findings
→ 3. Change Review & Doc Sync → 4. Local Testing
→ 5. Version Bump → 6. Release Notes
→ 7. Final Verification → 8. PublishVerify all conditions before entering the pipeline. Hard requirements block the pipeline; soft requirements trigger warnings.
Hard requirements (must pass):
skills/ directory and package.json)git status shows no uncommitted or unstaged changes. All development work (agents, skills, workflows) must be committed before releasing.Soft requirements (warn if missing):
.bundles-forge/audits/ — if not, releasing runs a full audit in Step 1main or master — if not, warn the user and ask for confirmation before proceedinggit tag -l v<version> to verifygit status
git tag -l v<version>
git branch --show-currentIf the working tree is dirty, instruct the user to commit all development work first. If the tag already exists, ask the user to choose a different version. If on a non-main branch, warn and ask for confirmation.
Run all automated checks. If any critical issues are found, resolve them before continuing.
bundles-forge bump-version <target-dir> --check
bundles-forge audit-docs <target-dir>Plugin validation (Claude Code only): If running in a Claude Code environment, run claude plugin validate (or /plugin validate in a session) to verify plugin.json schema, skill/agent/command frontmatter, and hooks/hooks.json validity. Skip this step on other platforms — the inspector agent covers equivalent structural checks.
Full audit: Invoke bundles-forge:auditing (preferred — includes qualitative assessment via auditor subagent with 10-category scoring). Fallback: bundles-forge audit-plugin <target-dir> (automated checks only, no qualitative scoring).
If audit status is FAIL, resolve critical issues before releasing. If security findings are critical, block the release.
Present all findings to the user grouped by severity:
For fixes, invoke bundles-forge:optimizing for quality issues.
This step requires AI judgment — it cannot be fully automated.
Change coherence review:
Read the diff from the last release tag to HEAD:
git diff $(git describe --tags --abbrev=0)..HEAD --stat
git diff $(git describe --tags --abbrev=0)..HEADIf no prior tags exist, use git log --oneline to identify the scope of changes.
Review all changed files for:
| Check | What to Look For | Severity |
|---|---|---|
| Contradictions | File A says "supports 5 platforms", file B says "supports 4 platforms" | Critical |
| Redundancy | Two SKILL.md files with large duplicated sections | Warning |
| Over-engineering | Complex abstraction for a simple feature, unnecessary indirection layers | Warning |
| Missing registrations | New skill added but not in bootstrap routing, AGENTS.md, or README tables | Critical |
| Stale references | Renamed skill but old name still used in prose | Critical |
Present findings as a blocking report using the same Critical/Warning/Info severity model as Step 2. Critical items must be resolved before proceeding.
Documentation update:
After resolving coherence issues, sync project documentation:
docs/ directory — Check each document references accurate skill names, script commands, and architecture descriptions. Fix any outdated content.CLAUDE.md — Verify: skill count in Directory Layout, skill names in Lifecycle Flow, scripts in Commands section, agents in Agent Dispatch, platform manifests table.AGENTS.md — Verify: Available Skills table matches skills/ directory.README.md and README.zh.md — Verify: Skills table, Agents table, Commands table, code blocks, and file links are consistent between both files and with the project state.Use bundles-forge audit-docs output from Step 1 as a guide for what needs updating. After making fixes, re-run bundles-forge audit-docs to confirm all documentation is consistent.
Before bumping the version, invoke bundles-forge:testing to verify the plugin works correctly in a real installation scenario:
If testing reveals critical issues, resolve them before proceeding to version bump.
For abbreviated hotfix releases, this step may be reduced to hook smoke tests only.
Help the user choose the right version increment:
| Change Type | Version Bump | Example |
|---|---|---|
| Breaking changes to skill behavior or structure | Major (X.0.0) | Renamed skills, changed workflow chain |
| New skills, new platform support, significant improvements | Minor (0.X.0) | Added a skill, added Gemini support |
| Bug fixes, description improvements, doc updates | Patch (0.0.X) | Fixed description, updated README |
| Testing a major release before stabilizing | Pre-release (X.Y.Z-beta.N) | 2.0.0-beta.1, 2.0.0-rc.1 |
Pre-release versions follow semver pre-release syntax. The bump script accepts any valid version string — pre-release versions work the same as stable ones across all manifests.
bundles-forge bump-version <target-dir> <new-version>This updates all declared files and runs an audit to catch any missed files. For the full command reference, read references/version-infrastructure.md.
CHANGELOG.md — Add an entry for the new version using Keep a Changelog format:
## [X.Y.Z] - YYYY-MM-DD
### Added
- New skill: `bundles-forge:authoring` for skill authoring guidance
### Changed
- Improved descriptions for better triggering accuracy
### Fixed
- Version drift in Cursor manifestCHANGELOG validation — After writing the entry, verify:
README.md — Update if the release adds/removes skills, changes the workflow, or adds platform support.
After all changes, re-run verification to confirm nothing broke:
bundles-forge bump-version <target-dir> --check
bundles-forge bump-version <target-dir> --audit
bundles-forge audit-docs <target-dir>Git + GitHub Release:
git add -A
git commit -m "release: v<version>"
git tag v<version>
git push origin main --tagsAfter pushing the tag, create a GitHub Release so the /releases page has release notes and notifies watchers:
gh release create v<version> --title "v<version>" --notes-file CHANGELOG-EXCERPT.mdGenerate CHANGELOG-EXCERPT.md from the current version's CHANGELOG.md section (the ## [X.Y.Z] block written in Step 6). Delete the excerpt file after gh release create succeeds. If gh CLI is unavailable, instruct the user to create the release manually from the GitHub web UI at https://github.com/<owner>/<repo>/releases/new?tag=v<version>.
Platform-specific publishing:
| Platform | Command |
|---|---|
| Claude Code | claude plugin publish (if marketplace-ready) |
| Cursor | Submit through Cursor plugin marketplace |
| Codex | Users pull from git — GitHub Release is sufficient |
| OpenCode | Users pull from git — GitHub Release is sufficient |
| Gemini CLI | Users install from git URL — GitHub Release is sufficient |
For urgent fixes between planned releases:
### Fixed section| Mistake | Fix |
|---|---|
| Releasing with uncommitted changes | Always verify git status is clean before starting the pipeline |
| Releasing without running audit | Always run full pipeline — "it's just a small change" is how drift happens |
| Skipping documentation consistency check | bundles-forge audit-docs catches skill list drift, broken cross-refs, README desync |
| Not reviewing changes for coherence | Read the full diff since last tag — contradictions and missing registrations are invisible to automated checks |
| Forgetting to tag the release | Tags are how git-based platforms identify versions |
| Only pushing a tag without creating a GitHub Release | Tags appear on /tags but not /releases — use gh release create to publish release notes and notify watchers |
| Bumping version before fixing issues | Fix first, bump second — avoid releasing a known-broken version |
| Skipping CHANGELOG update | Users need to know what changed, especially for breaking changes |
| Not re-verifying after fixes | Changes to fix issues can introduce new drift |
| Forgetting marketplace.json entry | plugins.0.version field needs tracking too |
| Manual editing without bump command | Always use bundles-forge bump-version — it runs audit after |
| Releasing from non-main branch without awareness | Not blocked, but should be an explicit decision |
project-directory (required) — bundle-plugin project root with committed skill content ready for releaseversion-tag — git tag (v<version>) for the releasechangelog-entry — CHANGELOG.md update with categorized changes (Added, Changed, Fixed)github-release (optional) — GitHub Release with release notes, created via gh release createCalls:
project-directory → project-directory (direct match — releasing passes the project root for audit)project-directory → project-directory (direct match)project-directory → audit-report (indirect — releasing passes audit findings, optimizing consumes them as audit-report)Pairs with:
© OdradekAI, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in skills/releasing of OdradekAI/bundles-forge.
Open the folder on GitHubat commit c1b0e10
Releasing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Releasing this skillOdradekAI/bundles-forge | 229 | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Herdr Pre-Release Auditherdrdev/herdr | 43k | — | ~289 | Automated safety check: Pass | Apache-2.0 | |
| Megaphone ReleaseKuberwastaken/megaphone | 170 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Create Release Checklistsoftware-mansion/smelter | 734 | — | ~1.9k | Automated safety check: Notes | Custom licence | |
| Upgrade Dear Imgui StackLatias94/dear-imgui-rs | 107 | — | ~977 | Automated safety check: Pass | Apache-2.0 | |
| Release CheckThank-you-Linus/Linus-Dashboard | 211 | — | ~637 | Automated safety check: Pass | MIT |
herdrdev/herdr
Audit herdr release readiness by comparing commits since the base release against next-release changelog and docs. Use when asked to run or apply the repo's…
Kuberwastaken/megaphone
Prepare, validate, publish, and verify Megaphone releases. An agent skill from Kuberwastaken/megaphone.
software-mansion/smelter
Generate a GitHub release-checklist issue for a full (non-RC) release of the Smelter server and/or the TypeScript SDK.
Latias94/dear-imgui-rs
A skill your agent uses when a user asks to upgrade Dear ImGui, cimgui, ImPlot, ImPlot3D, ImNodes, ImGuizmo, Dear ImGui Test Engine, or related bindings in this repository.
Thank-you-Linus/Linus-Dashboard
Check if project is ready for release with comprehensive pre-release validation.
ruby-git/ruby-git
Prepares and publishes new releases of the ruby-git gem including version bumps, changelog updates, tagging, and gem publishing.
OdradekAI/bundles-forge
A skill your agent uses when reviewing a bundle-plugin for structural issues, version drift, skill quality, workflow integration, or security risks — before releasing, after changes, or after adding…
OdradekAI/bundles-forge
A skill your agent uses when testing a bundle-plugin locally before release — generating dev-marketplace environments, verifying component discovery, running hook smoke tests, and validating…
OdradekAI/bundles-forge
A skill your agent uses when starting any conversation involving bundle-plugins — blueprinting, scaffolding, authoring, auditing, testing, optimizing, or releasing.
OdradekAI/bundles-forge
A skill your agent uses when optimizing a bundle-plugin or single skill — improving descriptions, reducing tokens, fixing audit findings, restructuring workflows, adding skills to fill gaps, or…
OdradekAI/bundles-forge
A skill your agent uses when generating project structure for new bundle-plugins, adding or removing platform support (Claude Code, Cursor, Codex, OpenCode, Gemini CLI, OpenClaw), updating platform…
OdradekAI/bundles-forge
A skill your agent uses when writing, completing, improving, or adapting SKILL.md and agents/.md in a bundle-plugin — integrating external skills, filling scaffolded stubs, or rewriting for better…
Categories
A skill your agent uses when releasing a bundle-plugin, bumping versions, fixing version drift across manifests, setting up version sync infrastructure, updating CHANGELOG, publishing to…. Releasing is an agent skill from OdradekAI/bundles-forge.
Releasing fits situations like: releasing a bundle-plugin; bumping versions; fixing version drift across manifests; setting up version sync infrastructure.
Run `npx skills add OdradekAI/bundles-forge --skill releasing -a claude-code`. Or copy the skill folder (skills/releasing in OdradekAI/bundles-forge) into .claude/skills/releasing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OdradekAI/bundles-forge --skill releasing -a codex`. Or copy the skill folder (skills/releasing in OdradekAI/bundles-forge) into .agents/skills/releasing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OdradekAI/bundles-forge --skill releasing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/releasing, .gemini/skills/releasing, .github/skills/releasing and .opencode/skills/releasing in your project.
Going by SKILL.md and its folder, Releasing needs Python for the scripts in its folder and the command-line tools its instructions call (git, gh and claude). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash(bundles-forge bump-version *), Bash(bundles-forge audit-plugin *), Bash(bundles-forge audit-docs *).
SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: keepachangelog.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Releasing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 813 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Releasing: Herdr Pre-Release Audit (herdrdev/herdr, 43k stars), Megaphone Release (Kuberwastaken/megaphone, 170 stars), Create Release Checklist (software-mansion/smelter, 734 stars) and Upgrade Dear Imgui Stack (Latias94/dear-imgui-rs, 107 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OdradekAI (a GitHub organization) maintains it in OdradekAI/bundles-forge, which has 229 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on April 27, 2026.
Source: OdradekAI/bundles-forge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.