git-conventionslisted
Install: claude install-skill metraton/gaia
# Git Conventions
## Commit Format
| Element | Rule |
|---------|------|
| Format | `type(scope): short description` |
| Types | feat, fix, refactor, docs, test, chore, ci, perf, style, build |
| Scope | Optional, reflects module/area changed |
| Subject | Max 72 chars, lowercase start, imperative mood, no period, no emoji |
| Body | Optional, blank line after subject, 72 char line wrap |
| Footers | `BREAKING CHANGE:`, `Refs:`, `Closes:`, `Fixes:`, `Implements:`, `See:` |
## Examples
```
feat(helmrelease): add Phase 3.3 services
fix(pg-non-prod): correct API key environment variable mappings
refactor: simplify context provider logic
chore(deps): update terraform to v1.6.0
```
## Multi-Line Body (No Heredoc, No Temp File)
Repeat `-m` once per paragraph -- `git -C /abs commit -m "type: subject" -m
"First paragraph." -m "Second paragraph."` -- no heredoc, no temp file. For
exact wraps, use `git commit -m "$(cat <<'EOF' ... EOF)"` instead
(`command-execution` Rule 7). Never attach a bare, unquoted heredoc
directly to git (`git commit -F - <<EOF ... EOF`) -- measured, the
classifier misreads a prose line as a command and blocks with a spurious
T3 (`Verb: 'rm' (MUTATIVE)` on text that only *mentions* `rm -rf`).
## Git Path Flags
Target the repo with `git -C /absolute/path <verb>` -- this is the canonical
form in a subagent. The T3 consent gate parses `-C` as a flag and classifies
the command identically to the bare verb (`git -C /repo push` is T3 `push`,
same as `git push`