Gen commit msg
Group git changes by logic and commit them using English Conventional Commit format. Quick command: commit-grouped [lang=en], [scope=shared|api|fe], [exclude=file-pattern]From its SKILL.md
npx -y skills add aztack/shrtLnk --skill gen-commit-msgAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 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.3 KB, 941 tokens by cl100k_base, as published. Nobody here has run it
Commit Grouped by Logic
Group current git changes by logic and commit them using English Conventional Commit format.
Commit Rules
Scope Rules
- shared: Changes related to shared modules
- api: Changes related to backend API
- fe: Changes related to frontend
- Global scope: Changes that do not belong to the above scopes (no scope in commit message)
Commit Order
Commit according to dependencies, in the following order:
- Global configurations and dependencies (e.g., package.json, tsconfig.json, etc.)
- Changes in the shared module
- Changes in the api backend
- Changes in the fe frontend
- Project progress and documentation updates (e.g., README.md, docs/, etc.)
- Last commit: lock file (use fixed message: "chore: update lock file")
Ignored Files
- Changes in
.bootstrap.tsfiles will be ignored.
Execution Workflow
- Analyze changes: Read
git statusandgit diffto analyze all changed files. - Logical grouping: Group files based on file paths and change content.
- Generate commit messages: Generate English commit messages for each group following the Conventional Commit format.
- Display plan: List the files included in each commit group and the corresponding commit message.
- Wait for review: Do not commit automatically; wait for user review and confirmation.
- Accept adjustments: Users may request to exclude certain files or adjust the grouping.
Commit Message Format
Use Conventional Commit format with English descriptions:
<type>(<scope>): <description>
[optional body]
Type
feat: New featurefix: Bug fixdocs: Documentation updatestyle: Formatting adjustment (no functional changes)refactor: Refactoringperf: Performance optimizationtest: Test-relatedchore: Build, config, dependencies, etc.
Examples
feat(api): add user authentication endpointfix(fe): fix login page styling issuerefactor(shared): refactor utility functions moduledocs: update project documentationchore: update lock file
Execution Steps
When the user calls this skill:
- Run
git status --porcelainto get all changed files. - Run
git diffto get the change content. - Filter out
.bootstrap.tsfiles. - Determine scope based on file paths:
- Contains
/shared/orpackages/shared/→ shared - Contains
/api/orapps/*-api/→ api - Contains
/fe/,apps/*-fe/, or/frontend/→ fe - Lock files (package-lock.json, yarn.lock, pnpm-lock.yaml, etc.) → separate group
- Others → global scope
- Contains
- Determine type (feat, fix, refactor, docs, chore, etc.) based on change content.
- Sort groups by dependency order.
- Generate English commit message for each group.
- Display the commit plan clearly:
Commit 1: feat(shared): add new utility functions Files: - packages/shared/utils/helper.ts - packages/shared/types/index.ts Commit 2: feat(api): implement user management API Files: - apps/metamove-api/src/controllers/user.ts - apps/metamove-api/src/routes/user.ts ... Commit N: chore: update lock file Files: - package-lock.json - Clearly inform the user: Please review the above commit plan; I will proceed with the commits after your confirmation.
- If the user requests to exclude certain files, readjust the grouping and plan.
Notes
- Do not commit automatically: You must wait for explicit user confirmation before executing
git addandgit commit. - Flexible adjustments: Users may request to modify groupings or exclude certain files.
- Maintain atomicity: Each commit should be a logical unit.
- English descriptions: Use English for the description part of the commit message.
- Lock file last: Always place the lock file in the final commit.
Argument Explanation
The optional $ARGUMENTS can be used to specify file patterns to exclude, for example:
/commit-grouped "*.test.ts"
This will exclude all test files.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 1 of the 12 instructions most pr commit review skills give in 941 tokens
Counted across 888 of the 1,342 authors here whose files we hold, read 2026-08-07
- Use conventional commits formathere, and in 127 of 888, across 115 files
- Keep subject line under 72 charactersin 62 of 888, across 48 files
- Delete branches after mergein 51 of 888, across 38 files
- Use imperative mood in subject linein 51 of 888, across 42 files
- Use imperative mood in commit messagesin 44 of 888
- Verify directory is ignored before creating worktreein 43 of 888, across 12 files
- Generate a conventional commit messagein 43 of 888
- Add unignored worktree directories to gitignorein 42 of 888, across 10 files
- Make atomic commitsin 39 of 888, across 27 files
- Run tests before committingin 36 of 888, across 25 files
- Verify clean test baselinein 35 of 888, across 9 files
- Split unrelated changes into separate commitsin 35 of 888, across 30 files
Said here and by no other author read
- commit lock files last using fixed message
- display the commit plan with files and messages
- adjust grouping if user requests exclusions
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.