Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions .apm/skills/commit-and-release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,22 @@ git add path/to/changed-file other/changed-file

If the user already staged files, skip this.

### 3. Draft and validate the message
### 3. Derive and validate the message

Write a clear, accurate Conventional Commit subject from the diff and validate it:
Review the staged diff (`git diff --cached`) and derive a clear, accurate
Conventional Commit subject from it. If the user explicitly supplied a desired
message, preserve that wording and intent while correcting it as needed for
accuracy and Conventional Commit compliance.

```sh
mise exec -- cog verify "fix(parser): handle empty frontmatter"
```

Fix and re-run until it exits 0. Don't stop to ask the user to confirm the
wording — just choose a correct, descriptive message. (If the change is genuinely
ambiguous about intent — e.g. `feat` vs `fix` — ask only that.)
If validation fails, fix the message automatically and re-run validation until
it exits 0. Then commit with the validated message without asking the user to
approve or confirm it. Ask the user only when the staged change is genuinely
ambiguous about intent (for example, whether it is a `feat` or `fix`) and the
correct message cannot be determined from the diff or task context.

### 4. Run lint/tests before committing

Expand Down
Loading