The Forgotten Symlink: 'It Works' Isn't 'It's Maintained'
A repo had the right Cursor symlinks all along, but forgot why they mattered - proving working code isn't the same as maintained code.
While adding native Cursor agent and skill support to the ai-assistant-dot-files repo, maintainers discovered that .cursor/agents and .cursor/skills were already symlinked to shared/agents and shared/skills. The symlinks had been committed back on 2026-04-09, but had quietly faded from the system's design awareness.
The repo relies on a single canonical source of truth (shared/) projected across Claude Code, Cursor, Windsurf, GitHub Copilot, Gemini/Antigravity and OpenAI Codex, with platform files either symlinked or generated. Because these symlinks predated the capability tier system, they were never wired into parity checks or the platform registry - a correct structural decision existed, but nothing in the system protected it.
The fix wasn't creating new symlinks; it was making the existing ones visible and enforceable: documenting Cursor's mixed strategy in the architecture docs, updating the platform registry, teaching the install script to recreate the symlinks, extending the parity check so they can't silently vanish, and correcting the README's capability matrix.
The broader lesson is that 'it works' is a weak engineering invariant. A real maintenance contract names the source of truth, documents each projection mechanism, makes platform capability gaps explicit, and fails parity checks when drift occurs. For Cursor, the outcome is now a deliberately mixed strategy - agents and skills are symlinked, rules are still generated as fully inlined files - less elegant, but far more honest.