Git workflow lifecycle
Automate the end-to-end lifecycle of a feature branch, from submission (commit, push, PR) to cleanup (merge check, sync main, delete branch). Use when you have finished work on a branch or when a PR has been merged and you need to clean up.From its SKILL.md
npx -y skills add jjanuszczak/margo --skill git-workflow-lifecycleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- skips confirmationTells the agent to proceed without asking first, 1 time: "You MUST autonomously verify every git workflow task".
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 7 commands, including `python3 .gemini/skills/git-workflow-lifecycle/scripts/submit_work.py --message "feat: description of work"` and 6 more.
SKILL.md
2.5 KB, 557 tokens by cl100k_base, as published. Nobody here has run it
Git Workflow Lifecycle
This skill manages the transition of code from a local development branch to GitHub and the subsequent cleanup once the work is merged.
Workflows
1. Submit Work
Use this when you have finished implementation on a branch and are ready for review.
- Action: Stages all changes, commits with a message, pushes to origin, and creates a GitHub Pull Request.
- Linkage: Automatically adds "Closes #XX" if an issue number is detected in the branch name.
python3 .gemini/skills/git-workflow-lifecycle/scripts/submit_work.py --message "feat: description of work"
2. Cleanup Branch
Use this after your Pull Request has been merged on GitHub.
- Action: Verifies the PR is merged, switches to
main, pulls latest updates, and deletes both local and remote branches.
python3 .gemini/skills/git-workflow-lifecycle/scripts/cleanup_branch.py
Instructions
- Ensure
ghCLI is authenticated. - The
submit_work.pyscript will prompt for a commit message if--messageis omitted. - The
cleanup_branch.pyscript will warn you if the PR is not yet merged before proceeding with deletion.
Scripts
scripts/submit_work.pyscripts/cleanup_branch.py
Self-Evaluation & Correction
You MUST autonomously verify every git workflow task:
1. Verify Submission
Immediately after running submit_work.py:
- Run Evaluation Suite:
python3 .gemini/skills/git-workflow-lifecycle/evals/runner.py submit <branch_name> - Analyze Report: Read results in
.gemini/skills/git-workflow-lifecycle/evals/reports/latest_submit_results.json. - Self-Correction: If the PR is missing or not linked, attempt to fix the PR body using
gh pr edit.
2. Verify Cleanup
Immediately after running cleanup_branch.py:
- Run Evaluation Suite:
python3 .gemini/skills/git-workflow-lifecycle/evals/runner.py cleanup <branch_name> - Analyze Report: Read results in
.gemini/skills/git-workflow-lifecycle/evals/reports/latest_cleanup_results.json. - Self-Correction: If branches remain, manually delete them (
git branch -Dorgit push origin --delete) and ensure you are onmain.
<AVAILABLE_RESOURCES>
- Evaluation Runner:
.gemini/skills/git-workflow-lifecycle/evals/runner.py</AVAILABLE_RESOURCES>
What ships with it: 6 files
10.8 KB alongside SKILL.md, 5 of them executable
evals/
- checks/cleanup_check.pyruns1.8 KB
- checks/pr_check.pyruns1.4 KB
- config.yaml309 B
- runner.pyruns3.2 KB
scripts/
- cleanup_branch.pyruns1.8 KB
- submit_work.pyruns2.4 KB