fix(ci): check-changed-skills.sh fails a stale branch on skills only main changed
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- bash, git
- Domain
- build-system
Research direction
The bug is in scripts/check-changed-skills.sh: the changed set comes from changed_files::into changed_paths "$BASE" (around line 123) and the per-skill check runs git diff --name-only "$BASE" -- "$skill_dir/SKILL.md" (around line 175). Reproduce by running the script against origin/main on a branch behind main, then resolve BASE with git merge-base "$BASE" HEAD before both calls. Done when a branch behind its base no longer reports skills only main changed, and a new test covers a branch behind its base.
Written by the indexing model from the issue text.
Description
Problem
Run locally as scripts/check-changed-skills.sh origin/main on a branch behind main, the script also checks skills that only main changed and fails on them.
Seen on 2026-10-10 on feat/agent-tool-spawn-effort (#6913), 44 commits behind main. It failed on plugins/harness-config/skills/audit/scripts/fix-plugin-drift.test.sh, which the branch never touched. Against the merge base (e971f640b3) it passed: "6 skill(s) checked, 0 failed."
Cause: the changed set and the per-skill diff are taken against the base ref as given. The changed set comes from changed_files::into changed_paths "$BASE" and the per-skill check from git diff --name-only "$BASE" -- "$skill_dir/SKILL.md" (scripts/check-changed-skills.sh:123, :175). That is a two-dot comparison against the working tree, so it includes main's own changes since the branch point.
Proposed next step
Resolve $BASE to git merge-base "$BASE" HEAD before computing the changed set, so the script checks only what the branch changed. Keep CHECK_SKILL_BASE_REF semantics unchanged unless they have the same problem. Add a test with a branch behind its base.
- Dominant language
- Shell
- Stars
- 22
- Forks
- 2
- Avg merge
- 6h 10m
- Merged PRs (30d)
- 937
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from melodic-software/claude-code-plugins
-
docs(evals): note CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS for headless eval runs that use workflowsOpengood first issue needs-triage priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
melodic-software/claude-code-plugins#7022 · 1 comment ·
Maintainers usually reply within 1 day
-
good first issue needs-triage priority: low
Difficulty 1/5 Under an hour Newbie friendliness 88/100
melodic-software/claude-code-plugins#7019 · 1 comment ·
Maintainers usually reply within 1 day
-
good first issue needs-triage priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
melodic-software/claude-code-plugins#6982 · 1 comment ·
Maintainers usually reply within 1 day
-
fix(knowledge): frame the video title and URL in the video-digest resume prompt as untrusted dataOpenneeds-human needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
melodic-software/claude-code-plugins#6980 · 1 comment ·
Maintainers usually reply within 1 day
-
needs-human needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
melodic-software/claude-code-plugins#6897 · 1 comment ·
Maintainers usually reply within 1 day
All issues in melodic-software/claude-code-plugins
Similar issues
-
ready
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
kubeflow/pipelines#14784 · 1 comment ·
Maintainers usually reply within 2 days
-
implement-spec: step 9 cleanup collides with branch -D guards and with rewritten integration historyOpenneeds-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
mattpocock/skills#1251 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
NuSkooler/enigma-bbs#907 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
community-scripts/ProxmoxVE#17841 · 2 comments ·
Maintainers usually reply within 1 day
-
initramfs: -type f (#18686) skips the libcurl.so.4 symlink, libcurl no longer copied into initramfsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 2 days