From e44ee43b9412c59c36d7448c97c4672b4891f0d5 Mon Sep 17 00:00:00 2001 From: jiangnan <1394485448@qq.com> Date: Tue, 24 Mar 2026 07:57:17 +0800 Subject: [PATCH] fix: CI should validate SKILL.md instead of arbitrary .md files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The validation step used `find ... -name '*.md' | head -1` to pick the first .md file in each skill directory. On Linux (GitHub Actions), `find` returns files in inode order — not alphabetical — so auxiliary files like CREATION-LOG.md or code-quality-reviewer-prompt.md could be picked instead of SKILL.md. These auxiliary files have no frontmatter, causing 4 false-positive validation errors on every CI run. Fix: directly target SKILL.md (the canonical skill definition file) and error if it's missing rather than silently skipping. --- .github/workflows/ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e0d7e7..3b45a4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,9 +23,10 @@ jobs: run: | ERRORS=0 for dir in skills/*/; do - SKILL_FILE=$(find "$dir" -maxdepth 1 -name '*.md' | head -1) - if [ -z "$SKILL_FILE" ]; then - echo "::warning::No .md file in $dir" + SKILL_FILE="${dir}SKILL.md" + if [ ! -f "$SKILL_FILE" ]; then + echo "::error::Missing SKILL.md in $dir" + ERRORS=$((ERRORS + 1)) continue fi