Token导航 LogoToken导航

Agent Skill · 研究检索

release-please(请释放)

release-please 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

release-please 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 47,935。

总安装 710周安装 29GitHub Stars 8下载 230核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:release-please(请释放)
来源仓库:https://github.com/bmad-labs/skills
仓库路径:skills/release-please
安装命令:
npx skills add https://github.com/bmad-labs/skills --skill release-please
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/bmad-labs/skills --skill release-please

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于自动化版本管理和发布流程,基于Conventional Commit消息进行分析处理。适用于需要根据提交历史自动生成版本号、更新日志和发布PR的场景。支持npm、PyPI等多种包管理平台的发布流程集成。自动处理版本确定、changelog生成和git标签标记等重复性工作。

用户只需编写规范的提交消息,其余流程由该技能自动完成。

来源仓库内路径:skills/release-please

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/bmad-labs/skills --skill release-please;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

release-please 怎么安装?

在终端执行 npx skills add https://github.com/bmad-labs/skills --skill release-please。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

release-please 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

release-please 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

release-please 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

release-please 用的人多吗?

公开数据是累计安装 710 次,近一周安装 29 次,下载 230 次,GitHub 8 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

release-please 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
release-please

请释放 · 本页

7108接触敏感数据未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

release-please

Overview

release-please automates versioning and releases by analyzing Conventional Commit messages:

  1. Push conventional commits to your default branch
  2. release-please creates/updates a Release PR with version bump and changelog
  3. Merge the Release PR to trigger a GitHub Release
  4. Publish step runs when a release is created (npm, PyPI, crates.io, etc.)

release-please handles version determination, changelog generation, and git tagging. You write good commit messages; it does the rest.

Commit Message Assistance

When a user asks for help writing a commit message (not setting up a pipeline):

  1. Ask what changed — "What did you change and why?" (skip if already described)
  2. Suggest the type — Pick from the type table below, explain why that type fits
  3. Draft the message — Write the full commit message (header + body if needed + footers)
  4. Confirm — Present it for the user to approve or adjust

If the change is breaking, always include a BREAKING CHANGE: footer explaining migration impact.

Pipeline Setup Flow

When a user wants to set up release-please, follow this interactive protocol.

If .github/workflows/release.yml (or similar) already exists, read it first, compare against the templates in references/workflow-templates.md, and suggest specific improvements rather than replacing it wholesale. Common improvement opportunities: missing concurrency groups, publish not gated on release_created, missing idempotent publish check, overly broad permissions.

Step 1: Detect Project Type

Scan the repository for package manifests:

FileRelease Type
package.jsonnode
pyproject.toml / setup.pypython
pom.xmljava
go.modgo
Cargo.tomlrust
*.gemspecruby
composer.jsonphp
pubspec.yamldart
mix.exselixir
Chart.yamlhelm

If multiple manifests exist at the root, ask which is primary. If none found, use simple.

Step 2: Ask Configuration Questions

Ask these questions (skip any already answered or obvious from context):

  1. Is this a monorepo? (multiple packages in subdirectories)
  2. What is the default branch? (default: main)
  3. Do you need pre-release support? (manual alpha/beta/rc releases)
  4. Where do you publish? (npm, GitHub Packages, PyPI, Maven Central, crates.io, Docker, none)
  5. What is the current version? (check package manifest, default: 0.0.0)

Step 3: Generate Files

Create three files based on the answers:

release-please-config.json
{
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
  "packages": {
    ".": {
      "release-type": "node",
      "changelog-path": "CHANGELOG.md",
      "bump-minor-pre-major": true,
      "bump-patch-for-minor-pre-major": false,
      "draft": false,
      "prerelease": false,
      "versioning": "default",
      "extra-files": []
    }
  }
}

Adjust release-type based on detected project type. For monorepos, add multiple entries under packages with component names.

.release-please-manifest.json
{
  ".": "1.0.0"
}

Set to the current released version. Use "0.0.0" for new projects.

.github/workflows/release.yml

For Node.js → npm public registry (most common), use this base template:

name: Release

on:
  push:
    branches: [main]

permissions:
  contents: write
  pull-requests: write

concurrency:
  group: release-${{ github.ref }}
  cancel-in-progress: false

jobs:
  release-please:
    runs-on: ubuntu-latest
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
      tag_name: ${{ steps.release.outputs.tag_name }}
      version: ${{ steps.release.outputs.version }}
    steps:
      - uses: googleapis/release-please-action@v4
        id: release

  publish:
    needs: release-please
    if: needs.release-please.outputs.release_created == 'true'
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          registry-url: https://registry.npmjs.org
      - run: npm ci
      - run: npm publish --provenance --access public
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

For other ecosystems, see references/workflow-templates.md for complete templates including:

  • Node.js → GitHub Packages (with idempotent publish check)
  • Python → PyPI (trusted publishers)
  • Java → Maven Central
  • Go (tags only, optional GoReleaser)
  • Rust → crates.io
  • Docker (build + push with semver tags)
  • Monorepo (per-package publish jobs)
  • Pre-release pattern (workflow_dispatch with version resolution)

Always customize:

  • Replace main with the actual default branch if different
  • Adjust Node version, Python version, Java version, etc.
  • Add registry-specific secrets configuration
  • If pre-release support is needed, use the pre-release template from references/workflow-templates.md

Configuration Quick Reference

