# Commit

> MUST invoke before creating any git commit. Use when this capability is needed.

- Skill: `tomevault-io/commit-23` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/commit-23`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/commit-23/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/commit-23

---


# Message guideline

## Title format

Use "component: Brief summary" format for the commit title.

Examples:
- "completions: Add support for keyword argument completion"
- "diagnostics: Fix false positive on unused variable"
- "ci: Update GitHub Actions workflow"

## Body

Provide a brief prose summary of the purpose of the changes made.
Use backticks for code elements (function names, variables, file paths, etc.).

## Line length

Ensure the maximum line length never exceeds 72 characters.

## GitHub references

When referencing external GitHub PRs or issues, use proper GitHub interlinking
format: "owner/repo#123"

## Co-author trailer

If you wrote code yourself, include a co-author trailer at the end of
the commit message, e.g.:
`Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>`
(adjust the model name as appropriate).

However, when simply asked to write a commit message (without having
written the code), there's no need to add that trailer.

## Example

```
analyzer: FieldError & BoundsError analysis

Add static analysis for field access errors by hooking into
`CC.builtin_tfunction` to intercept `getfield`, `setfield!`,
`fieldtype`, and `getglobal` calls.

Two new report types are introduced:
- `FieldErrorReport` (`inference/field-error`): reported when accessing
  a non-existent field by name
- `BoundsErrorReport` (`inference/bounds-error`): reported when
  accessing a field by an out-of-bounds integer index

Note that the `inference/bounds-error` diagnostic is reported when code
attempts to access a struct field using an integer index that is out of
bounds, such as `getfield(x, i)` or tuple indexing `tpl[i]`, and not
reported for arrays, since the compiler doesn't track array shape
information.

Reports from invalid `setfield!` and `fieldtype`, and general invalid
argument types are left as future TODO.

Also adjusts concrete evaluation logic to enable ad-hoc constant
propagation after failed concrete evaluation for better accuracy.

---

- Closes aviatesk/JETLS.jl#392
```

# Safety guideline

See the ["Git operations" section in CLAUDE.md](../../../CLAUDE.md#git-operations).

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/aviatesk) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

