validate_skills: cross-repo links false-flagged as stale skill refs #100

Closed
opened 2026-05-29 04:32:39 +00:00 by coilysiren · 1 comment
Owner

check_stale_skill_refs in validate_skills.py fires a false positive on legitimate cross-repo skill links.

The check flags a backticked skill name as stale when the same name also appears as a markdown-link target. The intent is to catch a bare-backtick mention that drifts after a within-repo rename. But it does not distinguish a within-repo link from a cross-repo link.

coding-shape-cli/SKILL.md links to kai-career, which lives in agentic-os-kai, via a relative path that escapes the repo. The validator treats that as the intent signal and reports kai-career as a stale skill, blocking every commit to the repo since the self-validate hook landed.

Fix - when collecting markdown-link targets as intent signals, skip targets that resolve outside REPO_ROOT (cross-repo links) and skip non-file targets (URLs, anchors, mailto). Within-repo links still drive the stale-rename check, so the original behavior is preserved.

`check_stale_skill_refs` in `validate_skills.py` fires a false positive on legitimate cross-repo skill links. The check flags a backticked skill name as stale when the same name also appears as a markdown-link target. The intent is to catch a bare-backtick mention that drifts after a within-repo rename. But it does not distinguish a within-repo link from a cross-repo link. `coding-shape-cli/SKILL.md` links to `kai-career`, which lives in `agentic-os-kai`, via a relative path that escapes the repo. The validator treats that as the intent signal and reports `kai-career` as a stale skill, blocking every commit to the repo since the self-validate hook landed. Fix - when collecting markdown-link targets as intent signals, skip targets that resolve outside `REPO_ROOT` (cross-repo links) and skip non-file targets (URLs, anchors, mailto). Within-repo links still drive the stale-rename check, so the original behavior is preserved.
Author
Owner

Resolved in 5279c17 (pushed to main). Auto-close did not fire because this repo's git remote is GitHub-only, so the Closes #100 ref never reached Forgejo. Closing manually.

Resolved in 5279c17 (pushed to main). Auto-close did not fire because this repo's git remote is GitHub-only, so the `Closes #100` ref never reached Forgejo. Closing manually.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#100
No description provided.