Skip to content

Exclude prose and self references from skill catalogs - #86

Open
ligon wants to merge 4 commits into
mainfrom
fix/65-catalog-delivery
Open

ligon wants to merge 4 commits into
mainfrom
fix/65-catalog-delivery

Conversation

@ligon

@ligon ligon commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Skill catalogs could list their own SKILLS.md file as a skill when prose bullets or a prose file: mention fell through path normalization (issue 65). Deliver the existing local c9dafdb correction: skip nonexistent bare candidates and references resolving to the catalog itself, while retaining explicit links and nested skill entries.

Independent review found that the original candidate check dropped bare nested/SKILL.md entries when nested/SKILL.org existed. A separate compatibility correction uses the same stem-plus-extension matching as the existing normalizer, with three parameterized regressions. Shared normalizers and consuming-host validation policy are unchanged; issue 57 remains separate.

Validation:

  • Original new regression: fails on unchanged main, passes with the delivered correction; all three original catalog tests and 263 mirror tests passed.
  • Compatibility counterfactual at the original patch: both cross-extension cases fail; extensionless control passes. After correction: all three pass and the complete mirror module has 266 passed.
  • Import receipts confirm the intended worktree. Independent source re-review confirms the compatibility finding resolved with no additional concrete issue in that correction.

The skill-catalog ledger records invariants, commands and retained evidence. GitNexus impact/change detection were attempted but its native library cannot load libssl.so.3; direct caller/diff review limits production scope to _parse_skill_catalog. No new configuration, deployment or native-worker run. Issue 65 remains open pending integration; this PR is ready for review.

ligon and others added 4 commits October 30, 2026 09:58
_parse_skill_catalog took the first word of every "- " line as a path,
and both path normalizers fall back to a sibling SKILL/SKILLS file
when a path names nothing.  In a catalog's own directory that fallback
is the catalog itself, so prose bullets ("- LSMS_Library: lives in
...") and a prose mention of "`file:`" each rendered as a bogus
"SKILLS" skill in every agent prelude, and a bare bullet naming a
missing file was listed as if it were a skill.

A bare "- word" bullet is now an entry only when the word names
something on disk (as given, or with .org/.md).  Any reference that
normalizes to the catalog itself is skipped with one warning per
path, so a typo'd file: link still surfaces in the log.  Explicit
file: links and the shared normalizers are otherwise unchanged.

Rendered against the sucoder-skills catalog as it stood before its
own prose fix, the prelude now lists exactly its 38 skills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Match bare candidate checks to the existing normalizer stem fallback so .md and .org references keep resolving to the alternate existing extension. Cover both directions and the nested extensionless control.

Co-Authored-By: Codex <noreply@openai.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant