360 Secure SkillHub
360 安全技能中心

Commit Message Generator

核心功能为分析Git diff(暂存变更、分支差异等),生成或改写符合Conventional Commits规范的提交信息,还可校验信息合规性。典型场景包括生成暂存变更提交信息、优化模糊历史信息、生成变更日志条目等。支持通过Git指令、diff内容或提交信息触发,输出规范格式信息或校验结果,适合开发者、团队及开源维护者。

ericlooi504
ericlooi504
热度 31.30
最近更新 2026-05-11 17:47:26
分类:开发依赖:代码执行 / 内部调用大模型应用场景:DevOps / 摘要总结 / 校对润色 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add git-commit-gen
Metadata
name
commit-message-writer
description
Generate conventional, descriptive commit messages from git diffs. Analyzes staged changes or branch diffs and produces well-formatted commit messages following the Conventional Commits specification (feat, fix, chore, docs, refactor, test, etc.). Use when the user wants to: (1) Generate a commit message from 'git diff --staged', (2) Write a message for unpushed commits, (3) Rewrite a vague commit message, (4) Generate changelog entries from a range of commits, (5) Ensure team consistency with Conventional Commits. Best for developers, teams using standardized commit conventions, open-source maintainers, and anyone tired of 'fixed stuff' commit messages.
version
1.0.0
homepage
https://clawhub.ai
metadata
{"openclaw":{"emoji":"📝","requires":{"bins":["git"]}}}

Commit Message Writer

Generate conventional, descriptive, and scoped commit messages from your git diffs — no more "fixed bug" or "updated files".

When to Use

✅ USE this skill when:

  • "Write a commit message for my staged changes"
  • "Generate a commit message from this diff"
  • "Rewrite my last commit message to be conventional"
  • "Generate changelog-style messages for commits abc..def"
  • "Summarize what changed in this branch"
  • "Generate messages for all unpushed commits"
  • "Check if my commit message follows conventions"

❌ DON'T use this skill when:

  • Need sweeping refactors explained → use a code review skill
  • Need full changelog generation between releases → use a release tool
  • Working on binary-only repos (no meaningful diff)

How It Works

  1. Reads the git diff (staged, branch, or provided inline)
  2. Analyzes what files changed, what functions/classes were affected, and the nature of each change
  3. Constructs a Conventional Commits message:
    <type>(<scope>): <short summary>
    
    <body>
    
    <footer>
    
  4. Explains the reasoning so you can review before committing

Available Actions

write:staged

Read git diff --staged and generate a commit message.

Write a commit message for my staged changes

→ Analyzes staged diff, outputs a formatted commit message with type, scope, description, and body.

write:diff

Read changes between the current branch and its base (main/master).

Summarize all changes in this branch as a commit message

write:range

Generate a changelog or multiple commit messages for a range of commits.

Generate conventional commit messages for commits HEAD~5..HEAD

write:provided

Given an inline diff or file list, generate a commit message.

Here's a diff: [...paste diff...]. Write a commit message.

rewrite:last

Improve the last commit message to follow conventions.

Rewrite my last commit message in conventional format

validate

Check whether a message follows Conventional Commits.

Validate this message: "fix(api): handle null pointer in user lookup"

→ Confirms it's valid, or explains what to fix.

Commit Type Reference

Type Usage
feat A new feature
fix A bug fix
docs Documentation only changes
style Formatting, missing semicolons, etc. (no logic)
refactor Code change that neither fixes a bug nor adds a feature
perf Code change that improves performance
test Adding or correcting tests
chore Build, CI, dependencies, tooling
ci CI/CD configuration changes

Example

User: "Write a commit message for my staged changes"

Assistant: (runs git diff --staged, analyzes changes)

feat(auth): add OAuth2 refresh token rotation

- Implement refresh token rotation on every token refresh
- Invalidate old refresh tokens immediately after use
- Add TTL config for refresh tokens (default 30 days)
- Update token endpoint to return rotated refresh token

Closes: #452

Notes

  • Always shows you the proposed message before suggesting you run git commit.
  • Respects .gitignore — won't try to diff ignored files.
  • For large diffs (>500 lines), summarizes chunk-level changes rather than line-by-line.