agentsclimarketplace

Git commit

Skill FuDesign2008/open-skills/skills/git-commit

Git commit unified entry point. Triggers when user says 「提交代码」「git commit」「帮我提交」「写 commit message」「生成 commit」「提交一下」「git-commit」「自动提交代码」「git-commit-auto」 (commit code / help me commit / write commit message / generate commit / auto commit), or when invoked by jira-fix-workflow phase 7.From its SKILL.md

Install
npx -y skills add FuDesign2008/open-skills --skill git-commit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.8 KB, as published. Nobody here has run it

Git Commit — Unified Entry (Auto Mode by Default)

Mode Detection Rules

SignalResult
Caller passes execute=true, or triggered by jira-fix-workflow phase 7Auto mode
User says 「手动提交」「只生成命令」「不要执行」「给我命令」 (manual commit / only generate command / don't execute / give me the command)Manual mode
Other triggers or unclear contextDefault to auto mode

Execution Flow

Step 1: Collect Commit Info

Fields for the commit message:

  • type: fix, feat, refactor, perf, style, docs, test
  • scope (optional): ai-summary, share, auth, api, ui, core
  • subject: brief description in the user's preferred language, max 50 chars
  • jira_id (optional): e.g. PROJ-123

(jira_id is optional; other context fields like branch, report_path are passed by the caller and not written into the commit)

Step 2: Determine Execution Mode

Decide execute=false (manual) or execute=true (auto). See "Mode Detection Rules" above.

Step 3: Multi-Project Detection

Scan rules:

  • Scan scope: first and second-level subdirectories of the workspace root
  • Identification: presence of a .git directory
  • Exclude: node_modules, .cursor, dist, build, .git, hidden directories (starting with .)
  • For each candidate directory, run git status to verify validity

Multi-project scenario: Report files are committed only in the primary project (the first one); each project with changes gets its own commit message.

Step 4: Generate Commit Message

Format:

<type>(<scope>): <Jira-ID> <subject>

Rules:

  • Subject: max 50 chars, in the user's preferred language, must include a verb matching the type (e.g. feat: 新增/Add, fix: 修复/Fix, refactor: 重构/Refactor, perf: 优化/Optimize, style: 格式化/Format, docs: 文档/Docs, test: 测试/Test)
  • Jira ID goes before the subject when present
  • Omit parentheses when no scope: <type>: <subject>
  • Commit message contains only the title line, no body

Step 5: Execute Git Operations

Manual mode (execute=false): Generate commands, don't execute, prompt user to run manually.

Auto mode (execute=true): Execute the following commands in order, outputting each command's result or status:

  1. git status — output current changes summary
  2. Protected branch check — committing directly to main/master/develop bypasses code review; unreviewed production code lands on main. Warn the user if detected
  3. git add . — output staged file status
  4. git commit -m "..." — output commit hash and message
  5. git log -1 --stat — output commit stats (changed files and line counts)
  6. git push -u origin [branch-name] — output push result or branch tracking info

For multi-project, execute these steps independently for each project, with a summary table at the end.

Output Format

Auto mode (default):

## Git Commit (Auto Mode)

**Project**: backend   **Branch**: fix/PROJ-123
**Commit**: a1b2c3d  **Push**: ✅ Success
**Changes**: +45/-12 (3 files)

**Next**: Create PR → Code Review → Test Verification

Manual mode (on explicit request):

## Git Commit (Manual Mode)

**Generated Commit Message**:
fix(ai-summary): PROJ-123 修复分享链接中AI摘要按钮显示问题

**Commands**:
git status
git add .
git commit -m "fix(ai-summary): PROJ-123 修复分享链接中AI摘要按钮显示问题"
git log -1 --stat
git push -u origin [branch-name]  # optional

**Note**: Please review and execute the above commands manually.

For multi-project, output independently for each project, with a summary table at the end.

Error Handling

ScenarioHandling
No uncommitted changesManual mode: inform user nothing to commit; Auto mode: output "No changes to commit" or run git add . then show "Staging area empty"
Branch doesn't existError out, suggest creating a branch first
Git operation failsShow error, provide fallback (suggest "manual commit" to retry)
Not in a Git repoError out and terminate, suggest checking the directory
Multi-project detection failsFallback to single-project mode using the current directory

Safety Mechanisms (Auto Mode)

  • Warn when changes exceed 10 files / 500 lines; warn again at 20 files / 1000 lines (warnings don't block); failure in one project doesn't affect others

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.