Skip to content

fix(registry): never link a Skill whose source is gone - #634

Merged
harlan-zw merged 1 commit into
mainfrom
fix/no-links-to-gone-reference-files
Oct 13, 2026
Merged

harlan-zw merged 1 commit into
mainfrom
fix/no-links-to-gone-reference-files

Conversation

@harlan-zw

Copy link
Copy Markdown
Collaborator

❓ Type of change

  • 📖 Documentation
  • 🐞 Bug fix
  • 👌 Enhancement
  • ✨ New feature
  • 🧹 Chore
  • ⚠️ Breaking change

📚 Description

A Skill whose SKILL.md is gone upstream answers 410. Nuxt SEO's "Broken internal link · 410 Gone" Action flagged 17 skilld pages that linked such a Skill or one of its files. #389 stopped the Skill page from linking them, but three reads still could:

  • A file page, /gh/<owner>/<repo>/<name>/-/<file>, linked a /name mention to any Skill in the repository, gone ones included.
  • Related Skills resolved neighbor names without the source check.
  • The featured sections on /skills listed and counted gone Skills.

The Skill page and the file page now share one read of linkable sibling names, loadLinkableRepoSkillNames. The registry card reads share one predicate, LINKABLE_SKILL_SQL. The CLI name lookup behind /api/skills/resolve still matches gone Skills, because it renders no link. The file render cache key moves to v6, so cached renders with stale links drop out.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

A Skill whose SKILL.md is gone upstream answers 410. #389 kept the Skill
page from linking such a sibling, but the file page render still read
every Skill name in the repository. Related Skills and the featured
sections on /skills read Skill cards without the source check too.

The Skill page and the file page now share one read of linkable sibling
names. The registry card reads share one linkable Skill predicate. The
asset cache key moves to v6 so cached renders drop stale links.
@harlan-zw

Copy link
Copy Markdown
Collaborator Author

Agent note (Harlan Agent Kit). Checked by hand on 2026-10-13, since CI cannot cover it:

  • nuxtseo page issues --source crawl --issue broken-internal-links returned 17 rows. Their crawl observations end on 2026-10-04, before fix(seo): stop linking to removed Skill sources #389 shipped.
  • Live HTML of all 17 source pages held 130 internal anchors. Every anchor returned 200. Two source pages are now 410 tombstones themselves.
  • The 39 Skill links on /skills all returned 200, so the featured gap had no live instance on that date.
  • The new tests failed before the fix: the file render linked /gh/owner/repo/removed, related lookups returned removed, and the featured section counted 2 Skills.

@harlan-zw harlan-zw added the harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. label Oct 13, 2026
@harlan-github-agent harlan-github-agent Bot added harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. harlan-agent-running An Agent holds a Task on this issue or pull request right now. and removed harlan-agent-review Pull request triage requires an adversarial Review. Adding this label manually always forces one. labels Oct 13, 2026
@harlan-github-agent

harlan-github-agent Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🤖 MERGED

Harlan Agent Kit posted this automated review. It is not Harlan's personal review or approval. AI open source policy. Last updated: 2026-10-13 02:32 UTC.

GitHub merged this pull request.

No material findings were recorded.

The pull request closed.

@harlan-github-agent harlan-github-agent Bot removed harlan-agent-running An Agent holds a Task on this issue or pull request right now. harlan-agent-review-required Pull request triage requires an adversarial Review for this head commit. labels Oct 13, 2026
@harlan-zw
harlan-zw merged commit 2096ba8 into main Oct 13, 2026
8 checks passed
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