mcpField
C
commit

commit

github.com/odysseus0Development82522 installsUpdated 2w ago
Repository

About commit

commit is a repository skill for creating a Git commit that matches the staged changes and session intent. It guides change review, conventional message structure, validation notes, and a Codex co-author trailer.

Key features

  1. 01Review working tree and staged diff
  2. 02Stage intended changes and inspect new files
  3. 03Write a conventional, concise subject
  4. 04Include summary, rationale, and validation
  5. 05Add Codex co-author trailer

Use cases

  1. 01Commit a completed code change
  2. 02Check staged files for unrelated artifacts
  3. 03Record rationale and test status in a commit

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/odysseus0/symphony --skill commit

After installing, type/commitin Claude Code to confirm it loaded.

Details

From the project README

Commit

Goals

  • Produce a commit that reflects the actual code changes and the session context.
  • Follow common git conventions (type prefix, short subject, wrapped body).
  • Include both summary and rationale in the body.

Inputs

  • Codex session history for intent and rationale.
  • git status, git diff, and git diff --staged for actual changes.
  • Repo-specific commit conventions if documented.

Steps

  1. Read session history to identify scope, intent, and rationale.
  2. Inspect the working tree and staged changes (git status, git diff, git diff --staged).
  3. Stage intended changes, including new files (git add -A) after confirming scope.
  4. Sanity-check newly added files; if anything looks random or likely ignored (build artifacts, logs, temp files), flag it to the user before committing.
  5. If staging is incomplete or includes unrelated files, fix the index or ask for confirmation.
  6. Choose a conventional type and optional scope that match the change (e.g., feat(scope): ..., fix(scope): ..., refactor(scope): ...).
  7. Write a subject line in imperative mood, <= 72 characters, no trailing period.
  8. Write a body that includes:
    • Summary of key changes (what changed).
    • Rationale and trade-offs (why it changed).
    • Tests or validation run (or explicit note if not run).
  9. Append a Co-authored-by trailer for Codex using Codex <[email protected]> unless the user explicitly requests a different identity.
  10. Wrap body lines at 72 characters.
  11. Create the commit message with a here-doc or temp file and use git commit -F <file> so newlines are literal (avoid -m with \n).
  12. Commit only when the message matches the staged changes: if the staged diff includes unrelated files or the message describes work that isn't staged, fix the index or revise the message before committing.

Output

  • A single commit created with git commit whose message reflects the session.

Template

Type and scope are examples only; adjust to fit the repo and changes.

<type>(<scope>): <short summary>

Summary:
- <what changed>
- <what changed>

Rationale:
- <why>
- <why>

Tests:
- <command or "not run (reason)">

Co-authored-by: Codex <[email protected]>

Comments

Markdown supported