Neexo Git Commit Skill

A full commit workflow skill that inspects diffs, checks repository history, verifies generated files and changelog dates, and produces a commit-ready message.

AuthorNeexoCore
Updated
gitcommitchangelogworkflow

Overview

This skill is for repositories where a commit is not just a message but a final quality gate. It covers both quick conventional commit message generation and the fuller review workflow for higher-risk changes.

Workflow

  1. Inspect changes — read staged and unstaged diffs with git diff --cached and git diff
  2. Check recent history — run git log --oneline -10 to match existing commit style
  3. Verify generated files — ensure schema changes include their migration SQL, lock files are updated, build output is excluded
  4. Check changelog date — if a changelog entry is staged, verify the date is correct (run node -e "console.log(new Date().toISOString().slice(0,10))")
  5. Produce message — write a conventional commit message that matches the repository's style

Message Rules

  • Use conventional commit format: type(scope): subject
  • Valid types: feat, fix, docs, style, refactor, test, chore, perf, ci, build
  • Keep subject lines under 72 characters, imperative mood, with no trailing period
  • Prefer outcome over implementation detail: fix: prevent duplicate order emails rather than fix: add check in sendEmail function

Quality Gates

  • Schema changes, generated migrations, and dependent code must be in the same commit
  • Danish changelog text must use æ, ø, and å correctly — never ae, oe, aa
  • Never set featured: true without justification
  • Do not commit .env files, secrets, or large binary assets

Examples

feat(auth): add MFA support for organization admins
fix(billing): prevent duplicate invoice generation on retry
docs: update Drizzle migration workflow in README
chore(deps): bump next from 16.1.0 to 16.2.6

Raw content

Copy this into your project — e.g. .instructions.md, .agent.md, or SKILL.md

## Overview

This skill is for repositories where a commit is not just a message but a final quality gate. It covers both quick conventional commit message generation and the fuller review workflow for higher-risk changes.

## Workflow

1. **Inspect changes** — read staged and unstaged diffs with `git diff --cached` and `git diff`
2. **Check recent history** — run `git log --oneline -10` to match existing commit style
3. **Verify generated files** — ensure schema changes include their migration SQL, lock files are updated, build output is excluded
4. **Check changelog date** — if a changelog entry is staged, verify the date is correct (run `node -e "console.log(new Date().toISOString().slice(0,10))"`)
5. **Produce message** — write a conventional commit message that matches the repository's style

## Message Rules

- Use conventional commit format: `type(scope): subject`
- Valid types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `perf`, `ci`, `build`
- Keep subject lines under 72 characters, imperative mood, with no trailing period
- Prefer outcome over implementation detail: `fix: prevent duplicate order emails` rather than `fix: add check in sendEmail function`

## Quality Gates

- Schema changes, generated migrations, and dependent code **must** be in the same commit
- Danish changelog text must use æ, ø, and å correctly — never ae, oe, aa
- Never set `featured: true` without justification
- Do not commit `.env` files, secrets, or large binary assets

## Examples

```text
feat(auth): add MFA support for organization admins
fix(billing): prevent duplicate invoice generation on retry
docs: update Drizzle migration workflow in README
chore(deps): bump next from 16.1.0 to 16.2.6
```