Files
git/skills/commit/SKILL.md

1.7 KiB


name: commit description: Group all pending file changes by conventional type and feature, then commit each group as {type}({scope}): {message}. Message style is full (What/Why/How/Who), brief (one line from git diff), or custom, chosen via decision tree. Use whenever changes must be committed; not for push or PR creation.

commit — group and commit file changes

Steps

  1. Track every file change: inspect all changes with git status --porcelain first, then git add group by group. Never git add -A and commit everything at once.
  2. Group the changes by same type plus same requirement or feature. One group is one commit.
  3. Commit each group with the format {type}({requirement or feature}): {message}.

Type table

Type Purpose
feat add or change a feature
fix fix a bug
docs documentation
style formatting; no change to how the code runs
refactor code change that neither adds a feature nor fixes a bug
perf improve performance
test add tests
chore build process or tooling change
revert revert an earlier commit

Message format (pick one of three)

Ask the user per the jsc-ask:ask rules. Skip the question when the question record or this session already holds a convention.

  1. Full: covers What, Why, How, and Who (which feature).
  2. Brief: one sentence summarized from git diff.
  3. Custom: the user types the message.

Rules

  1. The grouping and message drafting details MUST run as a sub agent. The main agent only confirms the grouping and runs the commits.
  2. Write messages in UTF-8 Traditional Chinese (the type and scope stay in English), per the STE100 output rule.
  3. Never push. Push and PR belong to jsc-git:pr.