Token导航 LogoToken导航

Agent Skill · 开发

conventional-commit(常规提交)

conventional-commit 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

conventional-commit 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 17,088。

总安装 442周安装 19GitHub Stars 4下载 155核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/rlespinasse/agent-skills --skill conventional-commit

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

conventional-commit 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。适用于在 Codex、Claude、Cursor、Gemini CLI 中生成符合规范的 Git 提交消息。

通过 npx skills add 命令从 rlespinasse/agent-skills 安装。使用前应确认团队是否采用约定式提交规范。原始 SKILL.md 未提供内容,但名称与常见实践一致。

来源仓库内路径:skills/conventional-commit

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

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

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

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

常见问题

6 条

conventional-commit 怎么安装?

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

conventional-commit 支持哪些 AI 工具?

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

conventional-commit 需要什么权限?

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

conventional-commit 是免费的吗?

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

conventional-commit 用的人多吗?

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

conventional-commit 安全吗?

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

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

值得选的地方

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

先想清楚的地方

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

适不适合你

更适合

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

不太适合

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

开发类 Skill 对比

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

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
conventional-commit

常规提交 · 本页

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

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

SKILL.md 原文

Commit Staged Files with Conventional Commits

You are helping the user commit their currently staged (indexed) git files using the Conventional Commits specification and commit message best practices.

Pre-flight Checks

Before crafting a commit message, always:

  1. Run git status to see what files are staged
  2. Run git diff --cached to review the actual staged changes
  3. If nothing is staged, inform the user and stop — do not create an empty commit

Conventional Commit Format

<type>[optional scope]: <subject>

[optional body]

[optional footer(s)]

Types

TypeWhen to use
featA new feature or capability
fixA bug fix
docsDocumentation-only changes
styleFormatting, whitespace, semicolons — no logic change
refactorCode restructuring without behavior change
perfPerformance improvement
testAdding or updating tests
buildBuild system or external dependency changes
ciCI/CD configuration changes
choreMaintenance tasks (deps update, tooling, config)
revertReverting a previous commit

Note: Comment-only changes (adding, updating, or removing code comments) should use style or chore — never feat or fix. Keep commit messages concise; do not describe individual comments.

Scope

  • Optional, but recommended when the change targets a specific module, component, or area
  • Use lowercase, kebab-case: feat(auth):, fix(api-client):
  • Keep consistent with the project's existing scope conventions
  • Check recent git log (git log --oneline -50 or more) for scope patterns already used in the project
  • Also note whether the project actually uses conventional commits — if not, adapt to the project's style

Subject Line Rules

  • Imperative mood: "add feature" not "added feature" or "adds feature"
  • Lowercase first letter: "add feature" not "Add feature"
  • No period at the end
  • 50 characters or less — hard limit at 72
  • Complete the sentence: "If applied, this commit will *<subject>*"

Body Rules

  • Separate from subject with a blank line
  • Wrap at 72 characters
  • Explain what and why, not how (the diff shows how)
  • Use when the subject alone is not sufficient to understand the change
  • Use bullet points for multiple related changes

Footer Rules

  • BREAKING CHANGE: <description> for breaking changes (triggers major version bump)
  • Refs: #123 or Closes #456 for issue references
  • Co-authored-by: Name <email> for co-authors
  • Signed-off-by: Name <email> when the project requires a Developer Certificate of Origin (DCO)

Decision Process

Follow this process to determine the commit message:

Step 1: Analyze the Staged Changes

Read the diff carefully and identify:

  • What files changed and their purpose
  • Whether this is a single logical change or multiple unrelated changes
  • The primary intent: new feature, bug fix, refactor, etc.

Step 2: Check for Multiple Logical Changes

If the staged changes contain multiple unrelated changes:

  • Inform the user: "The staged changes contain multiple unrelated changes. Consider splitting them into separate commits for a cleaner history."
  • Classify changes into categories to suggest logical groupings:

- Tidying — formatting, renaming, dead code removal (no behavior change) - Infrastructure/build — dependencies, tooling, configuration - Feature implementation — new capabilities - Bug fixes — correcting incorrect behavior - Documentation — docs-only changes

  • Keep dependency manifests with their lock files (e.g., package.json + package-lock.json, go.mod + go.sum, Cargo.toml + Cargo.lock, pyproject.toml + lock files)
  • Suggest a commit order that tells a clear story:

1. Tidying/structural changes first (separate from behavior changes) 2. Documentation before related code changes 3. Infrastructure/build before features that depend on them 4. Feature or fix commits last

  • Let the user decide whether to proceed with a single commit or split

Step 3: Determine the Type

  • Ask yourself: "What is the primary intent of this change?"
  • If a feature includes tests, the type is feat (not test)
  • If a bug fix includes a refactor, the type is fix (not refactor)
  • The type reflects the reason for the change, not every file touched
  • Exception — scope-inherent types: When all changed files belong to a single domain that has its own type, use that type directly without a scope. For example, if a commit only touches CI/CD files (e.g., .github/workflows/), use ci: — not fix(ci): or feat(ci):. The same applies to docs: (only documentation files), test: (only test files), and build: (only build config). These types already convey the scope, so adding it as a parenthetical is redundant.

