Back to Skills

commit-changes

pjt222
Updated 2 days ago
4 views
17
2
17
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

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