スキル一覧に戻る
anghunk

git-commit-message

by anghunk

可通过 askills 命令安装内置 skills 到当前项目或者全局目录。

1🍴 0📅 2026年1月16日
GitHubで見るManusで実行

SKILL.md


name: git-commit-message description: 读取暂存区变更(git diff --cached)并参考 git log 的最近提交风格生成提交消息。适用于用户让你读取暂存区、总结暂存变更或建议提交消息的场景。

Git 提交消息

概述

根据暂存区变更生成单行提交消息,并匹配仓库近期的提交风格与语言。

流程

  1. 确认变更范围

    • 执行 git status --short
    • 若无任何变更(暂存区和工作区都干净),说明情况并停止。
    • 若只有未暂存变更,询问用户是否基于未暂存变更生成消息。默认为否。
    • 默认处理暂存区变更。如果用户确认,则后续流程使用 git diff 而非 git diff --cached
  2. 读取变更内容

    • 根据第 1 步的选择,执行 git diff --cached(暂存区)或 git diff(未暂存区)。
    • 优化:通过 git diff --cached --numstatgit diff --numstat 统计变更行数。如果总行数超过 100 行,则后续分析使用 git diff --cached --statgit diff --stat 的摘要信息,以提升效率。
  3. 匹配仓库风格

    • 执行 git log -5 --pretty=format:%s 获取最近 5 条提交消息的主题行。
    • 分析这些主题行的前缀(如 feat:fix:docs:)和语言风格。
    • 优化(处理新仓库):如果 git log 返回为空(即新仓库),则默认采用 Conventional Commits 规范(如 feat: fix: )。
  4. 起草提交消息

    • 根据变更内容和仓库风格,生成一个简洁、准确的主题行。
    • 优化(支持多行消息):如果变更复杂(例如,修改了多个模块或变更行数超过 100 行),在主题行之下增加一个空行和简要的正文(body),说明变更的背景、目的和主要内容。
    • 如果暂存区包含多种不相关的改动,建议用户拆分提交,或给出一个能涵盖所有改动的通用消息。
  5. 回复

    • 输出推荐的单行或多行提交消息。
    • 如果工作区有未暂存的改动而本次处理的是暂存区,可以补充一句提醒,说明未暂存的改动不会被包含在消息内。

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です