agentleFS
DailybotHQDailybotHQ/deepworkplan-website/.agents/skills/git-commit-push/SKILL.md

git-commit-push

Skill15 starsChanged 5 months agoMITView on GitHub

Commit all staged/unstaged changes and push to remote. Use proactively for committing and pushing changes.

  • Commits and pushes

9 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 11 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Commit all current changes with a well-crafted conventional commit message and push to the remote repository.

    line 19
  2. Distinctive:

    Does NOT create new branches

    line 23
  3. Distinctive:

    Does NOT resolve merge conflicts

    line 24
  4. Distinctive:

    Does NOT force push

    line 25
  5. Distinctive:

    Does NOT amend previous commits (unless explicitly requested)

    line 26
  6. Distinctive:

    Does NOT push to protected branches (main/master) without confirmation

    line 27
  7. Distinctive:

    Before running this skill, ensure:

    line 48
  8. Distinctive:

    If working tree is clean, report "Nothing to commit" and stop.

    line 64
  9. Distinctive:

    Follow the repository's existing commit message conventions.

    line 88
  10. Distinctive:

    If upstream not set:

    line 127
  11. Distinctive:

    Commit message is ambiguous (multiple unrelated changes)

    line 221

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: Git Commit & Push

Objective

Commit all current changes with a well-crafted conventional commit message and push to the remote repository.

Non-Goals

  • Does NOT create new branches
  • Does NOT resolve merge conflicts
  • Does NOT force push
  • Does NOT amend previous commits (unless explicitly requested)
  • Does NOT push to protected branches (main/master) without confirmation

Tier Classification

Tier: 1 - Light/Cheap

Reasoning: This is a mechanical, low-risk task that follows established patterns (conventional commits). The AI analyzes changes and generates an appropriate commit message.

Inputs

Required Parameters

  • None - the skill analyzes the current git state

Optional Parameters

  • $MESSAGE: Custom commit message (default: auto-generated from changes)
  • $SCOPE: Commit scope override (default: inferred from files)

Prerequisites

Before running this skill, ensure:

  • You are in a git repository
  • There are changes to commit (staged or unstaged)
  • No merge conflicts exist

Steps

Step 1: Check Git Status

Review current repository state:

git status

If working tree is clean, report "Nothing to commit" and stop.

Step 2: Review Changes

Analyze what changed:

git diff --stat
git diff HEAD

Identify:

  • Which files changed
  • Type of changes (new features, fixes, docs, refactor, etc.)
  • Scope/area affected

Step 3: Check Recent Commits

Review commit message style:

git log --oneline -5

Follow the repository's existing commit message conventions.

Step 4: Stage Changes

Add all changes:

git add -A

Step 5: Create Commit

Generate a conventional commit message based on changes:

git commit -m "$(cat <<'EOF'
<type>(<scope>): <description>

<body if needed>
EOF
)"

Commit Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation only
  • refactor: Code change that neither fixes a bug nor adds a feature
  • test: Adding or updating tests
  • chore: Maintenance tasks

Step 6: Push to Remote

Push to the current branch:

git push

If upstream not set:

git push -u origin HEAD

Step 7: Confirm Success

Verify the push:

git status
git log --oneline -1

Output Format

Success Output

## ✅ Committed and Pushed

### Commit
`<commit-hash>` <commit-message>

### Branch
<branch-name> → origin/<branch-name>

### Changes
- <N> files changed
- <N> insertions(+), <N> deletions(-)

### Files
- <file1>
- <file2>
...

Nothing to Commit Output

## ℹ️ Nothing to Commit

Working tree is clean. No changes to commit.

Error Output

## ❌ Commit Failed

### Error
<error message>

### Suggestion
<how to resolve>

Guardrails

Scope Limits

  • Maximum files: Unlimited (commits whatever is changed)
  • Allowed: Any tracked files
  • Forbidden: Force push, push to main/master without confirmation

Safety Checks

  • Not pushing to protected branch without confirmation
  • No merge conflicts present
  • Commit message follows conventional format

Stop Conditions

Stop immediately if:

  • Merge conflicts exist
  • Push to main/master requested (ask for confirmation)
  • Authentication fails
  • Remote is ahead (pull needed first)

Definition of Done

  • All changes are committed
  • Commit message follows conventional format
  • Changes are pushed to remote
  • Git status shows clean working tree

Escalation Conditions

Ask user if:

  • Pushing to main/master branch
  • Remote has changes not in local (need to pull first)
  • Commit message is ambiguous (multiple unrelated changes)

Examples

Example 1: Component Update

Context: User updated the methodology reader navigation

Execution:

git add -A
git commit -m "fix(methodology): keep active section in sync while scrolling"
git push

Output:

## ✅ Committed and Pushed

### Commit
`a1b2c3d` fix(methodology): keep active section in sync while scrolling

### Branch
fix/methodology-nav → origin/fix/methodology-nav

### Changes
- 2 files changed
- 15 insertions(+), 3 deletions(-)

Example 2: New Feature

Context: User added dark mode support to a component

Execution:

git add -A
git commit -m "feat(theme): add dark mode to footer component

- Add dark mode Tailwind classes
- Update color scheme
- Test with theme toggle"
git push

Output:

## ✅ Committed and Pushed

### Commit
`d4e5f6g` feat(theme): add dark mode to footer component

### Branch
feature/dark-mode-footer → origin/feature/dark-mode-footer

### Changes
- 3 files changed
- 45 insertions(+), 12 deletions(-)

Example 3: Nothing to Commit

Context: User says "commit and push" but no changes exist

Output:

## ℹ️ Nothing to Commit

Working tree is clean. No changes to commit.

Related Skills/Agents

  • quick-fix - Often used before this skill
  • pr-review-lite - Review before committing

Changelog

VersionDateChanges
1.0.02024-01Initial version

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.