workflow-preflight

安装量: 46
排名: #16069

安装

npx skills add https://github.com/laurigates/claude-plugins --skill workflow-preflight

/workflow:preflight Pre-work validation to prevent wasted effort from stale state, redundant work, or branch conflicts. When to Use This Skill Use this skill when... Skip when... Starting work on a new issue or feature Quick single-file edit Resuming work after a break Already verified state this session Before spawning parallel agents Working in an isolated worktree Before creating a branch for a PR Branch already created and verified Context Repo: ! git remote get-url origin Current branch: ! git branch --show-current Remote tracking: ! git branch -vv --format='%(refname:short) %(upstream:short) %(upstream:track)' Uncommitted changes: ! git status --porcelain Stash count: ! git stash list Execution Step 1: Fetch Latest Remote State git fetch origin --prune 2

/dev/null Step 2: Check for Existing Work If an issue number was provided, check if it's already addressed:

Check if issue exists and its state

gh issue view $ISSUE --json number,title,state,labels 2

/dev/null

Check for PRs that reference this issue

gh pr list --search "fixes # $ISSUE OR closes # $ISSUE OR resolves # $ISSUE " --json number,title,state,headRefName 2

/dev/null

Check for branches that reference this issue

git
branch
-a
--list
"*issue-
$ISSUE
*"
--list
"*fix/
$ISSUE
*"
--list
"*feat/
$ISSUE
*"
2
>
/dev/null
If a merged PR exists
Report that the issue is already addressed. Stop.
If an open PR exists
Report the PR and ask if the user wants to continue on that branch or start fresh. Step 3: Verify Branch State

Check divergence from main/master

git log --oneline origin/main .. HEAD 2

/dev/null || git log --oneline origin/master .. HEAD 2

/dev/null

Check if main has moved ahead

git log --oneline HEAD .. origin/main -5 2

/dev/null || git log --oneline HEAD .. origin/master -5 2

/dev/null

Check for uncommitted changes

git status --porcelain = v2 --branch 2

/dev/null Report : Commits ahead/behind remote Uncommitted changes that might interfere Whether a rebase is needed Step 4: Check for Conflicts

Dry-run merge to detect conflicts (without actually merging)

git merge-tree $( git merge-base HEAD origin/main ) HEAD origin/main 2

/dev/null | head -20 Step 5: Summary Report Output a structured summary: Check Status Detail Remote state fresh/stale Last fetch time Existing PRs none/open/merged PR numbers if any Branch state clean/dirty/diverged Ahead/behind counts Conflicts none/detected Conflicting files Stash empty/N items Stash contents Recommendations : If behind remote: "Rebase recommended before starting work" If existing PR found: "PR #N already addresses this - review before duplicating" If dirty state: "Commit or stash changes before branching" If conflicts detected: "Resolve conflicts with main before proceeding" If clean: "Ready to proceed" Agentic Optimizations Context Command Quick remote sync git fetch origin --prune 2>/dev/null Check existing PRs gh pr list --search "fixes #N" --json number,state,headRefName Branch divergence git log --oneline origin/main..HEAD Conflict detection git merge-tree $(git merge-base HEAD origin/main) HEAD origin/main Compact status git status --porcelain=v2 --branch Remote tracking git branch -vv --format='%(refname:short) %(upstream:track)' Quick Reference Flag Description git fetch --prune Fetch and remove stale remote refs git status --porcelain=v2 Machine-parseable status gh pr list --search Search PRs by content gh issue view --json Structured issue data git merge-tree Dry-run merge conflict detection git log A..B Commits in B but not A

返回排行榜