merged-pr-not-deployed-gate-label-missing

Diagnose merged PRs that never deployed because a label or path gate skipped the workflow.

3|Updated May 8, 2026
One-click install
npx skills add https://github.com/wan-huiyan/agent-traffic-control --skill merged-pr-not-deployed-gate-label-missing-wan-huiyan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: merged-pr-not-deployed-gate-label-missing
Source: https://github.com/wan-huiyan/agent-traffic-control/tree/main/plugins/agent-traffic-control/skills/merged-pr-not-deployed-gate-label-missing
Command: npx skills add https://github.com/wan-huiyan/agent-traffic-control --skill merged-pr-not-deployed-gate-label-missing-wan-huiyan

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? A PR is squash-merged into main with all CI checks green, yet the change never appears in production. The hidden cause is that the deploy workflow's if: gate (a required label like auto-deploy, or a path filter) silently skipped the run — and GitHub Actions renders conclusion=skipped with the same green checkmark as success, so nothing on the PR page reveals the deploy never happened. ## Core Features & Use Cases - Three-step diagnosis: Confirm the deploy run was skipped via gh run list, read the workflow's on:/if: gate to identify the label or path filter, and compare against a sibling PR that deployed successfully. - Recovery paths: Run the manual deploy script with a git-state preflight (including a verified detached-HEAD + CI=1 variant for worktrees and Cloud Run Job bakers), re-fire via workflow_dispatch if available, or add the label post-merge for audit trail. - Prevention layers: PR template checklists, subagent briefing text, required-status-check enforcement, and an actions/labeler@v6 auto-labeling workflow — plus the inverse trap where the labeler over-labels config/docs-only PRs and triggers unwanted redeploys. - Use Case: You merge a dashboard code PR, CI is green, but the live service is unchanged an hour later. The skill walks you through confirming the deploy workflow skipped for missing the auto-deploy label, then safely deploying the exact merge commit from a detached HEAD. ## Quick Start Ask the agent to diagnose why your merged PR with green CI is not live in production and to check whether the deploy workflow was skipped by a missing label gate.

Frequently Asked Questions about merged-pr-not-deployed-gate-label-missing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is my merged PR not deployed even though CI is green?▼

The deploy workflow likely never ran because the PR didn't satisfy its gate, such as a required auto-deploy label or a path filter. GitHub Actions shows conclusion=skipped with the same green checkmark as success, so check gh run list for the deploy workflow on your branch.

How do I check if a GitHub Actions workflow was skipped?▼

Run gh run list --workflow=<deploy-workflow>.yml --branch <your-branch> --json status,conclusion and look for conclusion=skipped on your merge's row. Skipped means the workflow registered the event but its if: condition or path filter excluded your PR.

Can I re-trigger a pull_request closed workflow after merge?▼

No, GitHub Actions does not re-fire the pull_request closed event when you add a label after merge. Your options are running the manual deploy script, using workflow_dispatch if the workflow defines it, or adding the label only for audit purposes.

How do I auto-apply a deploy label to PRs with actions/labeler?▼

Create a .github/labeler.yml mapping the label to changed-files globs matching your deployable paths, then add a workflow running actions/labeler@v6 on pull_request opened, synchronize, and reopened events. Set sync-labels: false so human-added labels are never removed.

Why did my docs or config PR get the auto-deploy label?▼

The labeler globs the entire deployable directory tree, which includes files like monitoring YAMLs or READMEs that don't affect the built image. Remove the label with gh pr edit <N> --remove-label auto-deploy before merge, or tighten the workflow's path filter with !-exclusions.

How do I safely run a manual deploy script from a git worktree?▼

Check out the exact merge commit as a detached HEAD, verify HEAD equals origin/main and the tree is clean, then run the deploy script with CI=1. This skips the script's git-state guard and the manual-only scheduler and IAM re-assertion block that can abort mid-deploy.