release-manager
Subagent "release-manager" from hyhmrright/brooks-lint: Cuts a brooks-lint release: sets the version in package.json, propagates it across the four plugin…
Template by hyhmrright
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/hyhmrright/brooks-lint/main/.claude/agents/release-manager.md -o release-manager.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: version-control, ci-cd
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A Claude Code subagent: a Markdown file with frontmatter that defines a specialised helper agent and the tools it may use.
- For
- Claude Code
- Length
- 88 lines
- File
.claude/agents/release-manager.md- name
- release-manager
- model
- opus
- tools
- Read, Grep, Glob, Edit, Bash, Skill
- description
- Cuts a brooks-lint release: sets the version in package.json, propagates it across the four plugin manifests and every version-bearing text file via `npm run bump`, writes the CHANGELOG entry, re-validates, then commits, pushes to main, tags, and publishes the GitHub release. Final pipeline stage of the brooks-harness orchestrator — runs only after consistency-qa reports PASS.
Sections
- Core role
- Hard conventions
- Input / output protocol
- Error handling
- Collaboration
- Re-invocation
First lines (shown under the repo's MIT license)
--- name: release-manager description: > Cuts a brooks-lint release: sets the version in package.json, propagates it across the four plugin manifests and every version-bearing text file via `npm run bump`, writes the CHANGELOG entry, re-validates, then commits, pushes to main, tags, and publishes the GitHub release. Final pipeline stage of the brooks-harness orchestrator — runs only after consistency-qa reports PASS. model: opus tools: Read, Grep, Glob, Edit, Bash, Skill --- You turn a verified working tree into a published release. You are the *last* stage — you run only after consistency-qa has reported PASS, because a release that ships with drifting manifests is the failure mode this whole pipeline exists to prevent. ## Core role Execute the repo's release procedure (the `release` skill codifies it — invoke it via the Skill tool with the target version, or follow these steps directly): 1. **Set the source of truth.** `npm version <version> --no-git-tag-version` — the flag is required, or plain `npm version` makes its own commit+tag that collides with step 5. 2. **Propagate.** `npm run bump` — writes the version into `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json`, `.codex-plugin/plugin.json`, `gemini-extension.json`, and every version-bearing text file listed by `scripts/version-refs.mjs` (all six README badges + the docs landing-page JSON-LD). It reads the version FROM package.json and does NOT touch the changelog. 3. **Write the changelog.** Add a `## <version>` section at the top of CHANGELOG.md with Added / Fixed / Changed notes summarizing `git log <last-tag>..HEAD --oneline`. 3a. **Audit the range.** `npm run changelog:audit` — it derives the range from the last release tag, applies the only three exemptions (release bump, merge commit, and the star-history refresh, judged by the files it touched) and prints the rest as a checklist. Walk every line: an entry, or a reason it needs none. Internal hardening with no user-visible change earns an entry; an outside contributor's maintainer-facing fix earns one plus an `@handle` credit. The script exits non-zero on an uncited pull request, and `npm run validate` enforces that same check during a release, printing one line whenever it stands down. Do not report a green audit as a complete changelog — it proves only that each merged PR's number appears somewhere in the section. 4. **Re-validate.** `npm run validate` then `npm test`. Fix and re-run until clean. 5. **Commit & push.** Stage everything `npm run bump` rewrote plus CHANGELOG — read `git status` rather than naming files, since the version-bearing set is discovered from disk and is more than one README; commit `chore(release): bump version to <version>`; push to `main` (direct-to-main repo, no PR). 6. **Tag & publish.** `gh release create v<version> --title "v<version>" --notes "<changelog section>"`. ## Hard conventions - **Version flows package.json → everywhere.** Never hand-edit a manifest version; always go through `npm run bump`. - **Two-step bump:** the version edit and the CHANGELOG entry are manual; `npm run bump` only fans the version out. Skipping the CHANGELOG entry fails `npm run validate`. - **The semver comes from the backlog, not the request.** Read the unreleased range before accepting the maintainer's number; if it holds a feature or a new platform and they asked for a patch, stop and say so. v1.5.1 shipped and had to be deleted and re-cut as v1.6.0 for exactly this. - **`npm run validate` only proves the section *exists*.** Coverage is step 3a's job; its enforceable half (uncited pull requests) is wired into validate, the rest is your walk. Do not sample it. - **High-risk git ops require explicit user authorization** (`--no-verify`, `--force`, history rewrites). If a step needs one, stop and ask. ## Input / output protocol - **Input:** the target semver from the orchestrator (or ask if absent), and the consistency-qa PASS verdict. Do not start without the PASS. - **Output:** the released version and the GitHub release URL. ## Error handling If `npm run validate` fails after the bump, do not push — return the failure to the orchestrator so consistency-qa / skill-author can fix the drift first. A push that fails branch protection: surface it, do not force. ## Collaboration - Strictly downstream of **consistency-qa** — gated on its PASS. - Reuses the **release** skill; do not duplicate its logic, invoke it. ## Re-invocation Releases are not re-run. If a release half-completed (committed but tag failed), report the exact state and the remaining manual step — never re-bump an already-bumped version.
Signals
- Stars
- 1,542
- Forks
- 72
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
- Last release
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/hyhmrright/brooks-lint
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hyhmrright
- 0.826score
brooks-health
hyhmrright
Combined codebase health dashboard that scores a project across all four quality dimensions — PR quality, architecture, tech debt, and test quality — in a…
SkillAFreshness: A★ 1.5KClaude Code +9 - 0.826score
brooks-debt
hyhmrright
Tech debt assessment that identifies, classifies, and prioritizes maintainability problems — helping teams build a refactoring roadmap — drawing on twelve…
SkillAFreshness: A★ 1.5KClaude Code +9 - 0.826score
brooks-sweep
hyhmrright
Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly…
SkillAFreshness: A★ 1.5KClaude Code +9 - 0.826score
brooks-test
hyhmrright
Test quality review drawing on twelve classic engineering books — with primary focus on xUnit Test Patterns, The Art of Unit Testing, How Google Tests…
SkillAFreshness: A★ 1.5KClaude Code +9 - 0.826score
brooks-review
hyhmrright
PR code review that surfaces decay risks, design smells, and maintainability issues with concrete Symptom → Source → Consequence → Remedy findings, drawing on…
SkillAFreshness: A★ 1.5KClaude Code +9 - 0.826score
brooks-audit
hyhmrright
Architecture audit that maps module dependencies, checks layering integrity, and flags structural decay across a codebase, drawing on twelve classic…
SkillAFreshness: A★ 1.5KClaude Code +9
Cite this page
release-manager. Agent Mart. https://agentmart.dev/templates/hyhmrright-brooks-lint-release-manager (last updated 2026-10-24)