SKILL·63DEAA

commit-changes

pjt222
Updated 1 month ago
9 views
21
3
21
View on GitHub
Documentationgeneral

About

This Claude Skill handles Git staging, committing, and amending with support for conventional commit messages. It enables selective staging, commit message review via HEREDOC, and verification of history before finalizing. Use it to save logical units of work, amend the previous commit, or ensure staged changes are correct.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/commit-changes

Copy and paste this command in Claude Code to install this skill

Documentation

Commit Changes

Stage selective → clear msg → verify history.

Use When

  • Save logical unit → version control
  • Write conventional msg
  • Amend last commit (msg or content)
  • Review before commit

In

  • Required: Changed files
  • Optional: Commit msg (drafted if none)
  • Optional: Amend prev?
  • Optional: Co-author

Do

Step 1: Review

Check tree + diffs:

# See which files are modified, staged, or untracked
git status

# See unstaged changes
git diff

# See staged changes
git diff --staged

→ Clear view all modified, staged, untracked.

If err: git status fails → verify inside repo (git rev-parse --is-inside-work-tree).

Step 2: Stage Selective

Stage specific files, not git add . or -A → avoids secrets + unrelated changes:

# Stage specific files by name
git add src/feature.R tests/test-feature.R

# Stage all changes in a specific directory
git add src/

# Stage parts of a file interactively (not supported in non-interactive contexts)
# git add -p filename

Review staged before commit:

git diff --staged

→ Only intended files. No .env, creds, big binaries.

If err: accidental stage → git reset HEAD <file>. Secret staged → unstage immediately before commit.

Step 3: Write Msg

Conventional format. Always HEREDOC → proper formatting:

git commit -m "$(cat <<'EOF'
feat: add weighted mean calculation

Implements weighted_mean() with support for NA handling and
zero-weight filtering. Includes input validation for mismatched
vector lengths.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
EOF
)"

Conventional types:

TypeWhen
featNew feature
fixBug fix
docsDocs only
testAdd/update tests
refactorNo behavior change
choreBuild, CI, deps
styleFormatting, whitespace

→ Commit created w/ msg explaining why, not what.

If err: pre-commit hook fails → fix, re-stage, create new commit (no --amend → failed commit never existed).

Step 4: Amend Last (Optional)

Amend only if not pushed:

# Amend message only
git commit --amend -m "$(cat <<'EOF'
fix: correct weighted mean edge case for empty vectors

EOF
)"

# Amend with additional staged changes
git add forgotten-file.R
git commit --amend --no-edit

→ Prev commit updated in-place. git log -1 shows amended.

If err: already pushed → no amend. New commit instead. Force-push → history divergence.

Step 5: Verify

# View the last commit
git log -1 --stat

# View recent commit history
git log --oneline -5

# Verify the commit content
git show HEAD

→ Commit in history w/ correct msg, author, files.

If err: wrong files → git reset --soft HEAD~1 (undo, keep staged), re-commit.

Check

  • Only intended files committed
  • No secrets (tokens, passwords, .env)
  • Msg conventional
  • Body explains why
  • git log shows correct metadata
  • Pre-commit hooks passed

Traps

  • Too much at once: One commit = one logical change. Split unrelated.
  • git add . blind: Always git status first. Stage by name.
  • Amend pushed: Never amend pushed commits → rewrites history, breaks collaborators.
  • Vague msgs: "fix bug" tells nothing. Say what + why.
  • Forget --no-edit: Content amend → use --no-edit → keeps msg.
  • Hook fail → --amend: Hook fail = no commit. --amend hits prev commit. Always new commit after hook fix.

  • manage-git-branches — branch workflow before commit
  • create-pull-request — next step after commit
  • resolve-git-conflicts — merge/rebase conflicts
  • configure-git-repository — repo setup + conventions

GitHub Repository

pjt222/agent-almanac
Path: i18n/caveman-ultra/skills/commit-changes
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams
FAQ

Frequently asked questions

What is the commit-changes skill?

commit-changes is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform commit-changes-related tasks without extra prompting.

How do I install commit-changes?

Use the install commands on this page: add commit-changes to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does commit-changes belong to?

commit-changes is in the Documentation category, tagged general.

Is commit-changes free to use?

Yes. commit-changes is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.

Related Skills

railway-docs
Documentation

This skill fetches current Railway documentation to answer questions about features, functionality, or specific docs URLs. It ensures developers receive accurate, up-to-date information directly from Railway's official sources. Use it when users ask how Railway works or reference Railway documentation.

View skill
n8n-code-python
Documentation

This Claude Skill provides expert guidance for writing Python code in n8n's Code nodes, specifically for using Python's standard library and working with n8n's special syntax like `_input`, `_json`, and `_node`. It helps developers understand Python's limitations within n8n and recommends using JavaScript for most workflows while offering Python solutions for specific data transformation needs.

View skill
archon
Documentation

The Archon skill provides RAG-powered semantic search and project management through a REST API. Use it for querying documentation, managing hierarchical projects/tasks, and performing knowledge retrieval with document upload capabilities. Always prioritize Archon first when searching external documentation before using other sources.

View skill
n8n-code-javascript
Documentation

This Claude Skill provides expert guidance for writing JavaScript code in n8n's Code nodes. It covers essential n8n-specific syntax like `$input`/`$json` variables, HTTP helpers, and DateTime handling, while troubleshooting common errors. Use it when developing n8n workflows that require custom JavaScript processing in Code nodes.

View skill