git-commit
Create logically grouped, atomic git commits in Codex. Use when the user asks to commit changes, run a git-commit skill, split dirty work into commits, write or amend commit messages, use Conventional Commits, or prepare commits with git notes.
What this skill does
# Git Commit
Use this skill to turn a dirty working tree into one or more focused commits
with commit messages that are useful to future maintainers and agents.
## Workflow
1. Inspect the repository state:
- Run `git status --short --branch`.
- Run `git diff HEAD` to understand every changed file and hunk.
- If commits may be made, read recent history with notes:
`git log --show-notes --oneline -20`.
2. Identify logical groups:
- Keep each commit to one logical change.
- Separate unrelated changes, even when they are in the same file.
- Use `git add -p` or an equivalent partial-staging workflow for mixed
files.
- Leave unrelated user changes unstaged and untouched unless the user asks
to include them.
3. Match local style:
- Follow the repository's recent commit-message style.
- If about 80% or more of recent commits use Conventional Commits, use
Conventional Commits.
- Otherwise match the local capitalization, punctuation, and subject shape.
4. Commit and verify:
- Stage only the intended logical group.
- Create the commit with a well-formed message.
- Verify it with `git show --stat` or `git show`.
- Run `git status` after the full commit set to confirm nothing intended
was missed.
## Atomic Commits
- A commit should be reviewable, revertible, and cherry-pickable on its own.
- Do not batch cleanup, formatting, dependency updates, and behavior changes
together unless the repository convention or user request explicitly calls
for it.
- If a change needs a body to explain the motivation, include one rather than
stretching the subject.
## Message Rules
Write messages for `git log`, `git blame`, `revert`, `rebase`, and future
archaeology. The diff shows what changed; the message should preserve the
reason and scope.
- Separate the subject from any body with a blank line.
- Aim for a subject around 50 characters; treat 72 characters as a hard limit.
- Use the imperative mood: `Add`, `Fix`, `Remove`, `Refactor`, not `Added`,
`Fixed`, `Removes`, or `Changing`.
- Do not end the subject with a period.
- For non-Conventional-Commit projects, capitalize the subject line.
- Wrap body text at about 72 characters.
- Use the body to explain the problem, motivation, previous behavior, new
behavior, trade-offs, side effects, and migration notes when relevant.
- Focus on what and why rather than how.
- Put issue references, breaking-change notes, and other metadata at the end.
## Conventional Commits
When the repository uses Conventional Commits, use:
```text
<type>[(scope)]: <description>
[optional body]
[optional footer(s)]
```
Common types include `feat`, `fix`, `docs`, `style`, `refactor`, `perf`,
`test`, `build`, `ci`, and `chore`.
Keep the description concise, imperative, and consistent with recent history.
Examples:
- `feat: add user authentication middleware`
- `fix: resolve null pointer in login handler`
- `docs: update API documentation`
- `refactor(auth): simplify token validation`
## Notes, Amends, and Pushes
- Repository instructions override this skill. If local `AGENTS.md`,
`CLAUDE.md`, or repo history requires git notes, attach them to every commit.
- In repos that require agent-oriented git notes, write the note after the
commit with `git notes add` and include the required sections from the repo
instructions.
- Before amending a commit, verify the existing authorship and commit details.
- Do not push unless the user explicitly asks you to push.
- When pushing commits with git notes, also push `refs/notes/commits`.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.