Skills commit-push

commit and push all local changes to remote repo

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/anderskev/commit-push" ~/.claude/skills/clawdbot-skills-commit-push && rm -rf "$T"
manifest: skills/anderskev/commit-push/SKILL.md
source content

Commit and Push

Commit all local changes following Conventional Commits format and push to remote.

Step 1: Gather Context

Run these commands in parallel to understand the changes:

# See all untracked and modified files
git status

# See staged and unstaged changes
git diff
git diff --cached

# See recent commit messages for style reference
git log --oneline -10

Step 2: Analyze Changes

Review the changes and determine:

  • Type: What kind of change is this?

    • feat
      - New feature or capability
    • fix
      - Bug fix
    • docs
      - Documentation only
    • refactor
      - Code restructure without behavior change
    • test
      - Adding or updating tests
    • chore
      - Maintenance, dependency updates
    • perf
      - Performance improvement
    • ci
      - CI/CD changes
  • Scope: Which component is affected?

    • Examine the changed files and determine the appropriate scope
    • Use consistent scope names within the project (check
      git log
      for patterns)
    • (omit scope for cross-cutting changes)
  • Breaking: Does this break backward compatibility? If yes, add ! after scope.

Step 3: Write Commit Message

Format:

type(scope): description

[optional body explaining why, not what]

[optional footer with issue references]

Rules:

  • Use imperative mood: "add feature" not "added feature"
  • Keep first line under 72 characters
  • Focus on why in the body, the diff shows what
  • Reference issues:
    Closes #123
    or
    Fixes #456

Step 4: Stage, Commit, and Push

# Stage all changes (or selectively stage)
git add -A

# Commit with message (use HEREDOC for multi-line)
git commit -m "$(cat <<'EOF'
type(scope): description

Optional body explaining the motivation.

Closes #123

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

# Push to remote
git push

Examples

# Simple feature
git commit -m "feat(api): add pagination support to list endpoints"

# Bug fix with body
git commit -m "$(cat <<'EOF'
fix(auth): handle token expiration during long requests

The previous implementation did not account for tokens expiring
during the processing of long-running requests.

Fixes #42

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

# Breaking change
git commit -m "$(cat <<'EOF'
feat!(api): change response format for user endpoints

BREAKING CHANGE: The `status` field is now an object with `state` and
`message` properties instead of a plain string.

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

Step 5: Verify

After pushing, run

git status
to confirm the working tree is clean and the branch is up to date with remote.