Skip to main content

commit

Commit current changes with a clear, descriptive message. The argument may contain special instructions for the commit message.

来源信息

仓库
NVIDIA-NeMo/DataDesigner
最近来源活动
2026年11月3日 16:08
检测到的 SKILL.md 语言
英语
星标
2,398
Forks
243

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
commit
description
Commit current changes with a clear, descriptive message. The argument may contain special instructions for the commit message.
disable-model-invocation
true
metadata
{"internal":true}
# Commit Changes Commit the current staged/unstaged changes with a well-crafted commit message. ## Arguments `$ARGUMENTS` can be used for special instructions, such as: - Guiding the message: "emphasize the breaking change" - Adding context: "this fixes issue #123" - Requesting amend: "amend the previous commit" ## Step 1: Gather Information Run these commands in parallel to understand the changes: 1. **Git status**: `git status --porcelain` (check for staged/unstaged changes) 2. **Staged diff**: `git diff --cached` (what will be committed if there are staged changes) 3. **Unstaged diff**: `git diff` (what's modified but not staged) 4. **Recent commits**: `git log -5 --oneline` (to match existing commit style) **Important checks:** - If no changes exist (nothing staged or unstaged), inform the user there's nothing to commit - If there are unstaged changes but nothing staged, stage all changes with `git add -A` (or ask user if they want to selectively stage) - If there are both staged and unstaged changes, ask user if they want to include unstaged changes ## Step 2: Analyze Changes Review the diff to understand: - **What** changed (files, functions, features) - **Why** it changed (bug fix, new feature, refactor, etc.) - **Impact** (breaking changes, dependencies, configuration) ## Step 3: Generate Commit Message ### Message Guidelines 1. **Subject line**: - Use imperative mood ("add feature" not "added feature") - Keep under 50 characters (hard limit: 72) - Don't end with a period - Use lowercase for the first letter 2. **Body** (if needed for complex changes): - Separate from subject with blank line - Wrap at 72 characters - Explain *what* and *why*, not *how* - Use bullet points for multiple items 3. **Footer** (if needed): - Reference issues: `Fixes #123`, `Closes #456` ### Examples **Simple change:** ``` add user authentication endpoint ``` **Change with body:** ``` add rate limiting to public endpoints - Implement token bucket algorithm - Add configurable limits per endpoint - Include rate limit headers in responses Closes #234 ``` ## Step 4: Create the Commit 1. **Stage changes** (if needed): ```bash git add -A ``` Or stage specific files if user requested selective staging. 2. **Create commit** using HEREDOC for proper formatting: ```bash git commit -m "$(cat <<'EOF' <description> <body if needed> <footer if needed> EOF )" ``` 3. **Verify** the commit was created: ```bash git log -1 --oneline ``` 4. **Report** the commit hash and message to the user. ## Edge Cases - **No changes**: Inform user there's nothing to commit - **Amend requested**: Use `git commit --amend` (only if explicitly requested in arguments) - **Large changes**: Suggest breaking into multiple commits if changes span unrelated areas - **Merge conflicts**: Inform user and provide guidance on resolution - **Pre-commit hooks fail**: Report the failure and suggest fixes
在 GitHub 查看