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.mdsource 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?
- New feature or capabilityfeat
- Bug fixfix
- Documentation onlydocs
- Code restructure without behavior changerefactor
- Adding or updating teststest
- Maintenance, dependency updateschore
- Performance improvementperf
- CI/CD changesci
-
Scope: Which component is affected?
- Examine the changed files and determine the appropriate scope
- Use consistent scope names within the project (check
for patterns)git log - (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:
orCloses #123Fixes #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.