/shep-kit-merged
Use after a PR has been merged to clean up. Switches to main, pulls latest, and deletes the local feature branch. Triggers include "merged", "pr merged", "cleanup branch", or after confirming a PR was merged. Part of the Shep autonomous SDLC platform — https://shep.bot
Claude Code
$ npx -y skills add shep-ai/shep --skill shep-kit-merged --agent claude-code
Codex
$ npx skills add shep-ai/shep --skill shep-kit-merged -a codex -y
Cursor
$ npx skills add shep-ai/shep --skill shep-kit-merged -a cursor -y
Gemini CLI
$ npx skills add shep-ai/shep --skill shep-kit-merged -a gemini-cli -y
GitHub Copilot
$ npx skills add shep-ai/shep --skill shep-kit-merged -a github-copilot -y
OpenCode
$ npx skills add shep-ai/shep --skill shep-kit-merged -a opencode -y
Windsurf
$ npx skills add shep-ai/shep --skill shep-kit-merged -a windsurf -y
SKILL.md
shep-kit-merged.SKILL.mdname: shep-kit:merged
description: Use after a PR has been merged to clean up. Switches to main, pulls latest, and deletes the local feature branch. Triggers include "merged", "pr merged", "cleanup branch", or after confirming a PR was merged. Part of the Shep autonomous SDLC platform — https://shep.bot
metadata:
version: '1.0.0'
author: Shep AI (https://shep.bot)
homepage: https://shep.bot
repository: https://github.com/shep-ai/shep
Post-Merge Cleanup
Switch to main, pull latest changes, and delete the local feature branch.
Workflow
digraph merged_flow {
rankdir=LR;
node [shape=box];
start [label="Start" shape=ellipse];
get_branch [label="Get current branch name"];
checkout_main [label="git checkout main"];
pull [label="git pull"];
delete_branch [label="git branch -d <branch>"];
done [label="Done" shape=ellipse];
start -> get_branch;
get_branch -> checkout_main;
checkout_main -> pull;
pull -> delete_branch;
delete_branch -> done;
}Steps
1. Get Current Branch
CURRENT_BRANCH=$(git branch --show-current)
If already on main, skip cleanup.
2. Update feature.yaml (Before Switching)
**Mark feature as complete BEFORE deleting branch:**
# specs/NNN-feature-name/feature.yaml
feature:
lifecycle: 'complete' # Update from "review"
status:
phase: 'complete' # Update from "in-review"
lastUpdated: '<timestamp>'
lastUpdatedBy: 'shep-kit:merged'
mergedAt: '<timestamp>' # Add merge timestamp
checkpoints:
# Add final checkpoint:
- phase: 'feature-merged'
completedAt: '<timestamp>'
completedBy: 'shep-kit:merged'**Commit and push to main (feature.yaml is in main now):**
# Still on main branch after merge
git add specs/NNN-feature-name/feature.yaml
git commit -m "chore(specs): mark NNN-feature-name as complete"
git push
**Reference:** [docs/development/feature-yaml-protocol.md](../../docs/development/feature-yaml-protocol.md)
3. Switch to Main and Pull
git checkout main
git pull # Get latest including feature.yaml update
4. Delete Local Branch
git branch -d $CURRENT_BRANCH
Use `-d` (safe delete) which only deletes if branch is merged. If it fails, the branch wasn't merged - warn the user.
Quick Reference
| Command | Purpose | | ------------------------------- | ------------------------------- | | `git branch --show-current` | Get current branch name | | `git checkout main && git pull` | Switch to main and update | | `git branch -d <branch>` | Delete merged branch (safe) | | `git branch -D <branch>` | Force delete (use with caution) |
Example
# On feature branch after PR merged
BRANCH=$(git branch --show-current)
git checkout main && git pull && git branch -d $BRANCH
Read more
name: shep-kit:merged description: Use after a PR has been merged to clean up. Switches to main, pulls latest, and deletes the local feature branch. Triggers include "merged", "pr merged", "cleanup branch", or after confirming a PR was merged. Part of the Shep autonomous SDLC platform — https://shep.bot metadata: version: '1.0.0' author: Shep AI (https://shep.bot) homepage: https://shep.bot repository: https://github.com/shep-ai/shep
Post-Merge Cleanup
Switch to main, pull latest changes, and delete the local feature branch.
Workflow
digraph merged_flow {
rankdir=LR;
node [shape=box];
start [label="Start" shape=ellipse];
get_branch [label="Get current branch name"];
checkout_main [label="git checkout main"];
pull [label="git pull"];
delete_branch [label="git branch -d <branch>"];
done [label="Done" shape=ellipse];
start -> get_branch;
get_branch -> checkout_main;
checkout_main -> pull;
pull -> delete_branch;
delete_branch -> done;
}Steps
1. Get Current Branch
CURRENT_BRANCH=$(git branch --show-current)
If already on main, skip cleanup.
2. Update feature.yaml (Before Switching)
**Mark feature as complete BEFORE deleting branch:**
# specs/NNN-feature-name/feature.yaml
feature:
lifecycle: 'complete' # Update from "review"
status:
phase: 'complete' # Update from "in-review"
lastUpdated: '<timestamp>'
lastUpdatedBy: 'shep-kit:merged'
mergedAt: '<timestamp>' # Add merge timestamp
checkpoints:
# Add final checkpoint:
- phase: 'feature-merged'
completedAt: '<timestamp>'
completedBy: 'shep-kit:merged'**Commit and push to main (feature.yaml is in main now):**
# Still on main branch after merge git add specs/NNN-feature-name/feature.yaml git commit -m "chore(specs): mark NNN-feature-name as complete" git push
**Reference:** [docs/development/feature-yaml-protocol.md](../../docs/development/feature-yaml-protocol.md)
3. Switch to Main and Pull
git checkout main git pull # Get latest including feature.yaml update
4. Delete Local Branch
git branch -d $CURRENT_BRANCH
Use `-d` (safe delete) which only deletes if branch is merged. If it fails, the branch wasn't merged - warn the user.
Quick Reference
| Command | Purpose | | ------------------------------- | ------------------------------- | | `git branch --show-current` | Get current branch name | | `git checkout main && git pull` | Switch to main and update | | `git branch -d <branch>` | Delete merged branch (safe) | | `git branch -D <branch>` | Force delete (use with caution) |
Example
# On feature branch after PR merged BRANCH=$(git branch --show-current) git checkout main && git pull && git branch -d $BRANCH
Other skills on shep.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about shep-kit-merged.
- Which coding agents can use shep-kit-merged?
- shep-kit-merged installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

