agentleFS
Dqz00116Dqz00116/skill-lib/git-workflow/SKILL.md

git-workflow

Skill22 starsChanged 7 months agoMITView on GitHub

Use when committing code, pushing changes, or managing Git operations that require safety checks

  • Deletes or force-pushes
  • Commits and pushes

188 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use squad-commands, ci-cd-pipelines and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Microsoft AzureSkill

    squad-commands

    Categorized catalog of common Squad operations. Coordinator reads this file and presents it as an interactive menu when the user asks for available commands or help.

    Also in 5 projects that use this

  • harrissohail6Skill

    ci-cd-pipelines

    CI/CD pipeline design and implementation. Auto-activates when discussing deployment, automation, or pipelines.

    Also in 6 projects that use this

  • Microsoft AzureSkill

    architectural-proposals

    How to write comprehensive architectural proposals that drive alignment before code is written

    Also in 4 projects that use this

  • GitHubSkill

    e2e-template-testing

    End-to-end validation of coordinator and agent template changes

    Also in 3 projects that use this

  • GitHubSkill

    notification-routing

    Route agent notifications to specific channels by type — prevent alert fatigue from single-channel flooding

    Also in 3 projects that use this

  • frostneySkill

    native-nostalgia-stack

    Applies the user's FreePascal toolchain and its build, formatting, hook, and test contracts while leaving project-specific mechanics local. Use when scaffolding or working in a FreePascal project that follows this toolchain.

    Also in 3 projects that use this

  • +5 more from Azure
  • +1 more from github

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 165 edited versions we read keep these.

  • 7

    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:

    Only commits after confirmation

    line 26
  2. Distinctive:

    When you need automated/unattended commits without user interaction

    line 36
  3. Distinctive:

    When performing complex Git operations beyond standard commit/push workflows

    line 37
  4. Distinctive:

    When a different skill or tool is explicitly designated for Git operations

    line 38
  5. Distinctive:

    Commit and push if approved

    line 51
  6. Distinctive:

    Check before committing: Always review changes

    line 215
  7. Distinctive:

    Don't commit secrets: Check for API keys, passwords

    line 218

“Common” is measured: kept by at least 6 in 10 of the 165 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

Git Workflow Skill

Overview

Automate Git operations with safety checks and user confirmation. This skill ensures changes are reviewed and explicitly approved before committing or pushing.

When to Use

  1. Checks Workspace Status
    • Shows modified files
    • Lists untracked files
    • Detects conflicts or merge states
  2. Smart Confirmation Prompt
    • Lists all changes clearly
    • Asks for explicit approval
    • Provides multiple options (commit all, specific files, ignore, skip)
  3. Safe Commit & Push
    • Only commits after confirmation
    • Handles GitHub authentication
    • Reports success or failure
  4. Conflict Detection
    • Detects merge conflicts
    • Suggests resolution steps
    • Prevents force pushes

When NOT to use:

  • When you need automated/unattended commits without user interaction
  • When performing complex Git operations beyond standard commit/push workflows
  • When a different skill or tool is explicitly designated for Git operations

Quick Start

Simple Commit

python scripts/git_commit.py

The script will:

  1. Show git status
  2. Ask for confirmation
  3. Commit and push if approved

Interactive Mode

python scripts/git_commit.py --interactive

Step-by-step confirmation for each file.

Confirmation Format

📋 **Git Status Summary:**
Modified:
  - SOUL.md (41 insertions)
  - README.md (5 deletions)

Untracked:
  - new-feature.md
  - temp.log (should be ignored?)

✅ **Confirm:** 
  Reply:
  - "yes" → commit all modified
  - "commit with untracked" → commit all including untracked
  - "only SOUL.md" → commit specific file
  - "ignore temp.log" → add to .gitignore
  - "skip" → do nothing

Safety Rules

Never

  • ❌ Commit without checking status first
  • ❌ Commit without user confirmation
  • ❌ Force push (git push -f)
  • ❌ Commit binary/temporary files without asking

Always

  • ✅ Check git status before any operation
  • ✅ Show list of changes for approval
  • ✅ Respect .gitignore
  • ✅ Handle errors gracefully
  • ✅ Report what was done

Usage Examples

Example 1: Simple Workflow

$ python scripts/git_commit.py

📊 Git Status:
 M SOUL.md
?? new-file.md

📋 Changes Summary:
Modified: SOUL.md
Untracked: new-file.md

✅ Confirm: Reply "yes" to commit modified, "commit with untracked" for all, or specify files
> yes

📝 Commit message: Update SOUL.md

✅ Committed: a1b2c3d Update SOUL.md
🚀 Pushed to origin/main

Example 2: With Untracked Files

$ python scripts/git_commit.py

📊 Git Status:
 M README.md
?? temp.log
?? important.md

📋 Changes Summary:
Modified: README.md
Untracked: temp.log, important.md

✅ Confirm: What to commit?
> commit with untracked

⚠️  temp.log looks like a temporary file. Add to .gitignore instead?
> yes

📝 Commit message: Update README and add important docs

✅ Committed: b2c3d4e Update README and add important docs
🚀 Pushed to origin/main

Example 3: Skip Everything

$ python scripts/git_commit.py

📊 Git Status:
 M SOUL.md

📋 Changes Summary:
Modified: SOUL.md

✅ Confirm: Reply "yes" to commit
> skip

⏹️  Skipped. No changes committed.

Handling Edge Cases

Merge Conflicts

⚠️  **Merge Conflict Detected!**

Conflicted files:
  - README.md
  - config.yaml

Cannot commit until conflicts are resolved.

Suggested steps:
1. Edit files to resolve conflicts
2. Run: git add <resolved-files>
3. Run this script again

Diverged Branches

⚠️  **Local branch is behind remote**

Run: git pull origin main first?
> yes

Pulling latest changes...
[...]

✅ Now you can commit your changes.

Authentication Issues

❌ **Push Failed: Authentication Error**

Possible causes:
- SSH key not configured
- Token expired
- Wrong remote URL

Suggested fixes:
1. Check: git remote -v
2. Test: ssh -T git@github.com
3. Or use HTTPS with token

Best Practices

  1. Check before committing: Always review changes
  2. Write clear messages: Describe what and why
  3. Commit related changes: One logical change per commit
  4. Don't commit secrets: Check for API keys, passwords
  5. Keep commits small: Easier to review and revert

Troubleshooting

"nothing to commit"

# Check if files are actually modified
git status

# Check if in git repository
git rev-parse --git-dir

"Permission denied"

# Check SSH key
ssh -T git@github.com

# Or use HTTPS
git remote set-url origin https://github.com/username/repo.git

"failed to push"

# Pull first
git pull origin main

# Resolve any conflicts
# Then commit again

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.