Step 4: Determine the Scope

  • Look at what area of the codebase is affected
  • Check git log --oneline -50 for existing scope conventions
  • If the change touches multiple areas, either omit the scope or use the primary area

Step 5: Write the Subject

  • Describe the change concisely in imperative mood
  • Focus on the user-facing or developer-facing impact
  • Bad: fix(api): fixed the bug in the login endpoint
  • Good: fix(api): return 401 on expired token instead of 500

Step 6: Write the Body (if needed)

Add a body when:

  • The subject does not fully explain the change
  • There is important context (why this approach, what was considered)
  • The change has side effects or non-obvious consequences
  • There is a breaking change to document

Step 7: Present and Confirm

  • Present the complete commit message to the user
  • Wait for approval before executing the commit
  • If the user wants changes, adjust accordingly

Commit Execution

When executing the commit:

  • Use git commit -m with a HEREDOC for multi-line messages
  • Never use --no-verify — respect pre-commit hooks
  • Never use --amend unless the user explicitly requests it
  • If a pre-commit hook fails, investigate and fix the issue, then create a new commit
  • After committing, run git status to confirm success

Single-line Commit

git commit -m "feat(auth): add JWT token refresh endpoint"

Multi-line Commit

git commit -m "$(cat <<'EOF'
feat(auth): add JWT token refresh endpoint

Implement automatic token refresh when the access token expires.
The refresh endpoint validates the refresh token and issues a new
access token with a 15-minute expiry.

Closes #234
EOF
)"

Examples

Simple Feature

feat: add dark mode toggle to settings page

Bug Fix with Context

fix(parser): handle empty input without panic

The YAML parser panicked on empty strings because it attempted
to access the first character without a length check. Now returns
an empty document instead.

Closes #89

Breaking Change

feat(api)!: require authentication for all endpoints

All API endpoints now require a valid Bearer token. Previously,
read-only endpoints were publicly accessible.

BREAKING CHANGE: unauthenticated requests to /api/* now return 401.
Clients must include an Authorization header with a valid token.

Refs: #156

Documentation Update

docs: add API rate limiting guide

Refactor

refactor(db): extract connection pooling into dedicated module

Move connection pool logic from the monolithic database module into
its own module to improve testability and separation of concerns.
No behavior change.

Anti-patterns to Avoid

Anti-patternWhy it is wrongBetter alternative
fix: fix bugSays nothing usefulfix(cart): prevent negative quantities
update codeNot a conventional commitrefactor(utils): simplify date parsing
feat: Added new feature and fixesPast tense, vague, mixed scopeSplit into separate commits
WIPNot meaningful in historyUse a descriptive message or --fixup
misc changesUninformativeDescribe what actually changed
fix: fixRedundant and meaninglessDescribe the actual fix
Subject longer than 72 charactersBreaks tooling and readabilityKeep it concise, use body for details

Fixup Commits

When the user indicates a change is a fixup (e.g., "this is a fixup", "fixup change", "attach to previous commit"), the commit should be created as a fixup! commit targeting the original commit that introduced the issue.

Fixup Process

  1. Determine the branch boundary — before anything else, identify which commits belong to the current branch: git log --oneline $(git merge-base HEAD origin/main)..HEAD This is the safe rebase range. Only commits in this range may be targeted for fixup or autosquash.
  2. Identify the target commit — search the git log for the commit that introduced the code being fixed:

- Use git log --oneline $(git merge-base HEAD origin/main)..HEAD -- <changed-files> to find commits on the current branch that touched the same files - Pick the commit whose subject best matches the change being fixed - CRITICAL guardrail: if the target commit is not in the branch range (i.e., it is on main or before the branch point), do not create a fixup commit. Instead, inform the user and create a normal commit with the appropriate type (e.g., fix, ci)

  1. Create the fixup commit — use git commit --fixup <target-sha>: git commit --fixup abc1234 This produces a commit with the message fixup! <original subject>.
  2. Ask the user if they want to autosquash — after the fixup commit is created, ask: "Fixup commit created. Do you want to autosquash it into the target commit now (git rebase --autosquash)?"
  3. If the user accepts, run the interactive rebase with autosquash scoped to the branch: GIT_SEQUENCE_EDITOR=true git rebase --autosquash $(git merge-base HEAD origin/main) Using GIT_SEQUENCE_EDITOR=true auto-confirms the rebase editor so it runs non-interactively. Never rebase beyond the merge-base — this would rewrite commits shared with main.
  4. If the user declines, leave the fixup commit as-is — it will be squashed during a future rebase.

Fixup Example

# Original commit:
a1b2c3d feat(auth): add OAuth2 login flow

# Fixup commit (auto-generated message):
fixup! feat(auth): add OAuth2 login flow

Important Guidelines

  • Always review the diff before writing the commit message — do not guess
  • Never commit secrets (.env, API keys, credentials) — warn the user if staged
  • Respect the project's conventions — check recent history for patterns
  • One logical change per commit — suggest splitting when appropriate
  • Ask before committing — always present the message for approval first

平台分布

Codex

35.45%
按下载量换算55

Claude

29.44%
按下载量换算46

Cursor

18.22%
按下载量换算28

Gemini CLI

9.54%
按下载量换算15

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

接触敏感数据

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

安装前确认

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

继续浏览同类 Skills