OptionDefaultPurpose
release-type—Package ecosystem (required)
bump-minor-pre-majorfalseTreat feat as patch when < 1.0.0
changelog-pathCHANGELOG.mdWhere to write the changelog
include-v-in-tagtrueTag as v1.2.3 vs 1.2.3
separate-pull-requestsfalseOne PR per package (monorepo)
draftfalseCreate release PRs as drafts
extra-files[]Additional files with version strings to update
changelog-sections(defaults)Customize which types appear in changelog

Monorepo Quick Setup

// release-please-config.json
{
  "packages": {
    "packages/core": { "release-type": "node", "component": "core" },
    "packages/cli": { "release-type": "node", "component": "cli" }
  }
}
// .release-please-manifest.json
{ "packages/core": "0.0.0", "packages/cli": "0.0.0" }

Use component names as commit scopes: feat(core): add streaming support

For full configuration options, see references/config-options.md.

Commit Message Guide

release-please reads commit messages to determine version bumps and generate changelogs. Every commit to the default branch must follow Conventional Commits.

Format

<type>(<scope>): <description>

[optional body]

[optional footer(s)]
  • Use imperative present tense: "add" not "added"
  • Do not capitalize the first letter of the description
  • Do not end with a period

Type → Version Bump

TypeBumpTriggers Release?
featMinorYes
fixPatchYes
depsPatchYes
refactor—No
perf—No
test—No
docs—No
style—No
chore—No
build—No
ci—No

Breaking changes (any type with ! or BREAKING CHANGE: footer) → Major bump.

Breaking Change Examples

feat(api)!: redesign authentication flow

BREAKING CHANGE: /auth/login now requires OAuth2 tokens instead of API keys.
refactor(database): migrate from MongoDB to PostgreSQL

BREAKING CHANGE: all database connection strings must be updated.

Special Footers

FooterPurpose
BREAKING CHANGE: <desc>Triggers major version bump
Release-As: x.x.xForce a specific version number

Quick Examples

feat(booking): add search by date range endpoint
fix(auth): resolve token refresh race condition
deps: upgrade @nestjs/core to v11.0.0
test(scheduler): add unit tests for cron parser
chore: update .gitignore

No AI Co-Author Trailers

NEVER add Co-Authored-By trailers for AI agents in commit messages. These pollute changelogs and git history.

For the complete commit conventions reference with 15+ examples, scopes guide, and anti-patterns, see references/commit-conventions.md.

Best Practices

Squash Merges

Configure your repository to use squash merges for feature branches. This ensures each PR produces a single conventional commit, keeping the changelog clean. Set the squash commit message to use the PR title (which should be a conventional commit message).

Permissions

The GitHub Action needs contents: write and pull-requests: write at minimum. Add packages: write or id-token: write for publish steps as needed. Use the principle of least privilege — grant permissions per-job, not at workflow level.

Concurrency

Always set cancel-in-progress: false for release workflows. Canceling a release mid-way can leave partial state (tags without releases, PRs in inconsistent state).

Publish Gating

Never publish in the release-please job itself. Use a separate publish job gated on release_created == 'true'. This separates concerns and makes retries easier.

Idempotent Publish

Check if the version already exists in the registry before publishing. This prevents failures on workflow re-runs:

- name: Check if version exists
  id: check
  run: |
    PACKAGE_NAME=$(node -p "require('./package.json').name")
    VERSION=$(node -p "require('./package.json').version")
    if npm view "${PACKAGE_NAME}@${VERSION}" version 2>/dev/null; then
      echo "exists=true" >> "$GITHUB_OUTPUT"
    else
      echo "exists=false" >> "$GITHUB_OUTPUT"
    fi
- if: steps.check.outputs.exists == 'false'
  run: npm publish

Bootstrapping Existing Projects

When adding release-please to a project with existing releases:

  1. Set .release-please-manifest.json to your current version
  2. Merge the setup PR with a chore: commit
  3. release-please will create the next release PR based on subsequent commits
  4. Alternatively, use Release-As: x.x.x footer to force a starting version

Troubleshooting

No Release PR Created

  • Ensure commits since the last release include at least one releasable type (feat, fix, deps)
  • Check that commits are on the correct branch (must match workflow trigger)
  • Verify release-please-config.json and manifest exist and are valid JSON
  • Check Actions logs for permission errors

Wrong Version Bump

  • Review commit messages — chore: won't trigger a release, feat: triggers minor
  • Check for BREAKING CHANGE: footers that may trigger an unexpected major bump
  • Use Release-As: x.x.x footer to override if needed

Pre-Release Flow

  • Pre-releases use workflow_dispatch, not automatic push triggers
  • The pre-release identifier is appended to the current version: 1.2.3-alpha.1
  • Use the next npm tag (or equivalent) for pre-releases, latest for stable
  • See the pre-release template in references/workflow-templates.md

Token / Permission Issues

  • Default GITHUB_TOKEN works for release-please PRs and releases
  • Publishing to external registries requires dedicated secrets (NPM_TOKEN, etc.)
  • GitHub Packages publishing uses GITHUB_TOKEN with packages: write permission
  • For PyPI, use trusted publishers instead of API tokens

References

ReferenceDescription
references/commit-conventions.mdFull Conventional Commits specification with examples and anti-patterns
references/workflow-templates.mdComplete workflow templates for 9 ecosystems
references/config-options.mdAll configuration options, release types, and Action inputs/outputs
release-please GitHubOfficial documentation
Conventional CommitsSpecification

平台分布

Codex

36.34%
按下载量换算84

Claude

31.26%
按下载量换算72

Cursor

16.98%
按下载量换算39

Gemini CLI

8.6%
按下载量换算20

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills