From 4f869e43e60d6c655b60c1d3f2db3f031be6fe00 Mon Sep 17 00:00:00 2001 From: Anton Babenko Date: Sun, 14 Jun 2026 20:53:11 +0200 Subject: [PATCH] ci: run Validate Skill Files on every PR (no path filter) The pull_request trigger had a paths filter, but Validate Skill Files is a required status check on master. A PR touching no filtered path (e.g. README-only, like #47) never reported the check and stayed blocked forever. Drop the pull_request paths filter so the check runs on every PR, matching pr-title-lint.yml. Validation reads files that always exist, so docs-only PRs pass. The push trigger keeps its paths filter (release-bot interaction). --- .github/workflows/validate.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index ceab4e5..352ca2a 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -1,15 +1,14 @@ name: Validate Skill on: + # No `paths:` filter on pull_request: `Validate Skill Files` is a required + # status check on master (ruleset), so it MUST run on EVERY PR - otherwise a + # PR that touches no filtered path (e.g. README-only) never reports the check + # and stays blocked forever. Same rule as pr-title-lint.yml. Validation steps + # read files that always exist (SKILL.md, POWER.md, .codex-plugin, mcp.json), + # so docs-only PRs pass cleanly. The push trigger keeps its paths filter (see + # release-bot interaction) - do not add one back here. pull_request: - paths: - - 'skills/**' - - '.claude-plugin/**' - - '.codex-plugin/**' - - 'POWER.md' - - 'mcp.json' - - '.github/workflows/**' - - '.github/release/**' push: branches: [master, main] paths: