Skip to content

fix(skill-management): PR-open hook matcher never matched MCP create_pull_request tools #2345

fix(skill-management): PR-open hook matcher never matched MCP create_pull_request tools

fix(skill-management): PR-open hook matcher never matched MCP create_pull_request tools #2345

name: "Check PR Title"
on:
# zizmor: ignore[dangerous-triggers] -- title validation only, no PR code checkout
pull_request_target:
types:
- opened
- edited
- synchronize
workflow_run:
workflows: ["Claude: Generate PR Title & Description"]
types: [completed]
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
check-pr-title:
if: ${{ github.event_name == 'pull_request_target' || github.event.workflow_run.conclusion == 'success' }}
name: 🔡 Check PR Title
runs-on: ubuntu-latest
steps:
- uses: bullfrogsec/bullfrog@1831f79cce8ad602eef14d2163873f27081ebfb3
with:
# List of IPs to allow outbound connections to.
# By default, only localhost and IPs required for the essential operations of Github Actions are allowed.
#allowed-ips:
# List of domains to allow outbound connections to.
# Wildcards are accepted. For example, if allowing `*.google.com`, this will allow `www.google.com`, `console.cloud.google.com` but not `google.com`.
# By default, only domains required for essential operations of Github Actions and uploading job summaries are allowed.
# Refer to https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#communication-requirements-for-github-hosted-runners-and-github for additional domains that should be allowed for additional Github Actions features.
#allowed-domains:
# The egress policy to enforce. Valid values are `audit` and `block`.
# Default: audit
egress-policy: block
- name: Checkout repository (for composite action)
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
sparse-checkout-cone-mode: false
- name: Check for automated PR
id: check-automated
uses: ./.github/actions/check-automated-pr
with:
branch_name: ${{ github.head_ref }}
pr_title: ${{ github.event.pull_request.title }}
- name: Conditional semantic PR check
if: ${{ steps.check-automated.outputs.is_automated != 'true' }}
uses: amannn/action-semantic-pull-request@536f681e2c60d973396eb60457d42ced8cd3f61a
with:
requireScope: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Pass check for automated PRs
if: ${{ steps.check-automated.outputs.is_automated == 'true' }}
env:
SKIP_REASON: ${{ steps.check-automated.outputs.skip_reason }}
run: |
echo "Automated PR detected: $SKIP_REASON. This check is automatically passed."