shep-kit-merged

star 210

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

shep-ai By shep-ai schedule Updated 4/1/2026

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

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
Install via CLI
npx skills add https://github.com/shep-ai/shep --skill shep-kit-merged
Repository Details
star Stars 210
call_split Forks 41
navigation Branch main
article Path SKILL.md
More from Creator