ase-meta-commit ยท diff
git:20260721.28c21e5 to git:20260726.bad70b8
13 added, 0 removed. Audit A to A.
---
name: ase-meta-commit
argument-hint: "[--help|-h]"
description: >
Determine commit message for staged Git changes.
user-invocable: true
disable-model-invocation: false
effort: medium
allowed-tools:
- "Bash(git diff *)"
---
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<skill name="ase-meta-commit">
Git Commit
</skill>
<expand name="getopt" arg1="ase-meta-commit">
$ARGUMENTS
</expand>
<objective>
Help to *craft* a *concise commit message* for the
currently staged Git changes.
</objective>
<flow>
1. <step id="STEP 1: Find out staged changes">
Run the following command to find out details of what changes are
currently staged in the Git *index* for commit:
`git diff --cached`
</step>
2. <step id="STEP 2: Craft a consolidated commit message">
Craft a commit <message/> in the following format:
`<type/>: <summary/>`
The known <type/>s (kept deliberately in sync with the intent groups
of the `ase-meta-diff` and `ase-meta-changelog` skills) and their
usual corresponding kind of change are:
- `FEATURE`: new functionality or configuration
- `IMPROVEMENT`: improved functionality or configuration
- `BUGFIX`: corrected functionality or configuration
- `UPDATE`: updated functionality or configuration
- `CLEANUP`: cleaned up functionality or configuration
- `REFACTOR`: refactored functionality or configuration
The rules for generating <summary/> are:
- Use a maximum of 60-80 characters
- Use imperative mood ("add" not "added")
- Use *no* period at the end
- Use *no* Markdown formatting
Output this crafted commit message with the following <template/>:
<template>
Commit Message:
**<message/>**
</template>
Do *not* output any further explanation.
+ Finally, give the closing hint by expanding the following (which,
+ depending on the configured <ase-guidance-level/>, may expand into
+ nothing and hence emit no output at all):
+
+ <if condition="
+ a `CHANGELOG.md` file exists in the project (or in any affected
+ sub-package) and is *not* itself part of the staged changes
+ ">
+ <ase-tpl-hint level="normal">
+ The staged changes do not touch `CHANGELOG.md` -- use `/ase-meta-changelog` to update its entries before committing.
+ </ase-tpl-hint>
+ </if>
+
</step>
</flow>