Paths that open: the Cursor export
A command wrapper is written to plugins/ork/.cursor-plugin/commands/<skill>.md,
one directory away from the skill whose body it carries. Every way that body has ever spelled a
same-skill reference therefore failed from there, in two different ways, and neither raised an
error. Pick a spelling below and see where it points. Measured on the branch base
7b6f27893 and on cursor-agent 2026.09.02-c22c1a3, 2026-09-08.
1. Pick a reference spelling
Lines carrying this spelling before the fix:
2. What the 36 wrappers carried
Counted by running the rewriter's own matchers over git show 7b6f27893:<file>,
so the before column is the tree this PR branched from, not a recollection. A bare reference is
counted only when the file it names really exists under that skill: prose about this repo's own
scripts/build-plugins.sh is not a defect and is never rewritten.
| Spelling | Before | After | Why it could not resolve |
|---|
3. Cursor's rule router
rules is a first-class key in Cursor's plugin manifest, next to
skills, agents, commands and hooks. Its
loader routes each rule by frontmatter alone. Set the frontmatter and watch the class change.
All 14 exported rules land in agentFetched. Pinning them global would put
every rule in every session's context whether or not it is relevant; manually attached would
mean nobody ever loads them. The description is the whole retrieval surface, so where a source
carries a hand-written impactDescription (9 of the 14) that is what ships.
4. The gate, and proof it bites
A grep for CLAUDE_ returning zero is the wrong gate: 24 lines in the export are
prose about real Claude Code environment variables, and rewriting documentation is not a fix.
The gate keys on the trailing slash that turns a variable into a path, and then checks the
harder direction: every rewritten path is stat'd against the plugin, so a rewriter that
invents targets fails even when the placeholder grep is clean. Each row below was injected
into a wrapper and run.
| Injected into a wrapper | Result | Check that fired |
|---|