← ClaudeAtlas

workflow-engineer-fix-prlisted

Fix merge-blocking issues on one open draft slice PR. Determine the scope (conflict, CI, or both) from live PR state, read every PR-issue comment newer than the slice branch's last commit, set up the slice worktree, merge main first to resolve conflicts, drive RED→GREEN for CI failures, commit with `Refs #<pr-#>` + `Refs #<slice-#>` trailers, push, remove `status:fix-in-progress`. Activate when dispatched with `Fix PR #<pr-#>` or '/workflow-engineer-fix-pr'.
MartinKChen/harness-claude-code · ★ 0 · AI & Automation · score 72
Install: claude install-skill MartinKChen/harness-claude-code
# workflow-engineer-fix-pr Address `{conflict, ci}` blockers on a single open draft slice PR dispatched by the `/implement-feature` command's fix-pr stage. The dispatcher has added `status:fix-in-progress` as its lock; this skill determines the specific scope from the live PR state, fixes it, pushes, and removes the lock. When a CI failure is confirmed to require modifying an E2E spec rather than production code, STOP and flip the PR to `status:need-attention` — the user owns spec rewrites. ## When to activate Activate this skill whenever: - The dispatch prompt opens with `Fix PR #<pr-#>` and the PR carries `status:fix-in-progress`. - The user types `/workflow-engineer-fix-pr`, or phrases like "fix the failing CI on PR #<n>", "resolve the merge conflict on this PR". Do NOT activate to merge a clean PR (the `/implement-feature` command's close-pr stage handles that), to review code (reviewer's lane), or to fix slice-level reviewer findings (use `workflow-engineer-fix-slice`). ## Workflow ### 1. Determine the fix scope from live PR state Pull the PR's mergeability, check status, head ref, and last-commit timestamp. The fix scope is the non-empty subset of `{conflict, ci}`: - `mergeable == "CONFLICTING"` → `conflict`. - `checks == "FAILED"` → `ci`. - Both → both, with `conflict` addressed first (merging main may also fix CI by pulling in the canonical fix). If neither is present, the PR has gone clean since dispatch — remove the `status:fix-in-progress` label and exit