workflow-preflight

Pre-work validation to prevent wasted effort from stale state, redundant work, or branch conflicts.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "workflow-preflight" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

git-commit-workflow

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

git-branch-pr-workflow

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

workflow-checkpoint-refactor

No summary provided by upstream source.

Repository SourceNeeds Review